diff --git a/src/components/script/dom/bindings/utils.rs b/src/components/script/dom/bindings/utils.rs index 9674331ce39..ab9d6a52f09 100644 --- a/src/components/script/dom/bindings/utils.rs +++ b/src/components/script/dom/bindings/utils.rs @@ -7,6 +7,7 @@ use dom::bindings::codegen::PrototypeList; use dom::bindings::codegen::PrototypeList::MAX_PROTO_CHAIN_LENGTH; use dom::bindings::conversions::{FromJSValConvertible, IDLInterface}; +use dom::bindings::error::throw_type_error; use dom::bindings::global::{GlobalRef, GlobalField, WindowField, WorkerField}; use dom::bindings::js::{JS, Temporary, Root}; use dom::bindings::trace::Untraceable; @@ -401,8 +402,8 @@ fn CreateInterfacePrototypeObject(cx: *mut JSContext, global: *mut JSObject, /// A throwing constructor, for those interfaces that have neither /// `NoInterfaceObject` nor `Constructor`. -pub extern fn ThrowingConstructor(_cx: *mut JSContext, _argc: c_uint, _vp: *mut JSVal) -> JSBool { - // FIXME(#347) should trigger exception here +pub extern fn ThrowingConstructor(cx: *mut JSContext, _argc: c_uint, _vp: *mut JSVal) -> JSBool { + throw_type_error(cx, "Illegal constructor."); return 0; } diff --git a/src/test/wpt/metadata/XMLHttpRequest/interfaces.html.ini b/src/test/wpt/metadata/XMLHttpRequest/interfaces.html.ini index c7a8088f512..c79bd41c3cd 100644 --- a/src/test/wpt/metadata/XMLHttpRequest/interfaces.html.ini +++ b/src/test/wpt/metadata/XMLHttpRequest/interfaces.html.ini @@ -1,6 +1,18 @@ [interfaces.html] type: testharness expected: TIMEOUT - [XMLHttpRequestUpload interface: existence and properties of interface object] + [XMLHttpRequest interface: operation open(ByteString,DOMString)] + expected: FAIL + + [XMLHttpRequest interface: operation open(ByteString,DOMString,boolean,DOMString,DOMString)] + expected: FAIL + + [XMLHttpRequest interface: operation send([object Object\],[object Object\],[object Object\],[object Object\],[object Object\],[object Object\])] + expected: FAIL + + [XMLHttpRequest interface: operation overrideMimeType(DOMString)] + expected: FAIL + + [XMLHttpRequest interface: calling open(ByteString,DOMString) on new XMLHttpRequest() with too few arguments must throw TypeError] expected: TIMEOUT diff --git a/src/test/wpt/metadata/dom/interfaces.html.ini b/src/test/wpt/metadata/dom/interfaces.html.ini index a5c7e783ce2..f534ec23922 100644 --- a/src/test/wpt/metadata/dom/interfaces.html.ini +++ b/src/test/wpt/metadata/dom/interfaces.html.ini @@ -1,6 +1,5 @@ [interfaces.html] type: testharness - expected: TIMEOUT [DOMException exception: existence and properties of exception interface prototype object] expected: FAIL @@ -40,6 +39,1032 @@ [Event interface: new CustomEvent("foo") must have own property "isTrusted"] expected: FAIL - [EventTarget interface: existence and properties of interface object] - expected: TIMEOUT + [EventTarget interface: operation addEventListener(DOMString,EventListener,boolean)] + expected: FAIL + + [EventTarget interface: operation removeEventListener(DOMString,EventListener,boolean)] + expected: FAIL + + [NodeList interface: existence and properties of interface prototype object] + expected: FAIL + + [MutationObserver interface: existence and properties of interface object] + expected: FAIL + + [MutationObserver interface object length] + expected: FAIL + + [MutationObserver interface: existence and properties of interface prototype object] + expected: FAIL + + [MutationObserver interface: existence and properties of interface prototype object\'s "constructor" property] + expected: FAIL + + [MutationObserver interface: operation observe(Node,MutationObserverInit)] + expected: FAIL + + [MutationObserver interface: operation disconnect()] + expected: FAIL + + [MutationObserver interface: operation takeRecords()] + expected: FAIL + + [MutationRecord interface: existence and properties of interface object] + expected: FAIL + + [MutationRecord interface object length] + expected: FAIL + + [MutationRecord interface: existence and properties of interface prototype object] + expected: FAIL + + [MutationRecord interface: existence and properties of interface prototype object\'s "constructor" property] + expected: FAIL + + [MutationRecord interface: attribute type] + expected: FAIL + + [MutationRecord interface: attribute target] + expected: FAIL + + [MutationRecord interface: attribute addedNodes] + expected: FAIL + + [MutationRecord interface: attribute removedNodes] + expected: FAIL + + [MutationRecord interface: attribute previousSibling] + expected: FAIL + + [MutationRecord interface: attribute nextSibling] + expected: FAIL + + [MutationRecord interface: attribute attributeName] + expected: FAIL + + [MutationRecord interface: attribute attributeNamespace] + expected: FAIL + + [MutationRecord interface: attribute oldValue] + expected: FAIL + + [Node interface: operation cloneNode(boolean)] + expected: FAIL + + [Document interface: attribute origin] + expected: FAIL + + [Document interface: operation importNode(Node,boolean)] + expected: FAIL + + [Document interface: operation createNodeIterator(Node,unsigned long,NodeFilter)] + expected: FAIL + + [Document interface: operation createTreeWalker(Node,unsigned long,NodeFilter)] + expected: FAIL + + [Document interface: attribute firstElementChild] + expected: FAIL + + [Document interface: attribute lastElementChild] + expected: FAIL + + [Document interface: attribute childElementCount] + expected: FAIL + + [Document interface: operation prepend([object Object\],[object Object\])] + expected: FAIL + + [Document interface: operation append([object Object\],[object Object\])] + expected: FAIL + + [Document interface: operation query(DOMString)] + expected: FAIL + + [Document interface: operation queryAll(DOMString)] + expected: FAIL + + [XMLDocument interface: existence and properties of interface object] + expected: FAIL + + [XMLDocument interface object length] + expected: FAIL + + [XMLDocument interface: existence and properties of interface prototype object] + expected: FAIL + + [XMLDocument interface: existence and properties of interface prototype object\'s "constructor" property] + expected: FAIL + + [XMLDocument must be primary interface of xmlDoc] + expected: FAIL + + [Stringification of xmlDoc] + expected: FAIL + + [Document interface: xmlDoc must inherit property "origin" with the proper type (3)] + expected: FAIL + + [Document interface: xmlDoc must inherit property "createNodeIterator" with the proper type (22)] + expected: FAIL + + [Document interface: calling createNodeIterator(Node,unsigned long,NodeFilter) on xmlDoc with too few arguments must throw TypeError] + expected: FAIL + + [Document interface: xmlDoc must inherit property "createTreeWalker" with the proper type (23)] + expected: FAIL + + [Document interface: calling createTreeWalker(Node,unsigned long,NodeFilter) on xmlDoc with too few arguments must throw TypeError] + expected: FAIL + + [Document interface: xmlDoc must inherit property "firstElementChild" with the proper type (26)] + expected: FAIL + + [Document interface: xmlDoc must inherit property "lastElementChild" with the proper type (27)] + expected: FAIL + + [Document interface: xmlDoc must inherit property "childElementCount" with the proper type (28)] + expected: FAIL + + [Document interface: xmlDoc must inherit property "prepend" with the proper type (29)] + expected: FAIL + + [Document interface: calling prepend([object Object\],[object Object\]) on xmlDoc with too few arguments must throw TypeError] + expected: FAIL + + [Document interface: xmlDoc must inherit property "append" with the proper type (30)] + expected: FAIL + + [Document interface: calling append([object Object\],[object Object\]) on xmlDoc with too few arguments must throw TypeError] + expected: FAIL + + [Document interface: xmlDoc must inherit property "query" with the proper type (31)] + expected: FAIL + + [Document interface: calling query(DOMString) on xmlDoc with too few arguments must throw TypeError] + expected: FAIL + + [Document interface: xmlDoc must inherit property "queryAll" with the proper type (32)] + expected: FAIL + + [Document interface: calling queryAll(DOMString) on xmlDoc with too few arguments must throw TypeError] + expected: FAIL + + [DOMImplementation interface: operation createDocument(DOMString,DOMString,DocumentType)] + expected: FAIL + + [DOMImplementation interface: operation createHTMLDocument(DOMString)] + expected: FAIL + + [DOMImplementation interface: operation hasFeature()] + expected: FAIL + + [DOMImplementation interface: document.implementation must inherit property "hasFeature" with the proper type (3)] + expected: FAIL + + [DocumentFragment interface: operation getElementById(DOMString)] + expected: FAIL + + [DocumentFragment interface: attribute firstElementChild] + expected: FAIL + + [DocumentFragment interface: attribute lastElementChild] + expected: FAIL + + [DocumentFragment interface: attribute childElementCount] + expected: FAIL + + [DocumentFragment interface: operation prepend([object Object\],[object Object\])] + expected: FAIL + + [DocumentFragment interface: operation append([object Object\],[object Object\])] + expected: FAIL + + [DocumentFragment interface: operation query(DOMString)] + expected: FAIL + + [DocumentFragment interface: operation queryAll(DOMString)] + expected: FAIL + + [DocumentFragment interface: document.createDocumentFragment() must inherit property "getElementById" with the proper type (0)] + expected: FAIL + + [DocumentFragment interface: calling getElementById(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError] + expected: FAIL + + [DocumentFragment interface: document.createDocumentFragment() must inherit property "firstElementChild" with the proper type (2)] + expected: FAIL + + [DocumentFragment interface: document.createDocumentFragment() must inherit property "lastElementChild" with the proper type (3)] + expected: FAIL + + [DocumentFragment interface: document.createDocumentFragment() must inherit property "childElementCount" with the proper type (4)] + expected: FAIL + + [DocumentFragment interface: document.createDocumentFragment() must inherit property "prepend" with the proper type (5)] + expected: FAIL + + [DocumentFragment interface: calling prepend([object Object\],[object Object\]) on document.createDocumentFragment() with too few arguments must throw TypeError] + expected: FAIL + + [DocumentFragment interface: document.createDocumentFragment() must inherit property "append" with the proper type (6)] + expected: FAIL + + [DocumentFragment interface: calling append([object Object\],[object Object\]) on document.createDocumentFragment() with too few arguments must throw TypeError] + expected: FAIL + + [DocumentFragment interface: document.createDocumentFragment() must inherit property "query" with the proper type (7)] + expected: FAIL + + [DocumentFragment interface: calling query(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError] + expected: FAIL + + [DocumentFragment interface: document.createDocumentFragment() must inherit property "queryAll" with the proper type (8)] + expected: FAIL + + [DocumentFragment interface: calling queryAll(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError] + expected: FAIL + + [DocumentType interface: operation before([object Object\],[object Object\])] + expected: FAIL + + [DocumentType interface: operation after([object Object\],[object Object\])] + expected: FAIL + + [DocumentType interface: operation replace([object Object\],[object Object\])] + expected: FAIL + + [DocumentType interface: document.doctype must inherit property "before" with the proper type (3)] + expected: FAIL + + [DocumentType interface: calling before([object Object\],[object Object\]) on document.doctype with too few arguments must throw TypeError] + expected: FAIL + + [DocumentType interface: document.doctype must inherit property "after" with the proper type (4)] + expected: FAIL + + [DocumentType interface: calling after([object Object\],[object Object\]) on document.doctype with too few arguments must throw TypeError] + expected: FAIL + + [DocumentType interface: document.doctype must inherit property "replace" with the proper type (5)] + expected: FAIL + + [DocumentType interface: calling replace([object Object\],[object Object\]) on document.doctype with too few arguments must throw TypeError] + expected: FAIL + + [Element interface: operation closest(DOMString)] + expected: FAIL + + [Element interface: attribute firstElementChild] + expected: FAIL + + [Element interface: attribute lastElementChild] + expected: FAIL + + [Element interface: attribute childElementCount] + expected: FAIL + + [Element interface: operation prepend([object Object\],[object Object\])] + expected: FAIL + + [Element interface: operation append([object Object\],[object Object\])] + expected: FAIL + + [Element interface: operation query(DOMString)] + expected: FAIL + + [Element interface: operation queryAll(DOMString)] + expected: FAIL + + [Element interface: attribute previousElementSibling] + expected: FAIL + + [Element interface: attribute nextElementSibling] + expected: FAIL + + [Element interface: operation before([object Object\],[object Object\])] + expected: FAIL + + [Element interface: operation after([object Object\],[object Object\])] + expected: FAIL + + [Element interface: operation replace([object Object\],[object Object\])] + expected: FAIL + + [Element interface: element must inherit property "closest" with the proper type (16)] + expected: FAIL + + [Element interface: calling closest(DOMString) on element with too few arguments must throw TypeError] + expected: FAIL + + [Element interface: element must inherit property "firstElementChild" with the proper type (22)] + expected: FAIL + + [Element interface: element must inherit property "lastElementChild" with the proper type (23)] + expected: FAIL + + [Element interface: element must inherit property "childElementCount" with the proper type (24)] + expected: FAIL + + [Element interface: element must inherit property "prepend" with the proper type (25)] + expected: FAIL + + [Element interface: calling prepend([object Object\],[object Object\]) on element with too few arguments must throw TypeError] + expected: FAIL + + [Element interface: element must inherit property "append" with the proper type (26)] + expected: FAIL + + [Element interface: calling append([object Object\],[object Object\]) on element with too few arguments must throw TypeError] + expected: FAIL + + [Element interface: element must inherit property "query" with the proper type (27)] + expected: FAIL + + [Element interface: calling query(DOMString) on element with too few arguments must throw TypeError] + expected: FAIL + + [Element interface: element must inherit property "queryAll" with the proper type (28)] + expected: FAIL + + [Element interface: calling queryAll(DOMString) on element with too few arguments must throw TypeError] + expected: FAIL + + [Element interface: element must inherit property "previousElementSibling" with the proper type (31)] + expected: FAIL + + [Element interface: element must inherit property "nextElementSibling" with the proper type (32)] + expected: FAIL + + [Element interface: element must inherit property "before" with the proper type (33)] + expected: FAIL + + [Element interface: calling before([object Object\],[object Object\]) on element with too few arguments must throw TypeError] + expected: FAIL + + [Element interface: element must inherit property "after" with the proper type (34)] + expected: FAIL + + [Element interface: calling after([object Object\],[object Object\]) on element with too few arguments must throw TypeError] + expected: FAIL + + [Element interface: element must inherit property "replace" with the proper type (35)] + expected: FAIL + + [Element interface: calling replace([object Object\],[object Object\]) on element with too few arguments must throw TypeError] + expected: FAIL + + [Attr interface: attribute specified] + expected: FAIL + + [Attr interface: document.querySelector("[id\]").attributes[0\] must inherit property "specified" with the proper type (5)] + expected: FAIL + + [CharacterData interface: attribute previousElementSibling] + expected: FAIL + + [CharacterData interface: attribute nextElementSibling] + expected: FAIL + + [CharacterData interface: operation before([object Object\],[object Object\])] + expected: FAIL + + [CharacterData interface: operation after([object Object\],[object Object\])] + expected: FAIL + + [CharacterData interface: operation replace([object Object\],[object Object\])] + expected: FAIL + + [Text interface object length] + expected: FAIL + + [Text interface: operation splitText(unsigned long)] + expected: FAIL + + [Text interface: attribute wholeText] + expected: FAIL + + [Text interface: document.createTextNode("abc") must inherit property "splitText" with the proper type (0)] + expected: FAIL + + [Text interface: calling splitText(unsigned long) on document.createTextNode("abc") with too few arguments must throw TypeError] + expected: FAIL + + [Text interface: document.createTextNode("abc") must inherit property "wholeText" with the proper type (1)] + expected: FAIL + + [CharacterData interface: document.createTextNode("abc") must inherit property "previousElementSibling" with the proper type (7)] + expected: FAIL + + [CharacterData interface: document.createTextNode("abc") must inherit property "nextElementSibling" with the proper type (8)] + expected: FAIL + + [CharacterData interface: document.createTextNode("abc") must inherit property "before" with the proper type (9)] + expected: FAIL + + [CharacterData interface: calling before([object Object\],[object Object\]) on document.createTextNode("abc") with too few arguments must throw TypeError] + expected: FAIL + + [CharacterData interface: document.createTextNode("abc") must inherit property "after" with the proper type (10)] + expected: FAIL + + [CharacterData interface: calling after([object Object\],[object Object\]) on document.createTextNode("abc") with too few arguments must throw TypeError] + expected: FAIL + + [CharacterData interface: document.createTextNode("abc") must inherit property "replace" with the proper type (11)] + expected: FAIL + + [CharacterData interface: calling replace([object Object\],[object Object\]) on document.createTextNode("abc") with too few arguments must throw TypeError] + expected: FAIL + + [CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "previousElementSibling" with the proper type (7)] + expected: FAIL + + [CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nextElementSibling" with the proper type (8)] + expected: FAIL + + [CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "before" with the proper type (9)] + expected: FAIL + + [CharacterData interface: calling before([object Object\],[object Object\]) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError] + expected: FAIL + + [CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "after" with the proper type (10)] + expected: FAIL + + [CharacterData interface: calling after([object Object\],[object Object\]) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError] + expected: FAIL + + [CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "replace" with the proper type (11)] + expected: FAIL + + [CharacterData interface: calling replace([object Object\],[object Object\]) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError] + expected: FAIL + + [Comment interface object length] + expected: FAIL + + [CharacterData interface: document.createComment("abc") must inherit property "previousElementSibling" with the proper type (7)] + expected: FAIL + + [CharacterData interface: document.createComment("abc") must inherit property "nextElementSibling" with the proper type (8)] + expected: FAIL + + [CharacterData interface: document.createComment("abc") must inherit property "before" with the proper type (9)] + expected: FAIL + + [CharacterData interface: calling before([object Object\],[object Object\]) on document.createComment("abc") with too few arguments must throw TypeError] + expected: FAIL + + [CharacterData interface: document.createComment("abc") must inherit property "after" with the proper type (10)] + expected: FAIL + + [CharacterData interface: calling after([object Object\],[object Object\]) on document.createComment("abc") with too few arguments must throw TypeError] + expected: FAIL + + [CharacterData interface: document.createComment("abc") must inherit property "replace" with the proper type (11)] + expected: FAIL + + [CharacterData interface: calling replace([object Object\],[object Object\]) on document.createComment("abc") with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: attribute startContainer] + expected: FAIL + + [Range interface: attribute startOffset] + expected: FAIL + + [Range interface: attribute endContainer] + expected: FAIL + + [Range interface: attribute endOffset] + expected: FAIL + + [Range interface: attribute collapsed] + expected: FAIL + + [Range interface: attribute commonAncestorContainer] + expected: FAIL + + [Range interface: operation setStart(Node,unsigned long)] + expected: FAIL + + [Range interface: operation setEnd(Node,unsigned long)] + expected: FAIL + + [Range interface: operation setStartBefore(Node)] + expected: FAIL + + [Range interface: operation setStartAfter(Node)] + expected: FAIL + + [Range interface: operation setEndBefore(Node)] + expected: FAIL + + [Range interface: operation setEndAfter(Node)] + expected: FAIL + + [Range interface: operation collapse(boolean)] + expected: FAIL + + [Range interface: operation selectNode(Node)] + expected: FAIL + + [Range interface: operation selectNodeContents(Node)] + expected: FAIL + + [Range interface: constant START_TO_START on interface object] + expected: FAIL + + [Range interface: constant START_TO_START on interface prototype object] + expected: FAIL + + [Range interface: constant START_TO_END on interface object] + expected: FAIL + + [Range interface: constant START_TO_END on interface prototype object] + expected: FAIL + + [Range interface: constant END_TO_END on interface object] + expected: FAIL + + [Range interface: constant END_TO_END on interface prototype object] + expected: FAIL + + [Range interface: constant END_TO_START on interface object] + expected: FAIL + + [Range interface: constant END_TO_START on interface prototype object] + expected: FAIL + + [Range interface: operation compareBoundaryPoints(unsigned short,Range)] + expected: FAIL + + [Range interface: operation deleteContents()] + expected: FAIL + + [Range interface: operation extractContents()] + expected: FAIL + + [Range interface: operation cloneContents()] + expected: FAIL + + [Range interface: operation insertNode(Node)] + expected: FAIL + + [Range interface: operation surroundContents(Node)] + expected: FAIL + + [Range interface: operation cloneRange()] + expected: FAIL + + [Range interface: operation isPointInRange(Node,unsigned long)] + expected: FAIL + + [Range interface: operation comparePoint(Node,unsigned long)] + expected: FAIL + + [Range interface: operation intersectsNode(Node)] + expected: FAIL + + [Range interface: document.createRange() must inherit property "startContainer" with the proper type (0)] + expected: FAIL + + [Range interface: document.createRange() must inherit property "startOffset" with the proper type (1)] + expected: FAIL + + [Range interface: document.createRange() must inherit property "endContainer" with the proper type (2)] + expected: FAIL + + [Range interface: document.createRange() must inherit property "endOffset" with the proper type (3)] + expected: FAIL + + [Range interface: document.createRange() must inherit property "collapsed" with the proper type (4)] + expected: FAIL + + [Range interface: document.createRange() must inherit property "commonAncestorContainer" with the proper type (5)] + expected: FAIL + + [Range interface: document.createRange() must inherit property "setStart" with the proper type (6)] + expected: FAIL + + [Range interface: calling setStart(Node,unsigned long) on document.createRange() with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: document.createRange() must inherit property "setEnd" with the proper type (7)] + expected: FAIL + + [Range interface: calling setEnd(Node,unsigned long) on document.createRange() with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: document.createRange() must inherit property "setStartBefore" with the proper type (8)] + expected: FAIL + + [Range interface: calling setStartBefore(Node) on document.createRange() with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: document.createRange() must inherit property "setStartAfter" with the proper type (9)] + expected: FAIL + + [Range interface: calling setStartAfter(Node) on document.createRange() with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: document.createRange() must inherit property "setEndBefore" with the proper type (10)] + expected: FAIL + + [Range interface: calling setEndBefore(Node) on document.createRange() with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: document.createRange() must inherit property "setEndAfter" with the proper type (11)] + expected: FAIL + + [Range interface: calling setEndAfter(Node) on document.createRange() with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: document.createRange() must inherit property "collapse" with the proper type (12)] + expected: FAIL + + [Range interface: calling collapse(boolean) on document.createRange() with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: document.createRange() must inherit property "selectNode" with the proper type (13)] + expected: FAIL + + [Range interface: calling selectNode(Node) on document.createRange() with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: document.createRange() must inherit property "selectNodeContents" with the proper type (14)] + expected: FAIL + + [Range interface: calling selectNodeContents(Node) on document.createRange() with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: document.createRange() must inherit property "START_TO_START" with the proper type (15)] + expected: FAIL + + [Range interface: document.createRange() must inherit property "START_TO_END" with the proper type (16)] + expected: FAIL + + [Range interface: document.createRange() must inherit property "END_TO_END" with the proper type (17)] + expected: FAIL + + [Range interface: document.createRange() must inherit property "END_TO_START" with the proper type (18)] + expected: FAIL + + [Range interface: document.createRange() must inherit property "compareBoundaryPoints" with the proper type (19)] + expected: FAIL + + [Range interface: calling compareBoundaryPoints(unsigned short,Range) on document.createRange() with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: document.createRange() must inherit property "deleteContents" with the proper type (20)] + expected: FAIL + + [Range interface: document.createRange() must inherit property "extractContents" with the proper type (21)] + expected: FAIL + + [Range interface: document.createRange() must inherit property "cloneContents" with the proper type (22)] + expected: FAIL + + [Range interface: document.createRange() must inherit property "insertNode" with the proper type (23)] + expected: FAIL + + [Range interface: calling insertNode(Node) on document.createRange() with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: document.createRange() must inherit property "surroundContents" with the proper type (24)] + expected: FAIL + + [Range interface: calling surroundContents(Node) on document.createRange() with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: document.createRange() must inherit property "cloneRange" with the proper type (25)] + expected: FAIL + + [Range interface: document.createRange() must inherit property "isPointInRange" with the proper type (27)] + expected: FAIL + + [Range interface: calling isPointInRange(Node,unsigned long) on document.createRange() with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: document.createRange() must inherit property "comparePoint" with the proper type (28)] + expected: FAIL + + [Range interface: calling comparePoint(Node,unsigned long) on document.createRange() with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: document.createRange() must inherit property "intersectsNode" with the proper type (29)] + expected: FAIL + + [Range interface: calling intersectsNode(Node) on document.createRange() with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: detachedRange must inherit property "startContainer" with the proper type (0)] + expected: FAIL + + [Range interface: detachedRange must inherit property "startOffset" with the proper type (1)] + expected: FAIL + + [Range interface: detachedRange must inherit property "endContainer" with the proper type (2)] + expected: FAIL + + [Range interface: detachedRange must inherit property "endOffset" with the proper type (3)] + expected: FAIL + + [Range interface: detachedRange must inherit property "collapsed" with the proper type (4)] + expected: FAIL + + [Range interface: detachedRange must inherit property "commonAncestorContainer" with the proper type (5)] + expected: FAIL + + [Range interface: detachedRange must inherit property "setStart" with the proper type (6)] + expected: FAIL + + [Range interface: calling setStart(Node,unsigned long) on detachedRange with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: detachedRange must inherit property "setEnd" with the proper type (7)] + expected: FAIL + + [Range interface: calling setEnd(Node,unsigned long) on detachedRange with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: detachedRange must inherit property "setStartBefore" with the proper type (8)] + expected: FAIL + + [Range interface: calling setStartBefore(Node) on detachedRange with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: detachedRange must inherit property "setStartAfter" with the proper type (9)] + expected: FAIL + + [Range interface: calling setStartAfter(Node) on detachedRange with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: detachedRange must inherit property "setEndBefore" with the proper type (10)] + expected: FAIL + + [Range interface: calling setEndBefore(Node) on detachedRange with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: detachedRange must inherit property "setEndAfter" with the proper type (11)] + expected: FAIL + + [Range interface: calling setEndAfter(Node) on detachedRange with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: detachedRange must inherit property "collapse" with the proper type (12)] + expected: FAIL + + [Range interface: calling collapse(boolean) on detachedRange with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: detachedRange must inherit property "selectNode" with the proper type (13)] + expected: FAIL + + [Range interface: calling selectNode(Node) on detachedRange with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: detachedRange must inherit property "selectNodeContents" with the proper type (14)] + expected: FAIL + + [Range interface: calling selectNodeContents(Node) on detachedRange with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: detachedRange must inherit property "START_TO_START" with the proper type (15)] + expected: FAIL + + [Range interface: detachedRange must inherit property "START_TO_END" with the proper type (16)] + expected: FAIL + + [Range interface: detachedRange must inherit property "END_TO_END" with the proper type (17)] + expected: FAIL + + [Range interface: detachedRange must inherit property "END_TO_START" with the proper type (18)] + expected: FAIL + + [Range interface: detachedRange must inherit property "compareBoundaryPoints" with the proper type (19)] + expected: FAIL + + [Range interface: calling compareBoundaryPoints(unsigned short,Range) on detachedRange with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: detachedRange must inherit property "deleteContents" with the proper type (20)] + expected: FAIL + + [Range interface: detachedRange must inherit property "extractContents" with the proper type (21)] + expected: FAIL + + [Range interface: detachedRange must inherit property "cloneContents" with the proper type (22)] + expected: FAIL + + [Range interface: detachedRange must inherit property "insertNode" with the proper type (23)] + expected: FAIL + + [Range interface: calling insertNode(Node) on detachedRange with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: detachedRange must inherit property "surroundContents" with the proper type (24)] + expected: FAIL + + [Range interface: calling surroundContents(Node) on detachedRange with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: detachedRange must inherit property "cloneRange" with the proper type (25)] + expected: FAIL + + [Range interface: detachedRange must inherit property "isPointInRange" with the proper type (27)] + expected: FAIL + + [Range interface: calling isPointInRange(Node,unsigned long) on detachedRange with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: detachedRange must inherit property "comparePoint" with the proper type (28)] + expected: FAIL + + [Range interface: calling comparePoint(Node,unsigned long) on detachedRange with too few arguments must throw TypeError] + expected: FAIL + + [Range interface: detachedRange must inherit property "intersectsNode" with the proper type (29)] + expected: FAIL + + [Range interface: calling intersectsNode(Node) on detachedRange with too few arguments must throw TypeError] + expected: FAIL + + [NodeIterator interface: attribute root] + expected: FAIL + + [NodeIterator interface: attribute referenceNode] + expected: FAIL + + [NodeIterator interface: attribute pointerBeforeReferenceNode] + expected: FAIL + + [NodeIterator interface: attribute whatToShow] + expected: FAIL + + [NodeIterator interface: attribute filter] + expected: FAIL + + [NodeIterator interface: operation nextNode()] + expected: FAIL + + [NodeIterator interface: operation previousNode()] + expected: FAIL + + [NodeIterator interface: operation detach()] + expected: FAIL + + [NodeIterator must be primary interface of document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false)] + expected: FAIL + + [Stringification of document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false)] + expected: FAIL + + [NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "root" with the proper type (0)] + expected: FAIL + + [NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "referenceNode" with the proper type (1)] + expected: FAIL + + [NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "pointerBeforeReferenceNode" with the proper type (2)] + expected: FAIL + + [NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "whatToShow" with the proper type (3)] + expected: FAIL + + [NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "filter" with the proper type (4)] + expected: FAIL + + [NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "nextNode" with the proper type (5)] + expected: FAIL + + [NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "previousNode" with the proper type (6)] + expected: FAIL + + [NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "detach" with the proper type (7)] + expected: FAIL + + [TreeWalker interface: attribute root] + expected: FAIL + + [TreeWalker interface: attribute whatToShow] + expected: FAIL + + [TreeWalker interface: attribute filter] + expected: FAIL + + [TreeWalker interface: attribute currentNode] + expected: FAIL + + [TreeWalker interface: operation parentNode()] + expected: FAIL + + [TreeWalker interface: operation firstChild()] + expected: FAIL + + [TreeWalker interface: operation lastChild()] + expected: FAIL + + [TreeWalker interface: operation previousSibling()] + expected: FAIL + + [TreeWalker interface: operation nextSibling()] + expected: FAIL + + [TreeWalker interface: operation previousNode()] + expected: FAIL + + [TreeWalker interface: operation nextNode()] + expected: FAIL + + [TreeWalker must be primary interface of document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false)] + expected: FAIL + + [Stringification of document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false)] + expected: FAIL + + [TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "root" with the proper type (0)] + expected: FAIL + + [TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "whatToShow" with the proper type (1)] + expected: FAIL + + [TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "filter" with the proper type (2)] + expected: FAIL + + [TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "currentNode" with the proper type (3)] + expected: FAIL + + [TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "parentNode" with the proper type (4)] + expected: FAIL + + [TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "firstChild" with the proper type (5)] + expected: FAIL + + [TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "lastChild" with the proper type (6)] + expected: FAIL + + [TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "previousSibling" with the proper type (7)] + expected: FAIL + + [TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "nextSibling" with the proper type (8)] + expected: FAIL + + [TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "previousNode" with the proper type (9)] + expected: FAIL + + [TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "nextNode" with the proper type (10)] + expected: FAIL + + [DOMTokenList interface: operation contains(DOMString)] + expected: FAIL + + [DOMTokenList interface: operation add(DOMString)] + expected: FAIL + + [DOMTokenList interface: operation remove(DOMString)] + expected: FAIL + + [DOMTokenList interface: operation toggle(DOMString,boolean)] + expected: FAIL + + [DOMTokenList interface: document.body.classList must inherit property "contains" with the proper type (2)] + expected: FAIL + + [DOMTokenList interface: calling contains(DOMString) on document.body.classList with too few arguments must throw TypeError] + expected: FAIL + + [DOMTokenList interface: document.body.classList must inherit property "add" with the proper type (3)] + expected: FAIL + + [DOMTokenList interface: calling add(DOMString) on document.body.classList with too few arguments must throw TypeError] + expected: FAIL + + [DOMTokenList interface: document.body.classList must inherit property "remove" with the proper type (4)] + expected: FAIL + + [DOMTokenList interface: calling remove(DOMString) on document.body.classList with too few arguments must throw TypeError] + expected: FAIL + + [DOMTokenList interface: document.body.classList must inherit property "toggle" with the proper type (5)] + expected: FAIL + + [DOMTokenList interface: calling toggle(DOMString,boolean) on document.body.classList with too few arguments must throw TypeError] + expected: FAIL + + [DOMSettableTokenList interface: existence and properties of interface object] + expected: FAIL + + [DOMSettableTokenList interface object length] + expected: FAIL + + [DOMSettableTokenList interface: existence and properties of interface prototype object] + expected: FAIL + + [DOMSettableTokenList interface: existence and properties of interface prototype object\'s "constructor" property] + expected: FAIL + + [DOMSettableTokenList interface: attribute value] + expected: FAIL