Re-sync DOM Web-Platform-Tests from upstream
authorcdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 15 Aug 2017 23:23:51 +0000 (23:23 +0000)
committercdumez@apple.com <cdumez@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 15 Aug 2017 23:23:51 +0000 (23:23 +0000)
https://bugs.webkit.org/show_bug.cgi?id=175588

Reviewed by Youenn Fablet.

LayoutTests/imported/w3c:

Re-sync DOM Web-Platform-Tests from upstream b5129e92ce.

* web-platform-tests/dom/abort/event.any-expected.txt: Added.
* web-platform-tests/dom/abort/event.any.html: Added.
* web-platform-tests/dom/abort/event.any.js: Added.
* web-platform-tests/dom/abort/event.any.worker-expected.txt: Added.
* web-platform-tests/dom/abort/event.any.worker.html: Added.
* web-platform-tests/dom/abort/w3c-import.log: Added.
* web-platform-tests/dom/events/Event-dispatch-click-expected.txt:
* web-platform-tests/dom/events/Event-dispatch-click.html:
* web-platform-tests/dom/events/Event-timestamp-high-resolution-expected.txt: Added.
* web-platform-tests/dom/events/Event-timestamp-high-resolution.html: Added.
* web-platform-tests/dom/events/Event-timestamp-safe-resolution-expected.txt: Added.
* web-platform-tests/dom/events/Event-timestamp-safe-resolution.html: Added.
* web-platform-tests/dom/events/EventTarget-constructible.any-expected.txt: Added.
* web-platform-tests/dom/events/EventTarget-constructible.any.html: Added.
* web-platform-tests/dom/events/EventTarget-constructible.any.js: Added.
(test.listener):
(test):
(test.prototype.on):
(test.prototype.off):
(test.prototype.dispatch):
* web-platform-tests/dom/events/EventTarget-constructible.any.worker-expected.txt: Added.
* web-platform-tests/dom/events/EventTarget-constructible.any.worker.html: Added.
* web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:
* web-platform-tests/dom/events/w3c-import.log:
* web-platform-tests/dom/interface-objects-expected.txt:
* web-platform-tests/dom/interface-objects.html:
* web-platform-tests/dom/interfaces-expected.txt:
* web-platform-tests/dom/interfaces.html:
* web-platform-tests/dom/nodes/Document-constructor-svg.svg: Removed.
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_01-expected.txt: Removed.
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_01.html: Removed.
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_02-expected.txt:
* web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_02.html:
* web-platform-tests/dom/nodes/Document-contentType/contentType/w3c-import.log:
* web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.html: Added.
* web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.svg: Added.
* web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.xhtml: Added.
* web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.xml: Added.
* web-platform-tests/dom/nodes/Document-createElement-namespace-tests/w3c-import.log:
* web-platform-tests/dom/nodes/Document-createEvent-expected.txt:
* web-platform-tests/dom/nodes/Document-createEvent.html:
* web-platform-tests/dom/nodes/Document-createEvent.js:
* web-platform-tests/dom/nodes/Element-classlist-expected.txt:
* web-platform-tests/dom/nodes/Element-classlist.html:
* web-platform-tests/dom/nodes/Element-matches-init.js: Copied from LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-matches.html.
(init):
* web-platform-tests/dom/nodes/Element-matches.html:
* web-platform-tests/dom/nodes/Element-webkitMatchesSelector.html:
* web-platform-tests/dom/nodes/Node-cloneNode-expected.txt:
* web-platform-tests/dom/nodes/Node-cloneNode.html:
* web-platform-tests/dom/nodes/w3c-import.log:
* web-platform-tests/interfaces/OWNERS: Added.
* web-platform-tests/interfaces/clipboard.idl: Added.
* web-platform-tests/interfaces/cssom.idl: Added.
* web-platform-tests/interfaces/dedicated-workers.idl: Added.
* web-platform-tests/interfaces/dom.idl: Added.
* web-platform-tests/interfaces/fullscreen.idl: Added.
* web-platform-tests/interfaces/geometry.idl: Added.
* web-platform-tests/interfaces/html.idl: Added.
* web-platform-tests/interfaces/mediacapture-main.idl: Added.
* web-platform-tests/interfaces/remoteplayback.idl: Added.
* web-platform-tests/interfaces/touchevents.idl: Added.
* web-platform-tests/interfaces/uievents.idl: Added.
* web-platform-tests/interfaces/web-share.idl: Added.
* web-platform-tests/interfaces/webrtc-pc.idl: Added.
* web-platform-tests/interfaces/webusb.idl: Added.

LayoutTests:

* platform/mac/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@220772 268f45cc-cd09-0410-ab3c-d52691b4dbfc

65 files changed:
LayoutTests/ChangeLog
LayoutTests/TestExpectations
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/resources/resource-files.json
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/interfaces-expected.txt
LayoutTests/imported/w3c/web-platform-tests/dom/abort/event.any-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/abort/event.any.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/abort/event.any.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/abort/event.any.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/abort/event.any.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/abort/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-click-expected.txt
LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-click.html
LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-timestamp-safe-resolution-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-timestamp-safe-resolution.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-constructible.any-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-constructible.any.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-constructible.any.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-constructible.any.worker-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-constructible.any.worker.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt
LayoutTests/imported/w3c/web-platform-tests/dom/events/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/dom/interface-objects-expected.txt
LayoutTests/imported/w3c/web-platform-tests/dom/interface-objects.html
LayoutTests/imported/w3c/web-platform-tests/dom/interfaces-expected.txt
LayoutTests/imported/w3c/web-platform-tests/dom/interfaces.html
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-constructor-svg-expected.txt [deleted file]
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-constructor-svg.svg [deleted file]
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_01-expected.txt [deleted file]
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_01.html [deleted file]
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_02-expected.txt
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_02.html
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createElement-namespace-tests/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent-expected.txt
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.html
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.js
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-classlist-expected.txt
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-classlist.html
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-matches-init.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-matches.html
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-webkitMatchesSelector.html
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-cloneNode-expected.txt
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-cloneNode.html
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/webappapis/scripting/events/event-handler-all-global-events-expected.txt
LayoutTests/imported/w3c/web-platform-tests/interfaces/OWNERS [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/interfaces/clipboard.idl [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/interfaces/cssom.idl [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/interfaces/dedicated-workers.idl [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/interfaces/dom.idl [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/interfaces/fullscreen.idl [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/interfaces/geometry.idl [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/interfaces/html.idl [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/interfaces/mediacapture-main.idl [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/interfaces/remoteplayback.idl [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/interfaces/touchevents.idl [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/interfaces/uievents.idl [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/interfaces/web-share.idl [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/interfaces/webrtc-pc.idl [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/interfaces/webusb.idl [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/webrtc/interfaces-expected.txt
LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt
LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt

index bcfc73a..d219aa6 100644 (file)
@@ -1,3 +1,12 @@
+2017-08-15  Chris Dumez  <cdumez@apple.com>
+
+        Re-sync DOM Web-Platform-Tests from upstream
+        https://bugs.webkit.org/show_bug.cgi?id=175588
+
+        Reviewed by Youenn Fablet.
+
+        * platform/mac/TestExpectations:
+
 2017-08-15  Ryan Haddad  <ryanhaddad@apple.com>
 
         Mark http/tests/loading/resourceLoadStatistics/clear-in-memory-and-persistent-store.html as flaky.
index 4d119d6..79028ab 100644 (file)
@@ -352,6 +352,7 @@ webkit.org/b/154310 [ Debug ] imported/w3c/web-platform-tests/html/dom/reflectio
 webkit.org/b/154310 [ Debug ] imported/w3c/web-platform-tests/html/dom/reflection-text.html  [ Skip ]
 webkit.org/b/171322 [ Debug ] imported/w3c/web-platform-tests/html/semantics/tabular-data/processing-model-1/span-limits.html [ Skip ]
 webkit.org/b/162517 [ Debug ] imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/xhtml-mathml-dtd-entity-support.htm [ Skip ]
+webkit.org/b/175588 [ Debug ] imported/w3c/web-platform-tests/html/webappapis/scripting/events/event-handler-all-global-events.html [ Skip ]
 
 # Tests that are flaky due to console log / error messages
 webkit.org/b/169565 imported/w3c/web-platform-tests/cors/basic.htm [ Failure ]
@@ -1417,8 +1418,6 @@ webkit.org/b/172609 fetch/closing-while-fetching-blob.html [ Skip ]
 
 webkit.org/b/172514 [ Debug ] imported/w3c/web-platform-tests/innerText/getter.html [ Skip ]
 
-webkit.org/b/173333 imported/w3c/web-platform-tests/dom/nodes/Document-constructor-svg.svg [ Skip ]
-
 webkit.org/b/175291 imported/w3c/web-platform-tests/css/css-ui-3/outline-018.html [ Skip ]
 
 webkit.org/b/175287 imported/w3c/web-platform-tests/css/css-ui-3/box-sizing-014.html [ ImageOnlyFailure ]
index 7b39733..cbe163a 100644 (file)
@@ -1,3 +1,79 @@
+2017-08-15  Chris Dumez  <cdumez@apple.com>
+
+        Re-sync DOM Web-Platform-Tests from upstream
+        https://bugs.webkit.org/show_bug.cgi?id=175588
+
+        Reviewed by Youenn Fablet.
+
+        Re-sync DOM Web-Platform-Tests from upstream b5129e92ce.
+
+        * web-platform-tests/dom/abort/event.any-expected.txt: Added.
+        * web-platform-tests/dom/abort/event.any.html: Added.
+        * web-platform-tests/dom/abort/event.any.js: Added.
+        * web-platform-tests/dom/abort/event.any.worker-expected.txt: Added.
+        * web-platform-tests/dom/abort/event.any.worker.html: Added.
+        * web-platform-tests/dom/abort/w3c-import.log: Added.
+        * web-platform-tests/dom/events/Event-dispatch-click-expected.txt:
+        * web-platform-tests/dom/events/Event-dispatch-click.html:
+        * web-platform-tests/dom/events/Event-timestamp-high-resolution-expected.txt: Added.
+        * web-platform-tests/dom/events/Event-timestamp-high-resolution.html: Added.
+        * web-platform-tests/dom/events/Event-timestamp-safe-resolution-expected.txt: Added.
+        * web-platform-tests/dom/events/Event-timestamp-safe-resolution.html: Added.
+        * web-platform-tests/dom/events/EventTarget-constructible.any-expected.txt: Added.
+        * web-platform-tests/dom/events/EventTarget-constructible.any.html: Added.
+        * web-platform-tests/dom/events/EventTarget-constructible.any.js: Added.
+        (test.listener):
+        (test):
+        (test.prototype.on):
+        (test.prototype.off):
+        (test.prototype.dispatch):
+        * web-platform-tests/dom/events/EventTarget-constructible.any.worker-expected.txt: Added.
+        * web-platform-tests/dom/events/EventTarget-constructible.any.worker.html: Added.
+        * web-platform-tests/dom/events/EventTarget-dispatchEvent-expected.txt:
+        * web-platform-tests/dom/events/w3c-import.log:
+        * web-platform-tests/dom/interface-objects-expected.txt:
+        * web-platform-tests/dom/interface-objects.html:
+        * web-platform-tests/dom/interfaces-expected.txt:
+        * web-platform-tests/dom/interfaces.html:
+        * web-platform-tests/dom/nodes/Document-constructor-svg.svg: Removed.
+        * web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_01-expected.txt: Removed.
+        * web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_01.html: Removed.
+        * web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_02-expected.txt:
+        * web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_02.html:
+        * web-platform-tests/dom/nodes/Document-contentType/contentType/w3c-import.log:
+        * web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.html: Added.
+        * web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.svg: Added.
+        * web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.xhtml: Added.
+        * web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.xml: Added.
+        * web-platform-tests/dom/nodes/Document-createElement-namespace-tests/w3c-import.log:
+        * web-platform-tests/dom/nodes/Document-createEvent-expected.txt:
+        * web-platform-tests/dom/nodes/Document-createEvent.html:
+        * web-platform-tests/dom/nodes/Document-createEvent.js:
+        * web-platform-tests/dom/nodes/Element-classlist-expected.txt:
+        * web-platform-tests/dom/nodes/Element-classlist.html:
+        * web-platform-tests/dom/nodes/Element-matches-init.js: Copied from LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-matches.html.
+        (init):
+        * web-platform-tests/dom/nodes/Element-matches.html:
+        * web-platform-tests/dom/nodes/Element-webkitMatchesSelector.html:
+        * web-platform-tests/dom/nodes/Node-cloneNode-expected.txt:
+        * web-platform-tests/dom/nodes/Node-cloneNode.html:
+        * web-platform-tests/dom/nodes/w3c-import.log:
+        * web-platform-tests/interfaces/OWNERS: Added.
+        * web-platform-tests/interfaces/clipboard.idl: Added.
+        * web-platform-tests/interfaces/cssom.idl: Added.
+        * web-platform-tests/interfaces/dedicated-workers.idl: Added.
+        * web-platform-tests/interfaces/dom.idl: Added.
+        * web-platform-tests/interfaces/fullscreen.idl: Added.
+        * web-platform-tests/interfaces/geometry.idl: Added.
+        * web-platform-tests/interfaces/html.idl: Added.
+        * web-platform-tests/interfaces/mediacapture-main.idl: Added.
+        * web-platform-tests/interfaces/remoteplayback.idl: Added.
+        * web-platform-tests/interfaces/touchevents.idl: Added.
+        * web-platform-tests/interfaces/uievents.idl: Added.
+        * web-platform-tests/interfaces/web-share.idl: Added.
+        * web-platform-tests/interfaces/webrtc-pc.idl: Added.
+        * web-platform-tests/interfaces/webusb.idl: Added.
+
 2017-08-15  Youenn Fablet  <youenn@apple.com>
 
         [Cache API] Adding generic support for CacheStorage and Cache methods
index a0453c4..c3eb36c 100644 (file)
         "web-platform-tests/test_keys_wdspec.html",
         "web-platform-tests/upgrade-insecure-requests/support/post-origin-to-parent.html"
     ]
-}
\ No newline at end of file
+}
index d0abf70..8496013 100644 (file)
+CONSOLE MESSAGE: line 251: callback not yet supported
+CONSOLE MESSAGE: line 251: callback not yet supported
 XMLHttpRequest IDL tests
 
 
-FAIL Test driver promise_test: Unhandled rejection with value: object "Unrecognised tokens, line 1 (tokens: '{"error": {')
-[
-    {
-        "type": "other",
-        "value": "{"
-    },
-    {
-        "type": "string",
-        "value": "\"error\""
-    },
-    {
-        "type": "other",
-        "value": ":"
-    },
-    {
-        "type": "whitespace",
-        "value": " "
-    },
-    {
-        "type": "other",
-        "value": "{"
-    }
-]"
+PASS Test driver 
+PASS XMLHttpRequestEventTarget interface: existence and properties of interface object 
+PASS XMLHttpRequestEventTarget interface object length 
+PASS XMLHttpRequestEventTarget interface object name 
+PASS XMLHttpRequestEventTarget interface: existence and properties of interface prototype object 
+PASS XMLHttpRequestEventTarget interface: existence and properties of interface prototype object's "constructor" property 
+PASS XMLHttpRequestEventTarget interface: attribute onloadstart 
+PASS XMLHttpRequestEventTarget interface: attribute onprogress 
+PASS XMLHttpRequestEventTarget interface: attribute onabort 
+PASS XMLHttpRequestEventTarget interface: attribute onerror 
+PASS XMLHttpRequestEventTarget interface: attribute onload 
+PASS XMLHttpRequestEventTarget interface: attribute ontimeout 
+PASS XMLHttpRequestEventTarget interface: attribute onloadend 
+PASS XMLHttpRequestUpload interface: existence and properties of interface object 
+PASS XMLHttpRequestUpload interface object length 
+PASS XMLHttpRequestUpload interface object name 
+PASS XMLHttpRequestUpload interface: existence and properties of interface prototype object 
+PASS XMLHttpRequestUpload interface: existence and properties of interface prototype object's "constructor" property 
+PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onloadstart" with the proper type (0) 
+PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onprogress" with the proper type (1) 
+PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onabort" with the proper type (2) 
+PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onerror" with the proper type (3) 
+PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onload" with the proper type (4) 
+PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "ontimeout" with the proper type (5) 
+PASS XMLHttpRequestEventTarget interface: (new XMLHttpRequest()).upload must inherit property "onloadend" with the proper type (6) 
+PASS XMLHttpRequest interface: existence and properties of interface object 
+PASS XMLHttpRequest interface object length 
+PASS XMLHttpRequest interface object name 
+PASS XMLHttpRequest interface: existence and properties of interface prototype object 
+PASS XMLHttpRequest interface: existence and properties of interface prototype object's "constructor" property 
+PASS XMLHttpRequest interface: attribute onreadystatechange 
+PASS XMLHttpRequest interface: constant UNSENT on interface object 
+PASS XMLHttpRequest interface: constant UNSENT on interface prototype object 
+PASS XMLHttpRequest interface: constant OPENED on interface object 
+PASS XMLHttpRequest interface: constant OPENED on interface prototype object 
+PASS XMLHttpRequest interface: constant HEADERS_RECEIVED on interface object 
+PASS XMLHttpRequest interface: constant HEADERS_RECEIVED on interface prototype object 
+PASS XMLHttpRequest interface: constant LOADING on interface object 
+PASS XMLHttpRequest interface: constant LOADING on interface prototype object 
+PASS XMLHttpRequest interface: constant DONE on interface object 
+PASS XMLHttpRequest interface: constant DONE on interface prototype object 
+PASS XMLHttpRequest interface: attribute readyState 
+PASS XMLHttpRequest interface: operation open(ByteString,USVString) 
+PASS XMLHttpRequest interface: operation open(ByteString,USVString,boolean,USVString,USVString) 
+PASS XMLHttpRequest interface: operation setRequestHeader(ByteString,ByteString) 
+PASS XMLHttpRequest interface: attribute timeout 
+PASS XMLHttpRequest interface: attribute withCredentials 
+PASS XMLHttpRequest interface: attribute upload 
+PASS XMLHttpRequest interface: operation send([object Object],[object Object]) 
+PASS XMLHttpRequest interface: operation abort() 
+PASS XMLHttpRequest interface: attribute responseURL 
+PASS XMLHttpRequest interface: attribute status 
+PASS XMLHttpRequest interface: attribute statusText 
+PASS XMLHttpRequest interface: operation getResponseHeader(ByteString) 
+PASS XMLHttpRequest interface: operation getAllResponseHeaders() 
+PASS XMLHttpRequest interface: operation overrideMimeType(DOMString) 
+PASS XMLHttpRequest interface: attribute responseType 
+PASS XMLHttpRequest interface: attribute response 
+PASS XMLHttpRequest interface: attribute responseText 
+PASS XMLHttpRequest interface: attribute responseXML 
+PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "onreadystatechange" with the proper type (0) 
+PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "UNSENT" with the proper type (1) 
+PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "OPENED" with the proper type (2) 
+PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "HEADERS_RECEIVED" with the proper type (3) 
+PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "LOADING" with the proper type (4) 
+PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "DONE" with the proper type (5) 
+PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "readyState" with the proper type (6) 
+PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "open" with the proper type (7) 
+PASS XMLHttpRequest interface: calling open(ByteString,USVString) on new XMLHttpRequest() with too few arguments must throw TypeError 
+PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "open" with the proper type (8) 
+PASS XMLHttpRequest interface: calling open(ByteString,USVString,boolean,USVString,USVString) on new XMLHttpRequest() with too few arguments must throw TypeError 
+PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "setRequestHeader" with the proper type (9) 
+PASS XMLHttpRequest interface: calling setRequestHeader(ByteString,ByteString) on new XMLHttpRequest() with too few arguments must throw TypeError 
+PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "timeout" with the proper type (10) 
+PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "withCredentials" with the proper type (11) 
+PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "upload" with the proper type (12) 
+PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "send" with the proper type (13) 
+PASS XMLHttpRequest interface: calling send([object Object],[object Object]) on new XMLHttpRequest() with too few arguments must throw TypeError 
+PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "abort" with the proper type (14) 
+PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "responseURL" with the proper type (15) 
+PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "status" with the proper type (16) 
+PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "statusText" with the proper type (17) 
+PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "getResponseHeader" with the proper type (18) 
+PASS XMLHttpRequest interface: calling getResponseHeader(ByteString) on new XMLHttpRequest() with too few arguments must throw TypeError 
+PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "getAllResponseHeaders" with the proper type (19) 
+PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "overrideMimeType" with the proper type (20) 
+PASS XMLHttpRequest interface: calling overrideMimeType(DOMString) on new XMLHttpRequest() with too few arguments must throw TypeError 
+PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "responseType" with the proper type (21) 
+PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "response" with the proper type (22) 
+PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "responseText" with the proper type (23) 
+PASS XMLHttpRequest interface: new XMLHttpRequest() must inherit property "responseXML" with the proper type (24) 
+PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onloadstart" with the proper type (0) 
+PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onprogress" with the proper type (1) 
+PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onabort" with the proper type (2) 
+PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onerror" with the proper type (3) 
+PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onload" with the proper type (4) 
+PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "ontimeout" with the proper type (5) 
+PASS XMLHttpRequestEventTarget interface: new XMLHttpRequest() must inherit property "onloadend" with the proper type (6) 
+PASS FormData interface: existence and properties of interface object 
+PASS FormData interface object length 
+PASS FormData interface object name 
+PASS FormData interface: existence and properties of interface prototype object 
+PASS FormData interface: existence and properties of interface prototype object's "constructor" property 
+PASS FormData interface: operation append(USVString,Blob,USVString) 
+PASS FormData interface: operation append(USVString,USVString) 
+FAIL FormData interface: operation delete(USVString) assert_own_property: interface prototype object missing non-static operation expected property "delete" missing
+FAIL FormData interface: operation get(USVString) assert_own_property: interface prototype object missing non-static operation expected property "get" missing
+FAIL FormData interface: operation getAll(USVString) assert_own_property: interface prototype object missing non-static operation expected property "getAll" missing
+FAIL FormData interface: operation has(USVString) assert_own_property: interface prototype object missing non-static operation expected property "has" missing
+FAIL FormData interface: operation set(USVString,Blob,USVString) assert_own_property: interface prototype object missing non-static operation expected property "set" missing
+FAIL FormData interface: operation set(USVString,USVString) assert_own_property: interface prototype object missing non-static operation expected property "set" missing
+PASS FormData interface: new FormData() must inherit property "append" with the proper type (0) 
+PASS FormData interface: calling append(USVString,Blob,USVString) on new FormData() with too few arguments must throw TypeError 
+PASS FormData interface: new FormData() must inherit property "append" with the proper type (1) 
+PASS FormData interface: calling append(USVString,USVString) on new FormData() with too few arguments must throw TypeError 
+FAIL FormData interface: new FormData() must inherit property "delete" with the proper type (2) assert_inherits: property "delete" not found in prototype chain
+FAIL FormData interface: calling delete(USVString) on new FormData() with too few arguments must throw TypeError assert_inherits: property "delete" not found in prototype chain
+FAIL FormData interface: new FormData() must inherit property "get" with the proper type (3) assert_inherits: property "get" not found in prototype chain
+FAIL FormData interface: calling get(USVString) on new FormData() with too few arguments must throw TypeError assert_inherits: property "get" not found in prototype chain
+FAIL FormData interface: new FormData() must inherit property "getAll" with the proper type (4) assert_inherits: property "getAll" not found in prototype chain
+FAIL FormData interface: calling getAll(USVString) on new FormData() with too few arguments must throw TypeError assert_inherits: property "getAll" not found in prototype chain
+FAIL FormData interface: new FormData() must inherit property "has" with the proper type (5) assert_inherits: property "has" not found in prototype chain
+FAIL FormData interface: calling has(USVString) on new FormData() with too few arguments must throw TypeError assert_inherits: property "has" not found in prototype chain
+FAIL FormData interface: new FormData() must inherit property "set" with the proper type (6) assert_inherits: property "set" not found in prototype chain
+FAIL FormData interface: calling set(USVString,Blob,USVString) on new FormData() with too few arguments must throw TypeError assert_inherits: property "set" not found in prototype chain
+FAIL FormData interface: new FormData() must inherit property "set" with the proper type (7) assert_inherits: property "set" not found in prototype chain
+FAIL FormData interface: calling set(USVString,USVString) on new FormData() with too few arguments must throw TypeError assert_inherits: property "set" not found in prototype chain
+PASS FormData interface: new FormData(form) must inherit property "append" with the proper type (0) 
+PASS FormData interface: calling append(USVString,Blob,USVString) on new FormData(form) with too few arguments must throw TypeError 
+PASS FormData interface: new FormData(form) must inherit property "append" with the proper type (1) 
+PASS FormData interface: calling append(USVString,USVString) on new FormData(form) with too few arguments must throw TypeError 
+FAIL FormData interface: new FormData(form) must inherit property "delete" with the proper type (2) assert_inherits: property "delete" not found in prototype chain
+FAIL FormData interface: calling delete(USVString) on new FormData(form) with too few arguments must throw TypeError assert_inherits: property "delete" not found in prototype chain
+FAIL FormData interface: new FormData(form) must inherit property "get" with the proper type (3) assert_inherits: property "get" not found in prototype chain
+FAIL FormData interface: calling get(USVString) on new FormData(form) with too few arguments must throw TypeError assert_inherits: property "get" not found in prototype chain
+FAIL FormData interface: new FormData(form) must inherit property "getAll" with the proper type (4) assert_inherits: property "getAll" not found in prototype chain
+FAIL FormData interface: calling getAll(USVString) on new FormData(form) with too few arguments must throw TypeError assert_inherits: property "getAll" not found in prototype chain
+FAIL FormData interface: new FormData(form) must inherit property "has" with the proper type (5) assert_inherits: property "has" not found in prototype chain
+FAIL FormData interface: calling has(USVString) on new FormData(form) with too few arguments must throw TypeError assert_inherits: property "has" not found in prototype chain
+FAIL FormData interface: new FormData(form) must inherit property "set" with the proper type (6) assert_inherits: property "set" not found in prototype chain
+FAIL FormData interface: calling set(USVString,Blob,USVString) on new FormData(form) with too few arguments must throw TypeError assert_inherits: property "set" not found in prototype chain
+FAIL FormData interface: new FormData(form) must inherit property "set" with the proper type (7) assert_inherits: property "set" not found in prototype chain
+FAIL FormData interface: calling set(USVString,USVString) on new FormData(form) with too few arguments must throw TypeError assert_inherits: property "set" not found in prototype chain
+PASS ProgressEvent interface: existence and properties of interface object 
+PASS ProgressEvent interface object length 
+PASS ProgressEvent interface object name 
+PASS ProgressEvent interface: existence and properties of interface prototype object 
+PASS ProgressEvent interface: existence and properties of interface prototype object's "constructor" property 
+PASS ProgressEvent interface: attribute lengthComputable 
+PASS ProgressEvent interface: attribute loaded 
+PASS ProgressEvent interface: attribute total 
 
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/abort/event.any-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/dom/abort/event.any-expected.txt
new file mode 100644 (file)
index 0000000..051b508
--- /dev/null
@@ -0,0 +1,3 @@
+
+FAIL AbortController() basics Can't find variable: AbortController
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/abort/event.any.html b/LayoutTests/imported/w3c/web-platform-tests/dom/abort/event.any.html
new file mode 100644 (file)
index 0000000..2382913
--- /dev/null
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/abort/event.any.js b/LayoutTests/imported/w3c/web-platform-tests/dom/abort/event.any.js
new file mode 100644 (file)
index 0000000..3b25702
--- /dev/null
@@ -0,0 +1,22 @@
+test(t => {
+  const c = new AbortController(),
+        s = c.signal;
+  let state = "begin";
+
+  assert_false(s.aborted);
+
+  s.addEventListener("abort",
+    t.step_func(e => {
+      assert_equals(state, "begin");
+      state = "aborted";
+    })
+  );
+  c.abort();
+
+  assert_equals(state, "aborted");
+  assert_true(s.aborted);
+
+  c.abort();
+}, "AbortController() basics");
+
+done();
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/abort/event.any.worker-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/dom/abort/event.any.worker-expected.txt
new file mode 100644 (file)
index 0000000..051b508
--- /dev/null
@@ -0,0 +1,3 @@
+
+FAIL AbortController() basics Can't find variable: AbortController
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/abort/event.any.worker.html b/LayoutTests/imported/w3c/web-platform-tests/dom/abort/event.any.worker.html
new file mode 100644 (file)
index 0000000..2382913
--- /dev/null
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/abort/w3c-import.log b/LayoutTests/imported/w3c/web-platform-tests/dom/abort/w3c-import.log
new file mode 100644 (file)
index 0000000..7ae8af0
--- /dev/null
@@ -0,0 +1,17 @@
+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in WebKit.
+Instead, create a pull request on the WPT github:
+       https://github.com/w3c/web-platform-tests
+
+Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
+
+Do NOT modify or remove this file.
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/dom/abort/event.any.js
index f7d9f7e..02a24b8 100644 (file)
@@ -4,7 +4,7 @@ PASS basic with dispatchEvent()
 PASS basic with wrong event class 
 PASS look at parents only when event bubbles 
 FAIL look at parents when event bubbles assert_true: expected true got false
-FAIL pick the first with activation behavior <input type=checkbox> assert_true: child pre-click must be triggered expected true got false
+PASS pick the first with activation behavior <input type=checkbox> 
 PASS pick the first with activation behavior <a href> 
 PASS event state during post-click handling 
 PASS redispatch during post-click handling 
index 760116b..29b0cae 100644 (file)
@@ -68,7 +68,7 @@ async_test(function(t) {
   var child = input.appendChild(document.createElement("input"))
   child.type = "checkbox"
   child.onclick = t.step_func(function() {
-    assert_true(input.checked, "child pre-click must be triggered")
+    assert_true(child.checked, "child pre-click must be triggered")
   })
   child.dispatchEvent(new MouseEvent("click", {bubbles:true}))
   t.done()
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-timestamp-safe-resolution-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-timestamp-safe-resolution-expected.txt
new file mode 100644 (file)
index 0000000..4933aee
--- /dev/null
@@ -0,0 +1,3 @@
+
+PASS Event timestamp should not have a resolution better that 5 microseconds 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-timestamp-safe-resolution.html b/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-timestamp-safe-resolution.html
new file mode 100644 (file)
index 0000000..c19c7a0
--- /dev/null
@@ -0,0 +1,20 @@
+<!DOCTYPE html>
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script type="text/javascript">
+'use strict';
+
+test(function() {
+    let e1 = new MouseEvent('test1');
+    let e2 = new MouseEvent('test2');
+
+    while (e1.timeStamp == e2.timeStamp)
+        e2 = new MouseEvent('test2');
+
+    let expectedResolutionMilliseconds = 0.005;
+    let integerMultipleOfResolution = (e2.timeStamp - e1.timeStamp) / expectedResolutionMilliseconds;
+    let shouldBeNearZeroOrOne = integerMultipleOfResolution % 1;
+    assert_true(shouldBeNearZeroOrOne < 1e-10 || Math.abs(shouldBeNearZeroOrOne - 1) < 1e-10);
+}, 'Event timestamp should not have a resolution better that 5 microseconds');
+</script>
\ No newline at end of file
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-constructible.any-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-constructible.any-expected.txt
new file mode 100644 (file)
index 0000000..bf08fc7
--- /dev/null
@@ -0,0 +1,4 @@
+
+FAIL A constructed EventTarget can be used as expected function is not a constructor (evaluating 'new EventTarget()')
+FAIL EventTarget can be subclassed function is not a constructor (evaluating 'super(...args)')
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-constructible.any.html b/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-constructible.any.html
new file mode 100644 (file)
index 0000000..2382913
--- /dev/null
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-constructible.any.js b/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-constructible.any.js
new file mode 100644 (file)
index 0000000..b0e7614
--- /dev/null
@@ -0,0 +1,62 @@
+"use strict";
+
+test(() => {
+  const target = new EventTarget();
+  const event = new Event("foo", { bubbles: true, cancelable: false });
+  let callCount = 0;
+
+  function listener(e) {
+    assert_equals(e, event);
+    ++callCount;
+  }
+
+  target.addEventListener("foo", listener);
+
+  target.dispatchEvent(event);
+  assert_equals(callCount, 1);
+
+  target.dispatchEvent(event);
+  assert_equals(callCount, 2);
+
+  target.removeEventListener("foo", listener);
+  target.dispatchEvent(event);
+  assert_equals(callCount, 2);
+}, "A constructed EventTarget can be used as expected");
+
+test(() => {
+  class NicerEventTarget extends EventTarget {
+    on(...args) {
+      this.addEventListener(...args);
+    }
+
+    off(...args) {
+      this.removeEventListener(...args);
+    }
+
+    dispatch(type, detail) {
+      this.dispatchEvent(new CustomEvent(type, { detail }));
+    }
+  }
+
+  const target = new NicerEventTarget();
+  const event = new Event("foo", { bubbles: true, cancelable: false });
+  const detail = "some data";
+  let callCount = 0;
+
+  function listener(e) {
+    assert_equals(e.detail, detail);
+    ++callCount;
+  }
+
+  target.on("foo", listener);
+
+  target.dispatch("foo", detail);
+  assert_equals(callCount, 1);
+
+  target.dispatch("foo", detail);
+  assert_equals(callCount, 2);
+
+  target.off("foo", listener);
+  target.dispatch("foo", detail);
+  assert_equals(callCount, 2);
+}, "EventTarget can be subclassed");
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-constructible.any.worker-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-constructible.any.worker-expected.txt
new file mode 100644 (file)
index 0000000..bf08fc7
--- /dev/null
@@ -0,0 +1,4 @@
+
+FAIL A constructed EventTarget can be used as expected function is not a constructor (evaluating 'new EventTarget()')
+FAIL EventTarget can be subclassed function is not a constructor (evaluating 'super(...args)')
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-constructible.any.worker.html b/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-constructible.any.worker.html
new file mode 100644 (file)
index 0000000..2382913
--- /dev/null
@@ -0,0 +1 @@
+<!-- This file is required for WebKit test infrastructure to run the templated test -->
\ No newline at end of file
index d3470a8..5127374 100644 (file)
@@ -1,37 +1,27 @@
 CONSOLE MESSAGE: line 60: Error
 
 PASS Calling dispatchEvent(null). 
-FAIL If the event's initialized flag is not set, an InvalidStateError must be thrown (AnimationEvent). The operation is not supported.
 FAIL If the event's initialized flag is not set, an InvalidStateError must be thrown (BeforeUnloadEvent). The operation is not supported.
-FAIL If the event's initialized flag is not set, an InvalidStateError must be thrown (CloseEvent). The operation is not supported.
 PASS If the event's initialized flag is not set, an InvalidStateError must be thrown (CompositionEvent). 
 PASS If the event's initialized flag is not set, an InvalidStateError must be thrown (CustomEvent). 
 FAIL If the event's initialized flag is not set, an InvalidStateError must be thrown (DeviceMotionEvent). The operation is not supported.
 FAIL If the event's initialized flag is not set, an InvalidStateError must be thrown (DeviceOrientationEvent). The operation is not supported.
 FAIL If the event's initialized flag is not set, an InvalidStateError must be thrown (DragEvent). The operation is not supported.
-FAIL If the event's initialized flag is not set, an InvalidStateError must be thrown (ErrorEvent). The operation is not supported.
 PASS If the event's initialized flag is not set, an InvalidStateError must be thrown (Event). 
 PASS If the event's initialized flag is not set, an InvalidStateError must be thrown (Events). 
 FAIL If the event's initialized flag is not set, an InvalidStateError must be thrown (FocusEvent). The operation is not supported.
 PASS If the event's initialized flag is not set, an InvalidStateError must be thrown (HashChangeEvent). 
 PASS If the event's initialized flag is not set, an InvalidStateError must be thrown (HTMLEvents). 
-FAIL If the event's initialized flag is not set, an InvalidStateError must be thrown (IDBVersionChangeEvent). The operation is not supported.
 PASS If the event's initialized flag is not set, an InvalidStateError must be thrown (KeyboardEvent). 
 PASS If the event's initialized flag is not set, an InvalidStateError must be thrown (MessageEvent). 
 PASS If the event's initialized flag is not set, an InvalidStateError must be thrown (MouseEvent). 
 PASS If the event's initialized flag is not set, an InvalidStateError must be thrown (MouseEvents). 
-FAIL If the event's initialized flag is not set, an InvalidStateError must be thrown (PageTransitionEvent). The operation is not supported.
-PASS If the event's initialized flag is not set, an InvalidStateError must be thrown (PopStateEvent). 
 PASS If the event's initialized flag is not set, an InvalidStateError must be thrown (StorageEvent). 
 FAIL If the event's initialized flag is not set, an InvalidStateError must be thrown (SVGEvents). The operation is not supported.
 PASS If the event's initialized flag is not set, an InvalidStateError must be thrown (TextEvent). 
 FAIL If the event's initialized flag is not set, an InvalidStateError must be thrown (TouchEvent). The operation is not supported.
-FAIL If the event's initialized flag is not set, an InvalidStateError must be thrown (TrackEvent). The operation is not supported.
-FAIL If the event's initialized flag is not set, an InvalidStateError must be thrown (TransitionEvent). The operation is not supported.
 PASS If the event's initialized flag is not set, an InvalidStateError must be thrown (UIEvent). 
 PASS If the event's initialized flag is not set, an InvalidStateError must be thrown (UIEvents). 
-FAIL If the event's initialized flag is not set, an InvalidStateError must be thrown (WebGLContextEvent). The operation is not supported.
-PASS If the event's initialized flag is not set, an InvalidStateError must be thrown (WheelEvent). 
 PASS If the event's dispatch flag is set, an InvalidStateError must be thrown. 
 PASS Exceptions from event listeners must not be propagated. 
 PASS Event listeners added during dispatch should be called 
index 3b9d9df..d14a9de 100644 (file)
@@ -43,6 +43,8 @@ List of files:
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-initEvent.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-propagation.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-subclasses-constructors.html
+/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-timestamp-high-resolution.html
+/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-timestamp-safe-resolution.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-type-empty.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-type.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/EventListener-handleEvent.html
@@ -54,6 +56,7 @@ List of files:
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/EventListener-invoke-legacy.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/EventListenerOptions-capture.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-addEventListener.html
+/LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-constructible.any.js
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent-returnvalue.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-dispatchEvent.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/EventTarget-removeEventListener.html
index 26ed3d1..01db855 100644 (file)
@@ -3,6 +3,8 @@ PASS Interface objects properties should not be Enumerable
 PASS Should be able to delete Event. 
 PASS Should be able to delete CustomEvent. 
 PASS Should be able to delete EventTarget. 
+FAIL Should be able to delete AbortController. assert_true: Interface should exist. expected true got false
+FAIL Should be able to delete AbortSignal. assert_true: Interface should exist. expected true got false
 PASS Should be able to delete Node. 
 PASS Should be able to delete Document. 
 PASS Should be able to delete DOMImplementation. 
index df4ca51..936d635 100644 (file)
@@ -15,6 +15,8 @@ var interfaces = [
   "Event",
   "CustomEvent",
   "EventTarget",
+  "AbortController",
+  "AbortSignal",
   "Node",
   "Document",
   "DOMImplementation",
index c0cceee..507542e 100644 (file)
+CONSOLE MESSAGE: line 251: callback not yet supported
 DOM IDL tests
 
 
-FAIL Test driver promise_test: Unhandled rejection with value: object "Unrecognised tokens, line 1 (tokens: '{"error": {')
-[
-    {
-        "type": "other",
-        "value": "{"
-    },
-    {
-        "type": "string",
-        "value": "\"error\""
-    },
-    {
-        "type": "other",
-        "value": ":"
-    },
-    {
-        "type": "whitespace",
-        "value": " "
-    },
-    {
-        "type": "other",
-        "value": "{"
-    }
-]"
+PASS Test driver 
+PASS Event interface: existence and properties of interface object 
+PASS Event interface object length 
+PASS Event interface object name 
+PASS Event interface: existence and properties of interface prototype object 
+PASS Event interface: existence and properties of interface prototype object's "constructor" property 
+PASS Event interface: attribute type 
+PASS Event interface: attribute target 
+PASS Event interface: attribute currentTarget 
+PASS Event interface: constant NONE on interface object 
+PASS Event interface: constant NONE on interface prototype object 
+PASS Event interface: constant CAPTURING_PHASE on interface object 
+PASS Event interface: constant CAPTURING_PHASE on interface prototype object 
+PASS Event interface: constant AT_TARGET on interface object 
+PASS Event interface: constant AT_TARGET on interface prototype object 
+PASS Event interface: constant BUBBLING_PHASE on interface object 
+PASS Event interface: constant BUBBLING_PHASE on interface prototype object 
+PASS Event interface: attribute eventPhase 
+PASS Event interface: operation stopPropagation() 
+PASS Event interface: operation stopImmediatePropagation() 
+PASS Event interface: attribute bubbles 
+PASS Event interface: attribute cancelable 
+PASS Event interface: operation preventDefault() 
+PASS Event interface: attribute defaultPrevented 
+PASS Event interface: attribute timeStamp 
+PASS Event interface: operation initEvent(DOMString,boolean,boolean) 
+PASS Event interface: document.createEvent("Event") must inherit property "type" with the proper type (0) 
+PASS Event interface: document.createEvent("Event") must inherit property "target" with the proper type (1) 
+PASS Event interface: document.createEvent("Event") must inherit property "currentTarget" with the proper type (2) 
+PASS Event interface: document.createEvent("Event") must inherit property "NONE" with the proper type (3) 
+PASS Event interface: document.createEvent("Event") must inherit property "CAPTURING_PHASE" with the proper type (4) 
+PASS Event interface: document.createEvent("Event") must inherit property "AT_TARGET" with the proper type (5) 
+PASS Event interface: document.createEvent("Event") must inherit property "BUBBLING_PHASE" with the proper type (6) 
+PASS Event interface: document.createEvent("Event") must inherit property "eventPhase" with the proper type (7) 
+PASS Event interface: document.createEvent("Event") must inherit property "stopPropagation" with the proper type (8) 
+PASS Event interface: document.createEvent("Event") must inherit property "stopImmediatePropagation" with the proper type (9) 
+PASS Event interface: document.createEvent("Event") must inherit property "bubbles" with the proper type (10) 
+PASS Event interface: document.createEvent("Event") must inherit property "cancelable" with the proper type (11) 
+PASS Event interface: document.createEvent("Event") must inherit property "preventDefault" with the proper type (12) 
+PASS Event interface: document.createEvent("Event") must inherit property "defaultPrevented" with the proper type (13) 
+PASS Event interface: document.createEvent("Event") must have own property "isTrusted" 
+PASS Event interface: document.createEvent("Event") must inherit property "timeStamp" with the proper type (15) 
+PASS Event interface: document.createEvent("Event") must inherit property "initEvent" with the proper type (16) 
+PASS Event interface: calling initEvent(DOMString,boolean,boolean) on document.createEvent("Event") with too few arguments must throw TypeError 
+PASS Event interface: new Event("foo") must inherit property "type" with the proper type (0) 
+PASS Event interface: new Event("foo") must inherit property "target" with the proper type (1) 
+PASS Event interface: new Event("foo") must inherit property "currentTarget" with the proper type (2) 
+PASS Event interface: new Event("foo") must inherit property "NONE" with the proper type (3) 
+PASS Event interface: new Event("foo") must inherit property "CAPTURING_PHASE" with the proper type (4) 
+PASS Event interface: new Event("foo") must inherit property "AT_TARGET" with the proper type (5) 
+PASS Event interface: new Event("foo") must inherit property "BUBBLING_PHASE" with the proper type (6) 
+PASS Event interface: new Event("foo") must inherit property "eventPhase" with the proper type (7) 
+PASS Event interface: new Event("foo") must inherit property "stopPropagation" with the proper type (8) 
+PASS Event interface: new Event("foo") must inherit property "stopImmediatePropagation" with the proper type (9) 
+PASS Event interface: new Event("foo") must inherit property "bubbles" with the proper type (10) 
+PASS Event interface: new Event("foo") must inherit property "cancelable" with the proper type (11) 
+PASS Event interface: new Event("foo") must inherit property "preventDefault" with the proper type (12) 
+PASS Event interface: new Event("foo") must inherit property "defaultPrevented" with the proper type (13) 
+PASS Event interface: new Event("foo") must have own property "isTrusted" 
+PASS Event interface: new Event("foo") must inherit property "timeStamp" with the proper type (15) 
+PASS Event interface: new Event("foo") must inherit property "initEvent" with the proper type (16) 
+PASS Event interface: calling initEvent(DOMString,boolean,boolean) on new Event("foo") with too few arguments must throw TypeError 
+PASS CustomEvent interface: existence and properties of interface object 
+PASS CustomEvent interface object length 
+PASS CustomEvent interface object name 
+PASS CustomEvent interface: existence and properties of interface prototype object 
+PASS CustomEvent interface: existence and properties of interface prototype object's "constructor" property 
+PASS CustomEvent interface: attribute detail 
+PASS CustomEvent interface: operation initCustomEvent(DOMString,boolean,boolean,any) 
+PASS CustomEvent interface: new CustomEvent("foo") must inherit property "detail" with the proper type (0) 
+PASS CustomEvent interface: new CustomEvent("foo") must inherit property "initCustomEvent" with the proper type (1) 
+PASS CustomEvent interface: calling initCustomEvent(DOMString,boolean,boolean,any) on new CustomEvent("foo") with too few arguments must throw TypeError 
+PASS Event interface: new CustomEvent("foo") must inherit property "type" with the proper type (0) 
+PASS Event interface: new CustomEvent("foo") must inherit property "target" with the proper type (1) 
+PASS Event interface: new CustomEvent("foo") must inherit property "currentTarget" with the proper type (2) 
+PASS Event interface: new CustomEvent("foo") must inherit property "NONE" with the proper type (3) 
+PASS Event interface: new CustomEvent("foo") must inherit property "CAPTURING_PHASE" with the proper type (4) 
+PASS Event interface: new CustomEvent("foo") must inherit property "AT_TARGET" with the proper type (5) 
+PASS Event interface: new CustomEvent("foo") must inherit property "BUBBLING_PHASE" with the proper type (6) 
+PASS Event interface: new CustomEvent("foo") must inherit property "eventPhase" with the proper type (7) 
+PASS Event interface: new CustomEvent("foo") must inherit property "stopPropagation" with the proper type (8) 
+PASS Event interface: new CustomEvent("foo") must inherit property "stopImmediatePropagation" with the proper type (9) 
+PASS Event interface: new CustomEvent("foo") must inherit property "bubbles" with the proper type (10) 
+PASS Event interface: new CustomEvent("foo") must inherit property "cancelable" with the proper type (11) 
+PASS Event interface: new CustomEvent("foo") must inherit property "preventDefault" with the proper type (12) 
+PASS Event interface: new CustomEvent("foo") must inherit property "defaultPrevented" with the proper type (13) 
+PASS Event interface: new CustomEvent("foo") must have own property "isTrusted" 
+PASS Event interface: new CustomEvent("foo") must inherit property "timeStamp" with the proper type (15) 
+PASS Event interface: new CustomEvent("foo") must inherit property "initEvent" with the proper type (16) 
+PASS Event interface: calling initEvent(DOMString,boolean,boolean) on new CustomEvent("foo") with too few arguments must throw TypeError 
+PASS EventTarget interface: existence and properties of interface object 
+PASS EventTarget interface object length 
+PASS EventTarget interface object name 
+PASS EventTarget interface: existence and properties of interface prototype object 
+PASS EventTarget interface: existence and properties of interface prototype object's "constructor" property 
+PASS EventTarget interface: operation addEventListener(DOMString,EventListener,[object Object],[object Object]) 
+PASS EventTarget interface: operation removeEventListener(DOMString,EventListener,[object Object],[object Object]) 
+PASS EventTarget interface: operation dispatchEvent(Event) 
+FAIL EventTarget interface: new EventTarget() must inherit property "addEventListener" with the proper type (0) assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new EventTarget()')"
+FAIL EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on new EventTarget() with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new EventTarget()')"
+FAIL EventTarget interface: new EventTarget() must inherit property "removeEventListener" with the proper type (1) assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new EventTarget()')"
+FAIL EventTarget interface: calling removeEventListener(DOMString,EventListener,[object Object],[object Object]) on new EventTarget() with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new EventTarget()')"
+FAIL EventTarget interface: new EventTarget() must inherit property "dispatchEvent" with the proper type (2) assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new EventTarget()')"
+FAIL EventTarget interface: calling dispatchEvent(Event) on new EventTarget() with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "TypeError: function is not a constructor (evaluating 'new EventTarget()')"
+PASS EventListener interface: existence and properties of interface object 
+PASS EventListener interface: existence and properties of interface prototype object 
+PASS EventListener interface: existence and properties of interface prototype object's "constructor" property 
+PASS EventListener interface: operation handleEvent(Event) 
+FAIL AbortController interface: existence and properties of interface object assert_own_property: self does not have own property "AbortController" expected property "AbortController" missing
+FAIL AbortController interface object length assert_own_property: self does not have own property "AbortController" expected property "AbortController" missing
+FAIL AbortController interface object name assert_own_property: self does not have own property "AbortController" expected property "AbortController" missing
+FAIL AbortController interface: existence and properties of interface prototype object assert_own_property: self does not have own property "AbortController" expected property "AbortController" missing
+FAIL AbortController interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "AbortController" expected property "AbortController" missing
+FAIL AbortController interface: attribute signal assert_own_property: self does not have own property "AbortController" expected property "AbortController" missing
+FAIL AbortController interface: operation abort() assert_own_property: self does not have own property "AbortController" expected property "AbortController" missing
+FAIL AbortController interface: new AbortController() must inherit property "signal" with the proper type (0) assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: AbortController"
+FAIL AbortController interface: new AbortController() must inherit property "abort" with the proper type (1) assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: AbortController"
+FAIL AbortSignal interface: existence and properties of interface object assert_own_property: self does not have own property "AbortSignal" expected property "AbortSignal" missing
+FAIL AbortSignal interface object length assert_own_property: self does not have own property "AbortSignal" expected property "AbortSignal" missing
+FAIL AbortSignal interface object name assert_own_property: self does not have own property "AbortSignal" expected property "AbortSignal" missing
+FAIL AbortSignal interface: existence and properties of interface prototype object assert_own_property: self does not have own property "AbortSignal" expected property "AbortSignal" missing
+FAIL AbortSignal interface: existence and properties of interface prototype object's "constructor" property assert_own_property: self does not have own property "AbortSignal" expected property "AbortSignal" missing
+FAIL AbortSignal interface: attribute aborted assert_own_property: self does not have own property "AbortSignal" expected property "AbortSignal" missing
+FAIL AbortSignal interface: attribute onabort assert_own_property: self does not have own property "AbortSignal" expected property "AbortSignal" missing
+FAIL AbortSignal interface: new AbortController().signal must inherit property "aborted" with the proper type (0) assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: AbortController"
+FAIL AbortSignal interface: new AbortController().signal must inherit property "onabort" with the proper type (1) assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: AbortController"
+FAIL EventTarget interface: new AbortController().signal must inherit property "addEventListener" with the proper type (0) assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: AbortController"
+FAIL EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on new AbortController().signal with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: AbortController"
+FAIL EventTarget interface: new AbortController().signal must inherit property "removeEventListener" with the proper type (1) assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: AbortController"
+FAIL EventTarget interface: calling removeEventListener(DOMString,EventListener,[object Object],[object Object]) on new AbortController().signal with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: AbortController"
+FAIL EventTarget interface: new AbortController().signal must inherit property "dispatchEvent" with the proper type (2) assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: AbortController"
+FAIL EventTarget interface: calling dispatchEvent(Event) on new AbortController().signal with too few arguments must throw TypeError assert_equals: Unexpected exception when evaluating object expected null but got object "ReferenceError: Can't find variable: AbortController"
+PASS NodeList interface: existence and properties of interface object 
+PASS NodeList interface object length 
+PASS NodeList interface object name 
+PASS NodeList interface: existence and properties of interface prototype object 
+PASS NodeList interface: existence and properties of interface prototype object's "constructor" property 
+PASS NodeList interface: operation item(unsigned long) 
+PASS NodeList interface: attribute length 
+PASS NodeList interface: document.querySelectorAll("script") must inherit property "item" with the proper type (0) 
+PASS NodeList interface: calling item(unsigned long) on document.querySelectorAll("script") with too few arguments must throw TypeError 
+PASS NodeList interface: document.querySelectorAll("script") must inherit property "length" with the proper type (1) 
+PASS HTMLCollection interface: existence and properties of interface object 
+PASS HTMLCollection interface object length 
+PASS HTMLCollection interface object name 
+PASS HTMLCollection interface: existence and properties of interface prototype object 
+PASS HTMLCollection interface: existence and properties of interface prototype object's "constructor" property 
+PASS HTMLCollection interface: attribute length 
+PASS HTMLCollection interface: operation item(unsigned long) 
+PASS HTMLCollection interface: operation namedItem(DOMString) 
+PASS HTMLCollection interface: document.body.children must inherit property "length" with the proper type (0) 
+PASS HTMLCollection interface: document.body.children must inherit property "item" with the proper type (1) 
+PASS HTMLCollection interface: calling item(unsigned long) on document.body.children with too few arguments must throw TypeError 
+PASS HTMLCollection interface: document.body.children must inherit property "namedItem" with the proper type (2) 
+PASS HTMLCollection interface: calling namedItem(DOMString) on document.body.children with too few arguments must throw TypeError 
+PASS MutationObserver interface: existence and properties of interface object 
+PASS MutationObserver interface object length 
+PASS MutationObserver interface object name 
+PASS MutationObserver interface: existence and properties of interface prototype object 
+PASS MutationObserver interface: existence and properties of interface prototype object's "constructor" property 
+PASS MutationObserver interface: operation observe(Node,MutationObserverInit) 
+PASS MutationObserver interface: operation disconnect() 
+PASS MutationObserver interface: operation takeRecords() 
+PASS MutationRecord interface: existence and properties of interface object 
+PASS MutationRecord interface object length 
+PASS MutationRecord interface object name 
+PASS MutationRecord interface: existence and properties of interface prototype object 
+PASS MutationRecord interface: existence and properties of interface prototype object's "constructor" property 
+PASS MutationRecord interface: attribute type 
+PASS MutationRecord interface: attribute target 
+PASS MutationRecord interface: attribute addedNodes 
+PASS MutationRecord interface: attribute removedNodes 
+PASS MutationRecord interface: attribute previousSibling 
+PASS MutationRecord interface: attribute nextSibling 
+PASS MutationRecord interface: attribute attributeName 
+PASS MutationRecord interface: attribute attributeNamespace 
+PASS MutationRecord interface: attribute oldValue 
+PASS Node interface: existence and properties of interface object 
+PASS Node interface object length 
+PASS Node interface object name 
+PASS Node interface: existence and properties of interface prototype object 
+PASS Node interface: existence and properties of interface prototype object's "constructor" property 
+PASS Node interface: constant ELEMENT_NODE on interface object 
+PASS Node interface: constant ELEMENT_NODE on interface prototype object 
+PASS Node interface: constant ATTRIBUTE_NODE on interface object 
+PASS Node interface: constant ATTRIBUTE_NODE on interface prototype object 
+PASS Node interface: constant TEXT_NODE on interface object 
+PASS Node interface: constant TEXT_NODE on interface prototype object 
+PASS Node interface: constant CDATA_SECTION_NODE on interface object 
+PASS Node interface: constant CDATA_SECTION_NODE on interface prototype object 
+PASS Node interface: constant ENTITY_REFERENCE_NODE on interface object 
+PASS Node interface: constant ENTITY_REFERENCE_NODE on interface prototype object 
+PASS Node interface: constant ENTITY_NODE on interface object 
+PASS Node interface: constant ENTITY_NODE on interface prototype object 
+PASS Node interface: constant PROCESSING_INSTRUCTION_NODE on interface object 
+PASS Node interface: constant PROCESSING_INSTRUCTION_NODE on interface prototype object 
+PASS Node interface: constant COMMENT_NODE on interface object 
+PASS Node interface: constant COMMENT_NODE on interface prototype object 
+PASS Node interface: constant DOCUMENT_NODE on interface object 
+PASS Node interface: constant DOCUMENT_NODE on interface prototype object 
+PASS Node interface: constant DOCUMENT_TYPE_NODE on interface object 
+PASS Node interface: constant DOCUMENT_TYPE_NODE on interface prototype object 
+PASS Node interface: constant DOCUMENT_FRAGMENT_NODE on interface object 
+PASS Node interface: constant DOCUMENT_FRAGMENT_NODE on interface prototype object 
+PASS Node interface: constant NOTATION_NODE on interface object 
+PASS Node interface: constant NOTATION_NODE on interface prototype object 
+PASS Node interface: attribute nodeType 
+PASS Node interface: attribute nodeName 
+PASS Node interface: attribute baseURI 
+PASS Node interface: attribute isConnected 
+PASS Node interface: attribute ownerDocument 
+PASS Node interface: operation getRootNode(GetRootNodeOptions) 
+PASS Node interface: attribute parentNode 
+PASS Node interface: attribute parentElement 
+PASS Node interface: operation hasChildNodes() 
+PASS Node interface: attribute childNodes 
+PASS Node interface: attribute firstChild 
+PASS Node interface: attribute lastChild 
+PASS Node interface: attribute previousSibling 
+PASS Node interface: attribute nextSibling 
+PASS Node interface: attribute nodeValue 
+PASS Node interface: attribute textContent 
+PASS Node interface: operation normalize() 
+PASS Node interface: operation cloneNode(boolean) 
+PASS Node interface: operation isEqualNode(Node) 
+PASS Node interface: operation isSameNode(Node) 
+PASS Node interface: constant DOCUMENT_POSITION_DISCONNECTED on interface object 
+PASS Node interface: constant DOCUMENT_POSITION_DISCONNECTED on interface prototype object 
+PASS Node interface: constant DOCUMENT_POSITION_PRECEDING on interface object 
+PASS Node interface: constant DOCUMENT_POSITION_PRECEDING on interface prototype object 
+PASS Node interface: constant DOCUMENT_POSITION_FOLLOWING on interface object 
+PASS Node interface: constant DOCUMENT_POSITION_FOLLOWING on interface prototype object 
+PASS Node interface: constant DOCUMENT_POSITION_CONTAINS on interface object 
+PASS Node interface: constant DOCUMENT_POSITION_CONTAINS on interface prototype object 
+PASS Node interface: constant DOCUMENT_POSITION_CONTAINED_BY on interface object 
+PASS Node interface: constant DOCUMENT_POSITION_CONTAINED_BY on interface prototype object 
+PASS Node interface: constant DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC on interface object 
+PASS Node interface: constant DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC on interface prototype object 
+PASS Node interface: operation compareDocumentPosition(Node) 
+PASS Node interface: operation contains(Node) 
+PASS Node interface: operation lookupPrefix(DOMString) 
+PASS Node interface: operation lookupNamespaceURI(DOMString) 
+PASS Node interface: operation isDefaultNamespace(DOMString) 
+PASS Node interface: operation insertBefore(Node,Node) 
+PASS Node interface: operation appendChild(Node) 
+PASS Node interface: operation replaceChild(Node,Node) 
+PASS Node interface: operation removeChild(Node) 
+PASS Document interface: existence and properties of interface object 
+PASS Document interface object length 
+PASS Document interface object name 
+PASS Document interface: existence and properties of interface prototype object 
+PASS Document interface: existence and properties of interface prototype object's "constructor" property 
+PASS Document interface: attribute implementation 
+PASS Document interface: attribute URL 
+PASS Document interface: attribute documentURI 
+PASS Document interface: attribute origin 
+PASS Document interface: attribute compatMode 
+PASS Document interface: attribute characterSet 
+PASS Document interface: attribute charset 
+PASS Document interface: attribute inputEncoding 
+PASS Document interface: attribute contentType 
+PASS Document interface: attribute doctype 
+PASS Document interface: attribute documentElement 
+PASS Document interface: operation getElementsByTagName(DOMString) 
+PASS Document interface: operation getElementsByTagNameNS(DOMString,DOMString) 
+PASS Document interface: operation getElementsByClassName(DOMString) 
+PASS Document interface: operation createElement(DOMString,ElementCreationOptions) 
+PASS Document interface: operation createElementNS(DOMString,DOMString,ElementCreationOptions) 
+PASS Document interface: operation createDocumentFragment() 
+PASS Document interface: operation createTextNode(DOMString) 
+PASS Document interface: operation createCDATASection(DOMString) 
+PASS Document interface: operation createComment(DOMString) 
+PASS Document interface: operation createProcessingInstruction(DOMString,DOMString) 
+PASS Document interface: operation importNode(Node,boolean) 
+PASS Document interface: operation adoptNode(Node) 
+PASS Document interface: operation createAttribute(DOMString) 
+PASS Document interface: operation createAttributeNS(DOMString,DOMString) 
+PASS Document interface: operation createEvent(DOMString) 
+PASS Document interface: operation createRange() 
+PASS Document interface: operation createNodeIterator(Node,unsigned long,NodeFilter) 
+PASS Document interface: operation createTreeWalker(Node,unsigned long,NodeFilter) 
+PASS Document interface: operation getElementById(DOMString) 
+PASS Document interface: attribute children 
+PASS Document interface: attribute firstElementChild 
+PASS Document interface: attribute lastElementChild 
+PASS Document interface: attribute childElementCount 
+PASS Document interface: operation prepend([object Object],[object Object]) 
+PASS Document interface: operation append([object Object],[object Object]) 
+PASS Document interface: operation querySelector(DOMString) 
+PASS Document interface: operation querySelectorAll(DOMString) 
+PASS Document interface: new Document() must inherit property "implementation" with the proper type (0) 
+PASS Document interface: new Document() must inherit property "URL" with the proper type (1) 
+PASS Document interface: new Document() must inherit property "documentURI" with the proper type (2) 
+PASS Document interface: new Document() must inherit property "origin" with the proper type (3) 
+PASS Document interface: new Document() must inherit property "compatMode" with the proper type (4) 
+PASS Document interface: new Document() must inherit property "characterSet" with the proper type (5) 
+PASS Document interface: new Document() must inherit property "charset" with the proper type (6) 
+PASS Document interface: new Document() must inherit property "inputEncoding" with the proper type (7) 
+PASS Document interface: new Document() must inherit property "contentType" with the proper type (8) 
+PASS Document interface: new Document() must inherit property "doctype" with the proper type (9) 
+PASS Document interface: new Document() must inherit property "documentElement" with the proper type (10) 
+PASS Document interface: new Document() must inherit property "getElementsByTagName" with the proper type (11) 
+PASS Document interface: calling getElementsByTagName(DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "getElementsByTagNameNS" with the proper type (12) 
+PASS Document interface: calling getElementsByTagNameNS(DOMString,DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "getElementsByClassName" with the proper type (13) 
+PASS Document interface: calling getElementsByClassName(DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "createElement" with the proper type (14) 
+PASS Document interface: calling createElement(DOMString,ElementCreationOptions) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "createElementNS" with the proper type (15) 
+PASS Document interface: calling createElementNS(DOMString,DOMString,ElementCreationOptions) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "createDocumentFragment" with the proper type (16) 
+PASS Document interface: new Document() must inherit property "createTextNode" with the proper type (17) 
+PASS Document interface: calling createTextNode(DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "createCDATASection" with the proper type (18) 
+PASS Document interface: calling createCDATASection(DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "createComment" with the proper type (19) 
+PASS Document interface: calling createComment(DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "createProcessingInstruction" with the proper type (20) 
+PASS Document interface: calling createProcessingInstruction(DOMString,DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "importNode" with the proper type (21) 
+PASS Document interface: calling importNode(Node,boolean) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "adoptNode" with the proper type (22) 
+PASS Document interface: calling adoptNode(Node) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "createAttribute" with the proper type (23) 
+PASS Document interface: calling createAttribute(DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "createAttributeNS" with the proper type (24) 
+PASS Document interface: calling createAttributeNS(DOMString,DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "createEvent" with the proper type (25) 
+PASS Document interface: calling createEvent(DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "createRange" with the proper type (26) 
+PASS Document interface: new Document() must inherit property "createNodeIterator" with the proper type (27) 
+PASS Document interface: calling createNodeIterator(Node,unsigned long,NodeFilter) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "createTreeWalker" with the proper type (28) 
+PASS Document interface: calling createTreeWalker(Node,unsigned long,NodeFilter) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "getElementById" with the proper type (29) 
+PASS Document interface: calling getElementById(DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "children" with the proper type (30) 
+PASS Document interface: new Document() must inherit property "firstElementChild" with the proper type (31) 
+PASS Document interface: new Document() must inherit property "lastElementChild" with the proper type (32) 
+PASS Document interface: new Document() must inherit property "childElementCount" with the proper type (33) 
+PASS Document interface: new Document() must inherit property "prepend" with the proper type (34) 
+PASS Document interface: calling prepend([object Object],[object Object]) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "append" with the proper type (35) 
+PASS Document interface: calling append([object Object],[object Object]) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "querySelector" with the proper type (36) 
+PASS Document interface: calling querySelector(DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "querySelectorAll" with the proper type (37) 
+PASS Document interface: calling querySelectorAll(DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Node interface: new Document() must inherit property "ELEMENT_NODE" with the proper type (0) 
+PASS Node interface: new Document() must inherit property "ATTRIBUTE_NODE" with the proper type (1) 
+PASS Node interface: new Document() must inherit property "TEXT_NODE" with the proper type (2) 
+PASS Node interface: new Document() must inherit property "CDATA_SECTION_NODE" with the proper type (3) 
+PASS Node interface: new Document() must inherit property "ENTITY_REFERENCE_NODE" with the proper type (4) 
+PASS Node interface: new Document() must inherit property "ENTITY_NODE" with the proper type (5) 
+PASS Node interface: new Document() must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type (6) 
+PASS Node interface: new Document() must inherit property "COMMENT_NODE" with the proper type (7) 
+PASS Node interface: new Document() must inherit property "DOCUMENT_NODE" with the proper type (8) 
+PASS Node interface: new Document() must inherit property "DOCUMENT_TYPE_NODE" with the proper type (9) 
+PASS Node interface: new Document() must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type (10) 
+PASS Node interface: new Document() must inherit property "NOTATION_NODE" with the proper type (11) 
+PASS Node interface: new Document() must inherit property "nodeType" with the proper type (12) 
+PASS Node interface: new Document() must inherit property "nodeName" with the proper type (13) 
+PASS Node interface: new Document() must inherit property "baseURI" with the proper type (14) 
+PASS Node interface: new Document() must inherit property "isConnected" with the proper type (15) 
+PASS Node interface: new Document() must inherit property "ownerDocument" with the proper type (16) 
+PASS Node interface: new Document() must inherit property "getRootNode" with the proper type (17) 
+PASS Node interface: calling getRootNode(GetRootNodeOptions) on new Document() with too few arguments must throw TypeError 
+PASS Node interface: new Document() must inherit property "parentNode" with the proper type (18) 
+PASS Node interface: new Document() must inherit property "parentElement" with the proper type (19) 
+PASS Node interface: new Document() must inherit property "hasChildNodes" with the proper type (20) 
+PASS Node interface: new Document() must inherit property "childNodes" with the proper type (21) 
+PASS Node interface: new Document() must inherit property "firstChild" with the proper type (22) 
+PASS Node interface: new Document() must inherit property "lastChild" with the proper type (23) 
+PASS Node interface: new Document() must inherit property "previousSibling" with the proper type (24) 
+PASS Node interface: new Document() must inherit property "nextSibling" with the proper type (25) 
+PASS Node interface: new Document() must inherit property "nodeValue" with the proper type (26) 
+PASS Node interface: new Document() must inherit property "textContent" with the proper type (27) 
+PASS Node interface: new Document() must inherit property "normalize" with the proper type (28) 
+PASS Node interface: new Document() must inherit property "cloneNode" with the proper type (29) 
+PASS Node interface: calling cloneNode(boolean) on new Document() with too few arguments must throw TypeError 
+PASS Node interface: new Document() must inherit property "isEqualNode" with the proper type (30) 
+PASS Node interface: calling isEqualNode(Node) on new Document() with too few arguments must throw TypeError 
+PASS Node interface: new Document() must inherit property "isSameNode" with the proper type (31) 
+PASS Node interface: calling isSameNode(Node) on new Document() with too few arguments must throw TypeError 
+PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32) 
+PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33) 
+PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34) 
+PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35) 
+PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36) 
+PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37) 
+PASS Node interface: new Document() must inherit property "compareDocumentPosition" with the proper type (38) 
+PASS Node interface: calling compareDocumentPosition(Node) on new Document() with too few arguments must throw TypeError 
+PASS Node interface: new Document() must inherit property "contains" with the proper type (39) 
+PASS Node interface: calling contains(Node) on new Document() with too few arguments must throw TypeError 
+PASS Node interface: new Document() must inherit property "lookupPrefix" with the proper type (40) 
+PASS Node interface: calling lookupPrefix(DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Node interface: new Document() must inherit property "lookupNamespaceURI" with the proper type (41) 
+PASS Node interface: calling lookupNamespaceURI(DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Node interface: new Document() must inherit property "isDefaultNamespace" with the proper type (42) 
+PASS Node interface: calling isDefaultNamespace(DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Node interface: new Document() must inherit property "insertBefore" with the proper type (43) 
+PASS Node interface: calling insertBefore(Node,Node) on new Document() with too few arguments must throw TypeError 
+PASS Node interface: new Document() must inherit property "appendChild" with the proper type (44) 
+PASS Node interface: calling appendChild(Node) on new Document() with too few arguments must throw TypeError 
+PASS Node interface: new Document() must inherit property "replaceChild" with the proper type (45) 
+PASS Node interface: calling replaceChild(Node,Node) on new Document() with too few arguments must throw TypeError 
+PASS Node interface: new Document() must inherit property "removeChild" with the proper type (46) 
+PASS Node interface: calling removeChild(Node) on new Document() with too few arguments must throw TypeError 
+PASS EventTarget interface: new Document() must inherit property "addEventListener" with the proper type (0) 
+PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on new Document() with too few arguments must throw TypeError 
+PASS EventTarget interface: new Document() must inherit property "removeEventListener" with the proper type (1) 
+PASS EventTarget interface: calling removeEventListener(DOMString,EventListener,[object Object],[object Object]) on new Document() with too few arguments must throw TypeError 
+PASS EventTarget interface: new Document() must inherit property "dispatchEvent" with the proper type (2) 
+PASS EventTarget interface: calling dispatchEvent(Event) on new Document() with too few arguments must throw TypeError 
+PASS XMLDocument interface: existence and properties of interface object 
+PASS XMLDocument interface object length 
+PASS XMLDocument interface object name 
+PASS XMLDocument interface: existence and properties of interface prototype object 
+PASS XMLDocument interface: existence and properties of interface prototype object's "constructor" property 
+PASS Document interface: xmlDoc must inherit property "implementation" with the proper type (0) 
+PASS Document interface: xmlDoc must inherit property "URL" with the proper type (1) 
+PASS Document interface: xmlDoc must inherit property "documentURI" with the proper type (2) 
+PASS Document interface: xmlDoc must inherit property "origin" with the proper type (3) 
+PASS Document interface: xmlDoc must inherit property "compatMode" with the proper type (4) 
+PASS Document interface: xmlDoc must inherit property "characterSet" with the proper type (5) 
+PASS Document interface: xmlDoc must inherit property "charset" with the proper type (6) 
+PASS Document interface: xmlDoc must inherit property "inputEncoding" with the proper type (7) 
+PASS Document interface: xmlDoc must inherit property "contentType" with the proper type (8) 
+PASS Document interface: xmlDoc must inherit property "doctype" with the proper type (9) 
+PASS Document interface: xmlDoc must inherit property "documentElement" with the proper type (10) 
+PASS Document interface: xmlDoc must inherit property "getElementsByTagName" with the proper type (11) 
+PASS Document interface: calling getElementsByTagName(DOMString) on xmlDoc with too few arguments must throw TypeError 
+PASS Document interface: xmlDoc must inherit property "getElementsByTagNameNS" with the proper type (12) 
+PASS Document interface: calling getElementsByTagNameNS(DOMString,DOMString) on xmlDoc with too few arguments must throw TypeError 
+PASS Document interface: xmlDoc must inherit property "getElementsByClassName" with the proper type (13) 
+PASS Document interface: calling getElementsByClassName(DOMString) on xmlDoc with too few arguments must throw TypeError 
+PASS Document interface: xmlDoc must inherit property "createElement" with the proper type (14) 
+PASS Document interface: calling createElement(DOMString,ElementCreationOptions) on xmlDoc with too few arguments must throw TypeError 
+PASS Document interface: xmlDoc must inherit property "createElementNS" with the proper type (15) 
+PASS Document interface: calling createElementNS(DOMString,DOMString,ElementCreationOptions) on xmlDoc with too few arguments must throw TypeError 
+PASS Document interface: xmlDoc must inherit property "createDocumentFragment" with the proper type (16) 
+PASS Document interface: xmlDoc must inherit property "createTextNode" with the proper type (17) 
+PASS Document interface: calling createTextNode(DOMString) on xmlDoc with too few arguments must throw TypeError 
+PASS Document interface: xmlDoc must inherit property "createCDATASection" with the proper type (18) 
+PASS Document interface: calling createCDATASection(DOMString) on xmlDoc with too few arguments must throw TypeError 
+PASS Document interface: xmlDoc must inherit property "createComment" with the proper type (19) 
+PASS Document interface: calling createComment(DOMString) on xmlDoc with too few arguments must throw TypeError 
+PASS Document interface: xmlDoc must inherit property "createProcessingInstruction" with the proper type (20) 
+PASS Document interface: calling createProcessingInstruction(DOMString,DOMString) on xmlDoc with too few arguments must throw TypeError 
+PASS Document interface: xmlDoc must inherit property "importNode" with the proper type (21) 
+PASS Document interface: calling importNode(Node,boolean) on xmlDoc with too few arguments must throw TypeError 
+PASS Document interface: xmlDoc must inherit property "adoptNode" with the proper type (22) 
+PASS Document interface: calling adoptNode(Node) on xmlDoc with too few arguments must throw TypeError 
+PASS Document interface: xmlDoc must inherit property "createAttribute" with the proper type (23) 
+PASS Document interface: calling createAttribute(DOMString) on xmlDoc with too few arguments must throw TypeError 
+PASS Document interface: xmlDoc must inherit property "createAttributeNS" with the proper type (24) 
+PASS Document interface: calling createAttributeNS(DOMString,DOMString) on xmlDoc with too few arguments must throw TypeError 
+PASS Document interface: xmlDoc must inherit property "createEvent" with the proper type (25) 
+PASS Document interface: calling createEvent(DOMString) on xmlDoc with too few arguments must throw TypeError 
+PASS Document interface: xmlDoc must inherit property "createRange" with the proper type (26) 
+PASS Document interface: xmlDoc must inherit property "createNodeIterator" with the proper type (27) 
+PASS Document interface: calling createNodeIterator(Node,unsigned long,NodeFilter) on xmlDoc with too few arguments must throw TypeError 
+PASS Document interface: xmlDoc must inherit property "createTreeWalker" with the proper type (28) 
+PASS Document interface: calling createTreeWalker(Node,unsigned long,NodeFilter) on xmlDoc with too few arguments must throw TypeError 
+PASS Document interface: xmlDoc must inherit property "getElementById" with the proper type (29) 
+PASS Document interface: calling getElementById(DOMString) on xmlDoc with too few arguments must throw TypeError 
+PASS Document interface: xmlDoc must inherit property "children" with the proper type (30) 
+PASS Document interface: xmlDoc must inherit property "firstElementChild" with the proper type (31) 
+PASS Document interface: xmlDoc must inherit property "lastElementChild" with the proper type (32) 
+PASS Document interface: xmlDoc must inherit property "childElementCount" with the proper type (33) 
+PASS Document interface: xmlDoc must inherit property "prepend" with the proper type (34) 
+PASS Document interface: calling prepend([object Object],[object Object]) on xmlDoc with too few arguments must throw TypeError 
+PASS Document interface: xmlDoc must inherit property "append" with the proper type (35) 
+PASS Document interface: calling append([object Object],[object Object]) on xmlDoc with too few arguments must throw TypeError 
+PASS Document interface: xmlDoc must inherit property "querySelector" with the proper type (36) 
+PASS Document interface: calling querySelector(DOMString) on xmlDoc with too few arguments must throw TypeError 
+PASS Document interface: xmlDoc must inherit property "querySelectorAll" with the proper type (37) 
+PASS Document interface: calling querySelectorAll(DOMString) on xmlDoc with too few arguments must throw TypeError 
+PASS Node interface: xmlDoc must inherit property "ELEMENT_NODE" with the proper type (0) 
+PASS Node interface: xmlDoc must inherit property "ATTRIBUTE_NODE" with the proper type (1) 
+PASS Node interface: xmlDoc must inherit property "TEXT_NODE" with the proper type (2) 
+PASS Node interface: xmlDoc must inherit property "CDATA_SECTION_NODE" with the proper type (3) 
+PASS Node interface: xmlDoc must inherit property "ENTITY_REFERENCE_NODE" with the proper type (4) 
+PASS Node interface: xmlDoc must inherit property "ENTITY_NODE" with the proper type (5) 
+PASS Node interface: xmlDoc must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type (6) 
+PASS Node interface: xmlDoc must inherit property "COMMENT_NODE" with the proper type (7) 
+PASS Node interface: xmlDoc must inherit property "DOCUMENT_NODE" with the proper type (8) 
+PASS Node interface: xmlDoc must inherit property "DOCUMENT_TYPE_NODE" with the proper type (9) 
+PASS Node interface: xmlDoc must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type (10) 
+PASS Node interface: xmlDoc must inherit property "NOTATION_NODE" with the proper type (11) 
+PASS Node interface: xmlDoc must inherit property "nodeType" with the proper type (12) 
+PASS Node interface: xmlDoc must inherit property "nodeName" with the proper type (13) 
+PASS Node interface: xmlDoc must inherit property "baseURI" with the proper type (14) 
+PASS Node interface: xmlDoc must inherit property "isConnected" with the proper type (15) 
+PASS Node interface: xmlDoc must inherit property "ownerDocument" with the proper type (16) 
+PASS Node interface: xmlDoc must inherit property "getRootNode" with the proper type (17) 
+PASS Node interface: calling getRootNode(GetRootNodeOptions) on xmlDoc with too few arguments must throw TypeError 
+PASS Node interface: xmlDoc must inherit property "parentNode" with the proper type (18) 
+PASS Node interface: xmlDoc must inherit property "parentElement" with the proper type (19) 
+PASS Node interface: xmlDoc must inherit property "hasChildNodes" with the proper type (20) 
+PASS Node interface: xmlDoc must inherit property "childNodes" with the proper type (21) 
+PASS Node interface: xmlDoc must inherit property "firstChild" with the proper type (22) 
+PASS Node interface: xmlDoc must inherit property "lastChild" with the proper type (23) 
+PASS Node interface: xmlDoc must inherit property "previousSibling" with the proper type (24) 
+PASS Node interface: xmlDoc must inherit property "nextSibling" with the proper type (25) 
+PASS Node interface: xmlDoc must inherit property "nodeValue" with the proper type (26) 
+PASS Node interface: xmlDoc must inherit property "textContent" with the proper type (27) 
+PASS Node interface: xmlDoc must inherit property "normalize" with the proper type (28) 
+PASS Node interface: xmlDoc must inherit property "cloneNode" with the proper type (29) 
+PASS Node interface: calling cloneNode(boolean) on xmlDoc with too few arguments must throw TypeError 
+PASS Node interface: xmlDoc must inherit property "isEqualNode" with the proper type (30) 
+PASS Node interface: calling isEqualNode(Node) on xmlDoc with too few arguments must throw TypeError 
+PASS Node interface: xmlDoc must inherit property "isSameNode" with the proper type (31) 
+PASS Node interface: calling isSameNode(Node) on xmlDoc with too few arguments must throw TypeError 
+PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32) 
+PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33) 
+PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34) 
+PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35) 
+PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36) 
+PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37) 
+PASS Node interface: xmlDoc must inherit property "compareDocumentPosition" with the proper type (38) 
+PASS Node interface: calling compareDocumentPosition(Node) on xmlDoc with too few arguments must throw TypeError 
+PASS Node interface: xmlDoc must inherit property "contains" with the proper type (39) 
+PASS Node interface: calling contains(Node) on xmlDoc with too few arguments must throw TypeError 
+PASS Node interface: xmlDoc must inherit property "lookupPrefix" with the proper type (40) 
+PASS Node interface: calling lookupPrefix(DOMString) on xmlDoc with too few arguments must throw TypeError 
+PASS Node interface: xmlDoc must inherit property "lookupNamespaceURI" with the proper type (41) 
+PASS Node interface: calling lookupNamespaceURI(DOMString) on xmlDoc with too few arguments must throw TypeError 
+PASS Node interface: xmlDoc must inherit property "isDefaultNamespace" with the proper type (42) 
+PASS Node interface: calling isDefaultNamespace(DOMString) on xmlDoc with too few arguments must throw TypeError 
+PASS Node interface: xmlDoc must inherit property "insertBefore" with the proper type (43) 
+PASS Node interface: calling insertBefore(Node,Node) on xmlDoc with too few arguments must throw TypeError 
+PASS Node interface: xmlDoc must inherit property "appendChild" with the proper type (44) 
+PASS Node interface: calling appendChild(Node) on xmlDoc with too few arguments must throw TypeError 
+PASS Node interface: xmlDoc must inherit property "replaceChild" with the proper type (45) 
+PASS Node interface: calling replaceChild(Node,Node) on xmlDoc with too few arguments must throw TypeError 
+PASS Node interface: xmlDoc must inherit property "removeChild" with the proper type (46) 
+PASS Node interface: calling removeChild(Node) on xmlDoc with too few arguments must throw TypeError 
+PASS EventTarget interface: xmlDoc must inherit property "addEventListener" with the proper type (0) 
+PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on xmlDoc with too few arguments must throw TypeError 
+PASS EventTarget interface: xmlDoc must inherit property "removeEventListener" with the proper type (1) 
+PASS EventTarget interface: calling removeEventListener(DOMString,EventListener,[object Object],[object Object]) on xmlDoc with too few arguments must throw TypeError 
+PASS EventTarget interface: xmlDoc must inherit property "dispatchEvent" with the proper type (2) 
+PASS EventTarget interface: calling dispatchEvent(Event) on xmlDoc with too few arguments must throw TypeError 
+PASS DOMImplementation interface: existence and properties of interface object 
+PASS DOMImplementation interface object length 
+PASS DOMImplementation interface object name 
+PASS DOMImplementation interface: existence and properties of interface prototype object 
+PASS DOMImplementation interface: existence and properties of interface prototype object's "constructor" property 
+PASS DOMImplementation interface: operation createDocumentType(DOMString,DOMString,DOMString) 
+PASS DOMImplementation interface: operation createDocument(DOMString,DOMString,DocumentType) 
+PASS DOMImplementation interface: operation createHTMLDocument(DOMString) 
+PASS DOMImplementation interface: operation hasFeature() 
+PASS DOMImplementation interface: document.implementation must inherit property "createDocumentType" with the proper type (0) 
+PASS DOMImplementation interface: calling createDocumentType(DOMString,DOMString,DOMString) on document.implementation with too few arguments must throw TypeError 
+PASS DOMImplementation interface: document.implementation must inherit property "createDocument" with the proper type (1) 
+PASS DOMImplementation interface: calling createDocument(DOMString,DOMString,DocumentType) on document.implementation with too few arguments must throw TypeError 
+PASS DOMImplementation interface: document.implementation must inherit property "createHTMLDocument" with the proper type (2) 
+PASS DOMImplementation interface: calling createHTMLDocument(DOMString) on document.implementation with too few arguments must throw TypeError 
+PASS DOMImplementation interface: document.implementation must inherit property "hasFeature" with the proper type (3) 
+PASS DocumentType interface: existence and properties of interface object 
+PASS DocumentType interface object length 
+PASS DocumentType interface object name 
+PASS DocumentType interface: existence and properties of interface prototype object 
+PASS DocumentType interface: existence and properties of interface prototype object's "constructor" property 
+PASS DocumentType interface: attribute name 
+PASS DocumentType interface: attribute publicId 
+PASS DocumentType interface: attribute systemId 
+PASS DocumentType interface: operation before([object Object],[object Object]) 
+PASS DocumentType interface: operation after([object Object],[object Object]) 
+PASS DocumentType interface: operation replaceWith([object Object],[object Object]) 
+PASS DocumentType interface: operation remove() 
+PASS DocumentType interface: document.doctype must inherit property "name" with the proper type (0) 
+PASS DocumentType interface: document.doctype must inherit property "publicId" with the proper type (1) 
+PASS DocumentType interface: document.doctype must inherit property "systemId" with the proper type (2) 
+PASS DocumentType interface: document.doctype must inherit property "before" with the proper type (3) 
+PASS DocumentType interface: calling before([object Object],[object Object]) on document.doctype with too few arguments must throw TypeError 
+PASS DocumentType interface: document.doctype must inherit property "after" with the proper type (4) 
+PASS DocumentType interface: calling after([object Object],[object Object]) on document.doctype with too few arguments must throw TypeError 
+PASS DocumentType interface: document.doctype must inherit property "replaceWith" with the proper type (5) 
+PASS DocumentType interface: calling replaceWith([object Object],[object Object]) on document.doctype with too few arguments must throw TypeError 
+PASS DocumentType interface: document.doctype must inherit property "remove" with the proper type (6) 
+PASS Node interface: document.doctype must inherit property "ELEMENT_NODE" with the proper type (0) 
+PASS Node interface: document.doctype must inherit property "ATTRIBUTE_NODE" with the proper type (1) 
+PASS Node interface: document.doctype must inherit property "TEXT_NODE" with the proper type (2) 
+PASS Node interface: document.doctype must inherit property "CDATA_SECTION_NODE" with the proper type (3) 
+PASS Node interface: document.doctype must inherit property "ENTITY_REFERENCE_NODE" with the proper type (4) 
+PASS Node interface: document.doctype must inherit property "ENTITY_NODE" with the proper type (5) 
+PASS Node interface: document.doctype must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type (6) 
+PASS Node interface: document.doctype must inherit property "COMMENT_NODE" with the proper type (7) 
+PASS Node interface: document.doctype must inherit property "DOCUMENT_NODE" with the proper type (8) 
+PASS Node interface: document.doctype must inherit property "DOCUMENT_TYPE_NODE" with the proper type (9) 
+PASS Node interface: document.doctype must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type (10) 
+PASS Node interface: document.doctype must inherit property "NOTATION_NODE" with the proper type (11) 
+PASS Node interface: document.doctype must inherit property "nodeType" with the proper type (12) 
+PASS Node interface: document.doctype must inherit property "nodeName" with the proper type (13) 
+PASS Node interface: document.doctype must inherit property "baseURI" with the proper type (14) 
+PASS Node interface: document.doctype must inherit property "isConnected" with the proper type (15) 
+PASS Node interface: document.doctype must inherit property "ownerDocument" with the proper type (16) 
+PASS Node interface: document.doctype must inherit property "getRootNode" with the proper type (17) 
+PASS Node interface: calling getRootNode(GetRootNodeOptions) on document.doctype with too few arguments must throw TypeError 
+PASS Node interface: document.doctype must inherit property "parentNode" with the proper type (18) 
+PASS Node interface: document.doctype must inherit property "parentElement" with the proper type (19) 
+PASS Node interface: document.doctype must inherit property "hasChildNodes" with the proper type (20) 
+PASS Node interface: document.doctype must inherit property "childNodes" with the proper type (21) 
+PASS Node interface: document.doctype must inherit property "firstChild" with the proper type (22) 
+PASS Node interface: document.doctype must inherit property "lastChild" with the proper type (23) 
+PASS Node interface: document.doctype must inherit property "previousSibling" with the proper type (24) 
+PASS Node interface: document.doctype must inherit property "nextSibling" with the proper type (25) 
+PASS Node interface: document.doctype must inherit property "nodeValue" with the proper type (26) 
+PASS Node interface: document.doctype must inherit property "textContent" with the proper type (27) 
+PASS Node interface: document.doctype must inherit property "normalize" with the proper type (28) 
+PASS Node interface: document.doctype must inherit property "cloneNode" with the proper type (29) 
+PASS Node interface: calling cloneNode(boolean) on document.doctype with too few arguments must throw TypeError 
+PASS Node interface: document.doctype must inherit property "isEqualNode" with the proper type (30) 
+PASS Node interface: calling isEqualNode(Node) on document.doctype with too few arguments must throw TypeError 
+PASS Node interface: document.doctype must inherit property "isSameNode" with the proper type (31) 
+PASS Node interface: calling isSameNode(Node) on document.doctype with too few arguments must throw TypeError 
+PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32) 
+PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33) 
+PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34) 
+PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35) 
+PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36) 
+PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37) 
+PASS Node interface: document.doctype must inherit property "compareDocumentPosition" with the proper type (38) 
+PASS Node interface: calling compareDocumentPosition(Node) on document.doctype with too few arguments must throw TypeError 
+PASS Node interface: document.doctype must inherit property "contains" with the proper type (39) 
+PASS Node interface: calling contains(Node) on document.doctype with too few arguments must throw TypeError 
+PASS Node interface: document.doctype must inherit property "lookupPrefix" with the proper type (40) 
+PASS Node interface: calling lookupPrefix(DOMString) on document.doctype with too few arguments must throw TypeError 
+PASS Node interface: document.doctype must inherit property "lookupNamespaceURI" with the proper type (41) 
+PASS Node interface: calling lookupNamespaceURI(DOMString) on document.doctype with too few arguments must throw TypeError 
+PASS Node interface: document.doctype must inherit property "isDefaultNamespace" with the proper type (42) 
+PASS Node interface: calling isDefaultNamespace(DOMString) on document.doctype with too few arguments must throw TypeError 
+PASS Node interface: document.doctype must inherit property "insertBefore" with the proper type (43) 
+PASS Node interface: calling insertBefore(Node,Node) on document.doctype with too few arguments must throw TypeError 
+PASS Node interface: document.doctype must inherit property "appendChild" with the proper type (44) 
+PASS Node interface: calling appendChild(Node) on document.doctype with too few arguments must throw TypeError 
+PASS Node interface: document.doctype must inherit property "replaceChild" with the proper type (45) 
+PASS Node interface: calling replaceChild(Node,Node) on document.doctype with too few arguments must throw TypeError 
+PASS Node interface: document.doctype must inherit property "removeChild" with the proper type (46) 
+PASS Node interface: calling removeChild(Node) on document.doctype with too few arguments must throw TypeError 
+PASS EventTarget interface: document.doctype must inherit property "addEventListener" with the proper type (0) 
+PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on document.doctype with too few arguments must throw TypeError 
+PASS EventTarget interface: document.doctype must inherit property "removeEventListener" with the proper type (1) 
+PASS EventTarget interface: calling removeEventListener(DOMString,EventListener,[object Object],[object Object]) on document.doctype with too few arguments must throw TypeError 
+PASS EventTarget interface: document.doctype must inherit property "dispatchEvent" with the proper type (2) 
+PASS EventTarget interface: calling dispatchEvent(Event) on document.doctype with too few arguments must throw TypeError 
+PASS DocumentFragment interface: existence and properties of interface object 
+PASS DocumentFragment interface object length 
+PASS DocumentFragment interface object name 
+PASS DocumentFragment interface: existence and properties of interface prototype object 
+PASS DocumentFragment interface: existence and properties of interface prototype object's "constructor" property 
+PASS DocumentFragment interface: operation getElementById(DOMString) 
+PASS DocumentFragment interface: attribute children 
+PASS DocumentFragment interface: attribute firstElementChild 
+PASS DocumentFragment interface: attribute lastElementChild 
+PASS DocumentFragment interface: attribute childElementCount 
+PASS DocumentFragment interface: operation prepend([object Object],[object Object]) 
+PASS DocumentFragment interface: operation append([object Object],[object Object]) 
+PASS DocumentFragment interface: operation querySelector(DOMString) 
+PASS DocumentFragment interface: operation querySelectorAll(DOMString) 
+PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "getElementById" with the proper type (0) 
+PASS DocumentFragment interface: calling getElementById(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError 
+PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "children" with the proper type (1) 
+PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "firstElementChild" with the proper type (2) 
+PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "lastElementChild" with the proper type (3) 
+PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "childElementCount" with the proper type (4) 
+PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "prepend" with the proper type (5) 
+PASS DocumentFragment interface: calling prepend([object Object],[object Object]) on document.createDocumentFragment() with too few arguments must throw TypeError 
+PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "append" with the proper type (6) 
+PASS DocumentFragment interface: calling append([object Object],[object Object]) on document.createDocumentFragment() with too few arguments must throw TypeError 
+PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "querySelector" with the proper type (7) 
+PASS DocumentFragment interface: calling querySelector(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError 
+PASS DocumentFragment interface: document.createDocumentFragment() must inherit property "querySelectorAll" with the proper type (8) 
+PASS DocumentFragment interface: calling querySelectorAll(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError 
+PASS Node interface: document.createDocumentFragment() must inherit property "ELEMENT_NODE" with the proper type (0) 
+PASS Node interface: document.createDocumentFragment() must inherit property "ATTRIBUTE_NODE" with the proper type (1) 
+PASS Node interface: document.createDocumentFragment() must inherit property "TEXT_NODE" with the proper type (2) 
+PASS Node interface: document.createDocumentFragment() must inherit property "CDATA_SECTION_NODE" with the proper type (3) 
+PASS Node interface: document.createDocumentFragment() must inherit property "ENTITY_REFERENCE_NODE" with the proper type (4) 
+PASS Node interface: document.createDocumentFragment() must inherit property "ENTITY_NODE" with the proper type (5) 
+PASS Node interface: document.createDocumentFragment() must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type (6) 
+PASS Node interface: document.createDocumentFragment() must inherit property "COMMENT_NODE" with the proper type (7) 
+PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_NODE" with the proper type (8) 
+PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_TYPE_NODE" with the proper type (9) 
+PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type (10) 
+PASS Node interface: document.createDocumentFragment() must inherit property "NOTATION_NODE" with the proper type (11) 
+PASS Node interface: document.createDocumentFragment() must inherit property "nodeType" with the proper type (12) 
+PASS Node interface: document.createDocumentFragment() must inherit property "nodeName" with the proper type (13) 
+PASS Node interface: document.createDocumentFragment() must inherit property "baseURI" with the proper type (14) 
+PASS Node interface: document.createDocumentFragment() must inherit property "isConnected" with the proper type (15) 
+PASS Node interface: document.createDocumentFragment() must inherit property "ownerDocument" with the proper type (16) 
+PASS Node interface: document.createDocumentFragment() must inherit property "getRootNode" with the proper type (17) 
+PASS Node interface: calling getRootNode(GetRootNodeOptions) on document.createDocumentFragment() with too few arguments must throw TypeError 
+PASS Node interface: document.createDocumentFragment() must inherit property "parentNode" with the proper type (18) 
+PASS Node interface: document.createDocumentFragment() must inherit property "parentElement" with the proper type (19) 
+PASS Node interface: document.createDocumentFragment() must inherit property "hasChildNodes" with the proper type (20) 
+PASS Node interface: document.createDocumentFragment() must inherit property "childNodes" with the proper type (21) 
+PASS Node interface: document.createDocumentFragment() must inherit property "firstChild" with the proper type (22) 
+PASS Node interface: document.createDocumentFragment() must inherit property "lastChild" with the proper type (23) 
+PASS Node interface: document.createDocumentFragment() must inherit property "previousSibling" with the proper type (24) 
+PASS Node interface: document.createDocumentFragment() must inherit property "nextSibling" with the proper type (25) 
+PASS Node interface: document.createDocumentFragment() must inherit property "nodeValue" with the proper type (26) 
+PASS Node interface: document.createDocumentFragment() must inherit property "textContent" with the proper type (27) 
+PASS Node interface: document.createDocumentFragment() must inherit property "normalize" with the proper type (28) 
+PASS Node interface: document.createDocumentFragment() must inherit property "cloneNode" with the proper type (29) 
+PASS Node interface: calling cloneNode(boolean) on document.createDocumentFragment() with too few arguments must throw TypeError 
+PASS Node interface: document.createDocumentFragment() must inherit property "isEqualNode" with the proper type (30) 
+PASS Node interface: calling isEqualNode(Node) on document.createDocumentFragment() with too few arguments must throw TypeError 
+PASS Node interface: document.createDocumentFragment() must inherit property "isSameNode" with the proper type (31) 
+PASS Node interface: calling isSameNode(Node) on document.createDocumentFragment() with too few arguments must throw TypeError 
+PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32) 
+PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33) 
+PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34) 
+PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35) 
+PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36) 
+PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37) 
+PASS Node interface: document.createDocumentFragment() must inherit property "compareDocumentPosition" with the proper type (38) 
+PASS Node interface: calling compareDocumentPosition(Node) on document.createDocumentFragment() with too few arguments must throw TypeError 
+PASS Node interface: document.createDocumentFragment() must inherit property "contains" with the proper type (39) 
+PASS Node interface: calling contains(Node) on document.createDocumentFragment() with too few arguments must throw TypeError 
+PASS Node interface: document.createDocumentFragment() must inherit property "lookupPrefix" with the proper type (40) 
+PASS Node interface: calling lookupPrefix(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError 
+PASS Node interface: document.createDocumentFragment() must inherit property "lookupNamespaceURI" with the proper type (41) 
+PASS Node interface: calling lookupNamespaceURI(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError 
+PASS Node interface: document.createDocumentFragment() must inherit property "isDefaultNamespace" with the proper type (42) 
+PASS Node interface: calling isDefaultNamespace(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError 
+PASS Node interface: document.createDocumentFragment() must inherit property "insertBefore" with the proper type (43) 
+PASS Node interface: calling insertBefore(Node,Node) on document.createDocumentFragment() with too few arguments must throw TypeError 
+PASS Node interface: document.createDocumentFragment() must inherit property "appendChild" with the proper type (44) 
+PASS Node interface: calling appendChild(Node) on document.createDocumentFragment() with too few arguments must throw TypeError 
+PASS Node interface: document.createDocumentFragment() must inherit property "replaceChild" with the proper type (45) 
+PASS Node interface: calling replaceChild(Node,Node) on document.createDocumentFragment() with too few arguments must throw TypeError 
+PASS Node interface: document.createDocumentFragment() must inherit property "removeChild" with the proper type (46) 
+PASS Node interface: calling removeChild(Node) on document.createDocumentFragment() with too few arguments must throw TypeError 
+PASS EventTarget interface: document.createDocumentFragment() must inherit property "addEventListener" with the proper type (0) 
+PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on document.createDocumentFragment() with too few arguments must throw TypeError 
+PASS EventTarget interface: document.createDocumentFragment() must inherit property "removeEventListener" with the proper type (1) 
+PASS EventTarget interface: calling removeEventListener(DOMString,EventListener,[object Object],[object Object]) on document.createDocumentFragment() with too few arguments must throw TypeError 
+PASS EventTarget interface: document.createDocumentFragment() must inherit property "dispatchEvent" with the proper type (2) 
+PASS EventTarget interface: calling dispatchEvent(Event) on document.createDocumentFragment() with too few arguments must throw TypeError 
+PASS ShadowRoot interface: existence and properties of interface object 
+PASS ShadowRoot interface object length 
+PASS ShadowRoot interface object name 
+PASS ShadowRoot interface: existence and properties of interface prototype object 
+PASS ShadowRoot interface: existence and properties of interface prototype object's "constructor" property 
+PASS ShadowRoot interface: attribute mode 
+PASS ShadowRoot interface: attribute host 
+PASS Element interface: existence and properties of interface object 
+PASS Element interface object length 
+PASS Element interface object name 
+PASS Element interface: existence and properties of interface prototype object 
+PASS Element interface: existence and properties of interface prototype object's "constructor" property 
+PASS Element interface: attribute namespaceURI 
+PASS Element interface: attribute prefix 
+PASS Element interface: attribute localName 
+PASS Element interface: attribute tagName 
+PASS Element interface: attribute id 
+PASS Element interface: attribute className 
+PASS Element interface: attribute classList 
+PASS Element interface: attribute slot 
+PASS Element interface: operation hasAttributes() 
+PASS Element interface: attribute attributes 
+PASS Element interface: operation getAttributeNames() 
+PASS Element interface: operation getAttribute(DOMString) 
+PASS Element interface: operation getAttributeNS(DOMString,DOMString) 
+PASS Element interface: operation setAttribute(DOMString,DOMString) 
+PASS Element interface: operation setAttributeNS(DOMString,DOMString,DOMString) 
+PASS Element interface: operation removeAttribute(DOMString) 
+PASS Element interface: operation removeAttributeNS(DOMString,DOMString) 
+PASS Element interface: operation hasAttribute(DOMString) 
+PASS Element interface: operation hasAttributeNS(DOMString,DOMString) 
+PASS Element interface: operation getAttributeNode(DOMString) 
+PASS Element interface: operation getAttributeNodeNS(DOMString,DOMString) 
+PASS Element interface: operation setAttributeNode(Attr) 
+PASS Element interface: operation setAttributeNodeNS(Attr) 
+PASS Element interface: operation removeAttributeNode(Attr) 
+PASS Element interface: operation attachShadow(ShadowRootInit) 
+PASS Element interface: attribute shadowRoot 
+PASS Element interface: operation closest(DOMString) 
+PASS Element interface: operation matches(DOMString) 
+PASS Element interface: operation webkitMatchesSelector(DOMString) 
+PASS Element interface: operation getElementsByTagName(DOMString) 
+PASS Element interface: operation getElementsByTagNameNS(DOMString,DOMString) 
+PASS Element interface: operation getElementsByClassName(DOMString) 
+PASS Element interface: operation insertAdjacentElement(DOMString,Element) 
+PASS Element interface: operation insertAdjacentText(DOMString,DOMString) 
+PASS Element interface: attribute children 
+PASS Element interface: attribute firstElementChild 
+PASS Element interface: attribute lastElementChild 
+PASS Element interface: attribute childElementCount 
+PASS Element interface: operation prepend([object Object],[object Object]) 
+PASS Element interface: operation append([object Object],[object Object]) 
+PASS Element interface: operation querySelector(DOMString) 
+PASS Element interface: operation querySelectorAll(DOMString) 
+PASS Element interface: attribute previousElementSibling 
+PASS Element interface: attribute nextElementSibling 
+PASS Element interface: operation before([object Object],[object Object]) 
+PASS Element interface: operation after([object Object],[object Object]) 
+PASS Element interface: operation replaceWith([object Object],[object Object]) 
+PASS Element interface: operation remove() 
+PASS Element interface: attribute assignedSlot 
+PASS Element interface: element must inherit property "namespaceURI" with the proper type (0) 
+PASS Element interface: element must inherit property "prefix" with the proper type (1) 
+PASS Element interface: element must inherit property "localName" with the proper type (2) 
+PASS Element interface: element must inherit property "tagName" with the proper type (3) 
+PASS Element interface: element must inherit property "id" with the proper type (4) 
+PASS Element interface: element must inherit property "className" with the proper type (5) 
+PASS Element interface: element must inherit property "classList" with the proper type (6) 
+PASS Element interface: element must inherit property "slot" with the proper type (7) 
+PASS Element interface: element must inherit property "hasAttributes" with the proper type (8) 
+PASS Element interface: element must inherit property "attributes" with the proper type (9) 
+PASS Element interface: element must inherit property "getAttributeNames" with the proper type (10) 
+PASS Element interface: element must inherit property "getAttribute" with the proper type (11) 
+PASS Element interface: calling getAttribute(DOMString) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "getAttributeNS" with the proper type (12) 
+PASS Element interface: calling getAttributeNS(DOMString,DOMString) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "setAttribute" with the proper type (13) 
+PASS Element interface: calling setAttribute(DOMString,DOMString) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "setAttributeNS" with the proper type (14) 
+PASS Element interface: calling setAttributeNS(DOMString,DOMString,DOMString) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "removeAttribute" with the proper type (15) 
+PASS Element interface: calling removeAttribute(DOMString) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "removeAttributeNS" with the proper type (16) 
+PASS Element interface: calling removeAttributeNS(DOMString,DOMString) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "hasAttribute" with the proper type (17) 
+PASS Element interface: calling hasAttribute(DOMString) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "hasAttributeNS" with the proper type (18) 
+PASS Element interface: calling hasAttributeNS(DOMString,DOMString) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "getAttributeNode" with the proper type (19) 
+PASS Element interface: calling getAttributeNode(DOMString) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "getAttributeNodeNS" with the proper type (20) 
+PASS Element interface: calling getAttributeNodeNS(DOMString,DOMString) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "setAttributeNode" with the proper type (21) 
+PASS Element interface: calling setAttributeNode(Attr) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "setAttributeNodeNS" with the proper type (22) 
+PASS Element interface: calling setAttributeNodeNS(Attr) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "removeAttributeNode" with the proper type (23) 
+PASS Element interface: calling removeAttributeNode(Attr) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "attachShadow" with the proper type (24) 
+PASS Element interface: calling attachShadow(ShadowRootInit) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "shadowRoot" with the proper type (25) 
+PASS Element interface: element must inherit property "closest" with the proper type (26) 
+PASS Element interface: calling closest(DOMString) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "matches" with the proper type (27) 
+PASS Element interface: calling matches(DOMString) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "webkitMatchesSelector" with the proper type (28) 
+PASS Element interface: calling webkitMatchesSelector(DOMString) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "getElementsByTagName" with the proper type (29) 
+PASS Element interface: calling getElementsByTagName(DOMString) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "getElementsByTagNameNS" with the proper type (30) 
+PASS Element interface: calling getElementsByTagNameNS(DOMString,DOMString) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "getElementsByClassName" with the proper type (31) 
+PASS Element interface: calling getElementsByClassName(DOMString) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "insertAdjacentElement" with the proper type (32) 
+PASS Element interface: calling insertAdjacentElement(DOMString,Element) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "insertAdjacentText" with the proper type (33) 
+PASS Element interface: calling insertAdjacentText(DOMString,DOMString) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "children" with the proper type (34) 
+PASS Element interface: element must inherit property "firstElementChild" with the proper type (35) 
+PASS Element interface: element must inherit property "lastElementChild" with the proper type (36) 
+PASS Element interface: element must inherit property "childElementCount" with the proper type (37) 
+PASS Element interface: element must inherit property "prepend" with the proper type (38) 
+PASS Element interface: calling prepend([object Object],[object Object]) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "append" with the proper type (39) 
+PASS Element interface: calling append([object Object],[object Object]) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "querySelector" with the proper type (40) 
+PASS Element interface: calling querySelector(DOMString) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "querySelectorAll" with the proper type (41) 
+PASS Element interface: calling querySelectorAll(DOMString) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "previousElementSibling" with the proper type (42) 
+PASS Element interface: element must inherit property "nextElementSibling" with the proper type (43) 
+PASS Element interface: element must inherit property "before" with the proper type (44) 
+PASS Element interface: calling before([object Object],[object Object]) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "after" with the proper type (45) 
+PASS Element interface: calling after([object Object],[object Object]) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "replaceWith" with the proper type (46) 
+PASS Element interface: calling replaceWith([object Object],[object Object]) on element with too few arguments must throw TypeError 
+PASS Element interface: element must inherit property "remove" with the proper type (47) 
+PASS Element interface: element must inherit property "assignedSlot" with the proper type (48) 
+PASS Node interface: element must inherit property "ELEMENT_NODE" with the proper type (0) 
+PASS Node interface: element must inherit property "ATTRIBUTE_NODE" with the proper type (1) 
+PASS Node interface: element must inherit property "TEXT_NODE" with the proper type (2) 
+PASS Node interface: element must inherit property "CDATA_SECTION_NODE" with the proper type (3) 
+PASS Node interface: element must inherit property "ENTITY_REFERENCE_NODE" with the proper type (4) 
+PASS Node interface: element must inherit property "ENTITY_NODE" with the proper type (5) 
+PASS Node interface: element must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type (6) 
+PASS Node interface: element must inherit property "COMMENT_NODE" with the proper type (7) 
+PASS Node interface: element must inherit property "DOCUMENT_NODE" with the proper type (8) 
+PASS Node interface: element must inherit property "DOCUMENT_TYPE_NODE" with the proper type (9) 
+PASS Node interface: element must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type (10) 
+PASS Node interface: element must inherit property "NOTATION_NODE" with the proper type (11) 
+PASS Node interface: element must inherit property "nodeType" with the proper type (12) 
+PASS Node interface: element must inherit property "nodeName" with the proper type (13) 
+PASS Node interface: element must inherit property "baseURI" with the proper type (14) 
+PASS Node interface: element must inherit property "isConnected" with the proper type (15) 
+PASS Node interface: element must inherit property "ownerDocument" with the proper type (16) 
+PASS Node interface: element must inherit property "getRootNode" with the proper type (17) 
+PASS Node interface: calling getRootNode(GetRootNodeOptions) on element with too few arguments must throw TypeError 
+PASS Node interface: element must inherit property "parentNode" with the proper type (18) 
+PASS Node interface: element must inherit property "parentElement" with the proper type (19) 
+PASS Node interface: element must inherit property "hasChildNodes" with the proper type (20) 
+PASS Node interface: element must inherit property "childNodes" with the proper type (21) 
+PASS Node interface: element must inherit property "firstChild" with the proper type (22) 
+PASS Node interface: element must inherit property "lastChild" with the proper type (23) 
+PASS Node interface: element must inherit property "previousSibling" with the proper type (24) 
+PASS Node interface: element must inherit property "nextSibling" with the proper type (25) 
+PASS Node interface: element must inherit property "nodeValue" with the proper type (26) 
+PASS Node interface: element must inherit property "textContent" with the proper type (27) 
+PASS Node interface: element must inherit property "normalize" with the proper type (28) 
+PASS Node interface: element must inherit property "cloneNode" with the proper type (29) 
+PASS Node interface: calling cloneNode(boolean) on element with too few arguments must throw TypeError 
+PASS Node interface: element must inherit property "isEqualNode" with the proper type (30) 
+PASS Node interface: calling isEqualNode(Node) on element with too few arguments must throw TypeError 
+PASS Node interface: element must inherit property "isSameNode" with the proper type (31) 
+PASS Node interface: calling isSameNode(Node) on element with too few arguments must throw TypeError 
+PASS Node interface: element must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32) 
+PASS Node interface: element must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33) 
+PASS Node interface: element must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34) 
+PASS Node interface: element must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35) 
+PASS Node interface: element must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36) 
+PASS Node interface: element must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37) 
+PASS Node interface: element must inherit property "compareDocumentPosition" with the proper type (38) 
+PASS Node interface: calling compareDocumentPosition(Node) on element with too few arguments must throw TypeError 
+PASS Node interface: element must inherit property "contains" with the proper type (39) 
+PASS Node interface: calling contains(Node) on element with too few arguments must throw TypeError 
+PASS Node interface: element must inherit property "lookupPrefix" with the proper type (40) 
+PASS Node interface: calling lookupPrefix(DOMString) on element with too few arguments must throw TypeError 
+PASS Node interface: element must inherit property "lookupNamespaceURI" with the proper type (41) 
+PASS Node interface: calling lookupNamespaceURI(DOMString) on element with too few arguments must throw TypeError 
+PASS Node interface: element must inherit property "isDefaultNamespace" with the proper type (42) 
+PASS Node interface: calling isDefaultNamespace(DOMString) on element with too few arguments must throw TypeError 
+PASS Node interface: element must inherit property "insertBefore" with the proper type (43) 
+PASS Node interface: calling insertBefore(Node,Node) on element with too few arguments must throw TypeError 
+PASS Node interface: element must inherit property "appendChild" with the proper type (44) 
+PASS Node interface: calling appendChild(Node) on element with too few arguments must throw TypeError 
+PASS Node interface: element must inherit property "replaceChild" with the proper type (45) 
+PASS Node interface: calling replaceChild(Node,Node) on element with too few arguments must throw TypeError 
+PASS Node interface: element must inherit property "removeChild" with the proper type (46) 
+PASS Node interface: calling removeChild(Node) on element with too few arguments must throw TypeError 
+PASS EventTarget interface: element must inherit property "addEventListener" with the proper type (0) 
+PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on element with too few arguments must throw TypeError 
+PASS EventTarget interface: element must inherit property "removeEventListener" with the proper type (1) 
+PASS EventTarget interface: calling removeEventListener(DOMString,EventListener,[object Object],[object Object]) on element with too few arguments must throw TypeError 
+PASS EventTarget interface: element must inherit property "dispatchEvent" with the proper type (2) 
+PASS EventTarget interface: calling dispatchEvent(Event) on element with too few arguments must throw TypeError 
+PASS NamedNodeMap interface: existence and properties of interface object 
+PASS NamedNodeMap interface object length 
+PASS NamedNodeMap interface object name 
+PASS NamedNodeMap interface: existence and properties of interface prototype object 
+PASS NamedNodeMap interface: existence and properties of interface prototype object's "constructor" property 
+PASS NamedNodeMap interface: attribute length 
+PASS NamedNodeMap interface: operation item(unsigned long) 
+PASS NamedNodeMap interface: operation getNamedItem(DOMString) 
+PASS NamedNodeMap interface: operation getNamedItemNS(DOMString,DOMString) 
+PASS NamedNodeMap interface: operation setNamedItem(Attr) 
+PASS NamedNodeMap interface: operation setNamedItemNS(Attr) 
+PASS NamedNodeMap interface: operation removeNamedItem(DOMString) 
+PASS NamedNodeMap interface: operation removeNamedItemNS(DOMString,DOMString) 
+PASS Attr interface: existence and properties of interface object 
+PASS Attr interface object length 
+PASS Attr interface object name 
+PASS Attr interface: existence and properties of interface prototype object 
+PASS Attr interface: existence and properties of interface prototype object's "constructor" property 
+PASS Attr interface: attribute namespaceURI 
+PASS Attr interface: attribute prefix 
+PASS Attr interface: attribute localName 
+PASS Attr interface: attribute name 
+PASS Attr interface: attribute value 
+PASS Attr interface: attribute ownerElement 
+PASS Attr interface: attribute specified 
+PASS Attr interface: document.querySelector("[id]").attributes[0] must inherit property "namespaceURI" with the proper type (0) 
+PASS Attr interface: document.querySelector("[id]").attributes[0] must inherit property "prefix" with the proper type (1) 
+PASS Attr interface: document.querySelector("[id]").attributes[0] must inherit property "localName" with the proper type (2) 
+PASS Attr interface: document.querySelector("[id]").attributes[0] must inherit property "name" with the proper type (3) 
+PASS Attr interface: document.querySelector("[id]").attributes[0] must inherit property "value" with the proper type (4) 
+PASS Attr interface: document.querySelector("[id]").attributes[0] must inherit property "ownerElement" with the proper type (5) 
+PASS Attr interface: document.querySelector("[id]").attributes[0] must inherit property "specified" with the proper type (6) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "ELEMENT_NODE" with the proper type (0) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "ATTRIBUTE_NODE" with the proper type (1) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "TEXT_NODE" with the proper type (2) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "CDATA_SECTION_NODE" with the proper type (3) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "ENTITY_REFERENCE_NODE" with the proper type (4) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "ENTITY_NODE" with the proper type (5) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type (6) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "COMMENT_NODE" with the proper type (7) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_NODE" with the proper type (8) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_TYPE_NODE" with the proper type (9) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type (10) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "NOTATION_NODE" with the proper type (11) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "nodeType" with the proper type (12) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "nodeName" with the proper type (13) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "baseURI" with the proper type (14) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isConnected" with the proper type (15) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "ownerDocument" with the proper type (16) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "getRootNode" with the proper type (17) 
+PASS Node interface: calling getRootNode(GetRootNodeOptions) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "parentNode" with the proper type (18) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "parentElement" with the proper type (19) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "hasChildNodes" with the proper type (20) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "childNodes" with the proper type (21) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "firstChild" with the proper type (22) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "lastChild" with the proper type (23) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "previousSibling" with the proper type (24) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "nextSibling" with the proper type (25) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "nodeValue" with the proper type (26) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "textContent" with the proper type (27) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "normalize" with the proper type (28) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "cloneNode" with the proper type (29) 
+PASS Node interface: calling cloneNode(boolean) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isEqualNode" with the proper type (30) 
+PASS Node interface: calling isEqualNode(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isSameNode" with the proper type (31) 
+PASS Node interface: calling isSameNode(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "compareDocumentPosition" with the proper type (38) 
+PASS Node interface: calling compareDocumentPosition(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "contains" with the proper type (39) 
+PASS Node interface: calling contains(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "lookupPrefix" with the proper type (40) 
+PASS Node interface: calling lookupPrefix(DOMString) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "lookupNamespaceURI" with the proper type (41) 
+PASS Node interface: calling lookupNamespaceURI(DOMString) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isDefaultNamespace" with the proper type (42) 
+PASS Node interface: calling isDefaultNamespace(DOMString) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "insertBefore" with the proper type (43) 
+PASS Node interface: calling insertBefore(Node,Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "appendChild" with the proper type (44) 
+PASS Node interface: calling appendChild(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "replaceChild" with the proper type (45) 
+PASS Node interface: calling replaceChild(Node,Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "removeChild" with the proper type (46) 
+PASS Node interface: calling removeChild(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
+PASS EventTarget interface: document.querySelector("[id]").attributes[0] must inherit property "addEventListener" with the proper type (0) 
+PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
+PASS EventTarget interface: document.querySelector("[id]").attributes[0] must inherit property "removeEventListener" with the proper type (1) 
+PASS EventTarget interface: calling removeEventListener(DOMString,EventListener,[object Object],[object Object]) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
+PASS EventTarget interface: document.querySelector("[id]").attributes[0] must inherit property "dispatchEvent" with the proper type (2) 
+PASS EventTarget interface: calling dispatchEvent(Event) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
+PASS CharacterData interface: existence and properties of interface object 
+PASS CharacterData interface object length 
+PASS CharacterData interface object name 
+PASS CharacterData interface: existence and properties of interface prototype object 
+PASS CharacterData interface: existence and properties of interface prototype object's "constructor" property 
+PASS CharacterData interface: attribute data 
+PASS CharacterData interface: attribute length 
+PASS CharacterData interface: operation substringData(unsigned long,unsigned long) 
+PASS CharacterData interface: operation appendData(DOMString) 
+PASS CharacterData interface: operation insertData(unsigned long,DOMString) 
+PASS CharacterData interface: operation deleteData(unsigned long,unsigned long) 
+PASS CharacterData interface: operation replaceData(unsigned long,unsigned long,DOMString) 
+PASS CharacterData interface: attribute previousElementSibling 
+PASS CharacterData interface: attribute nextElementSibling 
+PASS CharacterData interface: operation before([object Object],[object Object]) 
+PASS CharacterData interface: operation after([object Object],[object Object]) 
+PASS CharacterData interface: operation replaceWith([object Object],[object Object]) 
+PASS CharacterData interface: operation remove() 
+PASS Text interface: existence and properties of interface object 
+PASS Text interface object length 
+PASS Text interface object name 
+PASS Text interface: existence and properties of interface prototype object 
+PASS Text interface: existence and properties of interface prototype object's "constructor" property 
+PASS Text interface: operation splitText(unsigned long) 
+PASS Text interface: attribute wholeText 
+PASS Text interface: attribute assignedSlot 
+PASS Text interface: document.createTextNode("abc") must inherit property "splitText" with the proper type (0) 
+PASS Text interface: calling splitText(unsigned long) on document.createTextNode("abc") with too few arguments must throw TypeError 
+PASS Text interface: document.createTextNode("abc") must inherit property "wholeText" with the proper type (1) 
+PASS Text interface: document.createTextNode("abc") must inherit property "assignedSlot" with the proper type (2) 
+PASS CharacterData interface: document.createTextNode("abc") must inherit property "data" with the proper type (0) 
+PASS CharacterData interface: document.createTextNode("abc") must inherit property "length" with the proper type (1) 
+PASS CharacterData interface: document.createTextNode("abc") must inherit property "substringData" with the proper type (2) 
+PASS CharacterData interface: calling substringData(unsigned long,unsigned long) on document.createTextNode("abc") with too few arguments must throw TypeError 
+PASS CharacterData interface: document.createTextNode("abc") must inherit property "appendData" with the proper type (3) 
+PASS CharacterData interface: calling appendData(DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError 
+PASS CharacterData interface: document.createTextNode("abc") must inherit property "insertData" with the proper type (4) 
+PASS CharacterData interface: calling insertData(unsigned long,DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError 
+PASS CharacterData interface: document.createTextNode("abc") must inherit property "deleteData" with the proper type (5) 
+PASS CharacterData interface: calling deleteData(unsigned long,unsigned long) on document.createTextNode("abc") with too few arguments must throw TypeError 
+PASS CharacterData interface: document.createTextNode("abc") must inherit property "replaceData" with the proper type (6) 
+PASS CharacterData interface: calling replaceData(unsigned long,unsigned long,DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError 
+PASS CharacterData interface: document.createTextNode("abc") must inherit property "previousElementSibling" with the proper type (7) 
+PASS CharacterData interface: document.createTextNode("abc") must inherit property "nextElementSibling" with the proper type (8) 
+PASS CharacterData interface: document.createTextNode("abc") must inherit property "before" with the proper type (9) 
+PASS CharacterData interface: calling before([object Object],[object Object]) on document.createTextNode("abc") with too few arguments must throw TypeError 
+PASS CharacterData interface: document.createTextNode("abc") must inherit property "after" with the proper type (10) 
+PASS CharacterData interface: calling after([object Object],[object Object]) on document.createTextNode("abc") with too few arguments must throw TypeError 
+PASS CharacterData interface: document.createTextNode("abc") must inherit property "replaceWith" with the proper type (11) 
+PASS CharacterData interface: calling replaceWith([object Object],[object Object]) on document.createTextNode("abc") with too few arguments must throw TypeError 
+PASS CharacterData interface: document.createTextNode("abc") must inherit property "remove" with the proper type (12) 
+PASS Node interface: document.createTextNode("abc") must inherit property "ELEMENT_NODE" with the proper type (0) 
+PASS Node interface: document.createTextNode("abc") must inherit property "ATTRIBUTE_NODE" with the proper type (1) 
+PASS Node interface: document.createTextNode("abc") must inherit property "TEXT_NODE" with the proper type (2) 
+PASS Node interface: document.createTextNode("abc") must inherit property "CDATA_SECTION_NODE" with the proper type (3) 
+PASS Node interface: document.createTextNode("abc") must inherit property "ENTITY_REFERENCE_NODE" with the proper type (4) 
+PASS Node interface: document.createTextNode("abc") must inherit property "ENTITY_NODE" with the proper type (5) 
+PASS Node interface: document.createTextNode("abc") must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type (6) 
+PASS Node interface: document.createTextNode("abc") must inherit property "COMMENT_NODE" with the proper type (7) 
+PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_NODE" with the proper type (8) 
+PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_TYPE_NODE" with the proper type (9) 
+PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type (10) 
+PASS Node interface: document.createTextNode("abc") must inherit property "NOTATION_NODE" with the proper type (11) 
+PASS Node interface: document.createTextNode("abc") must inherit property "nodeType" with the proper type (12) 
+PASS Node interface: document.createTextNode("abc") must inherit property "nodeName" with the proper type (13) 
+PASS Node interface: document.createTextNode("abc") must inherit property "baseURI" with the proper type (14) 
+PASS Node interface: document.createTextNode("abc") must inherit property "isConnected" with the proper type (15) 
+PASS Node interface: document.createTextNode("abc") must inherit property "ownerDocument" with the proper type (16) 
+PASS Node interface: document.createTextNode("abc") must inherit property "getRootNode" with the proper type (17) 
+PASS Node interface: calling getRootNode(GetRootNodeOptions) on document.createTextNode("abc") with too few arguments must throw TypeError 
+PASS Node interface: document.createTextNode("abc") must inherit property "parentNode" with the proper type (18) 
+PASS Node interface: document.createTextNode("abc") must inherit property "parentElement" with the proper type (19) 
+PASS Node interface: document.createTextNode("abc") must inherit property "hasChildNodes" with the proper type (20) 
+PASS Node interface: document.createTextNode("abc") must inherit property "childNodes" with the proper type (21) 
+PASS Node interface: document.createTextNode("abc") must inherit property "firstChild" with the proper type (22) 
+PASS Node interface: document.createTextNode("abc") must inherit property "lastChild" with the proper type (23) 
+PASS Node interface: document.createTextNode("abc") must inherit property "previousSibling" with the proper type (24) 
+PASS Node interface: document.createTextNode("abc") must inherit property "nextSibling" with the proper type (25) 
+PASS Node interface: document.createTextNode("abc") must inherit property "nodeValue" with the proper type (26) 
+PASS Node interface: document.createTextNode("abc") must inherit property "textContent" with the proper type (27) 
+PASS Node interface: document.createTextNode("abc") must inherit property "normalize" with the proper type (28) 
+PASS Node interface: document.createTextNode("abc") must inherit property "cloneNode" with the proper type (29) 
+PASS Node interface: calling cloneNode(boolean) on document.createTextNode("abc") with too few arguments must throw TypeError 
+PASS Node interface: document.createTextNode("abc") must inherit property "isEqualNode" with the proper type (30) 
+PASS Node interface: calling isEqualNode(Node) on document.createTextNode("abc") with too few arguments must throw TypeError 
+PASS Node interface: document.createTextNode("abc") must inherit property "isSameNode" with the proper type (31) 
+PASS Node interface: calling isSameNode(Node) on document.createTextNode("abc") with too few arguments must throw TypeError 
+PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32) 
+PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33) 
+PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34) 
+PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35) 
+PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36) 
+PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37) 
+PASS Node interface: document.createTextNode("abc") must inherit property "compareDocumentPosition" with the proper type (38) 
+PASS Node interface: calling compareDocumentPosition(Node) on document.createTextNode("abc") with too few arguments must throw TypeError 
+PASS Node interface: document.createTextNode("abc") must inherit property "contains" with the proper type (39) 
+PASS Node interface: calling contains(Node) on document.createTextNode("abc") with too few arguments must throw TypeError 
+PASS Node interface: document.createTextNode("abc") must inherit property "lookupPrefix" with the proper type (40) 
+PASS Node interface: calling lookupPrefix(DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError 
+PASS Node interface: document.createTextNode("abc") must inherit property "lookupNamespaceURI" with the proper type (41) 
+PASS Node interface: calling lookupNamespaceURI(DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError 
+PASS Node interface: document.createTextNode("abc") must inherit property "isDefaultNamespace" with the proper type (42) 
+PASS Node interface: calling isDefaultNamespace(DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError 
+PASS Node interface: document.createTextNode("abc") must inherit property "insertBefore" with the proper type (43) 
+PASS Node interface: calling insertBefore(Node,Node) on document.createTextNode("abc") with too few arguments must throw TypeError 
+PASS Node interface: document.createTextNode("abc") must inherit property "appendChild" with the proper type (44) 
+PASS Node interface: calling appendChild(Node) on document.createTextNode("abc") with too few arguments must throw TypeError 
+PASS Node interface: document.createTextNode("abc") must inherit property "replaceChild" with the proper type (45) 
+PASS Node interface: calling replaceChild(Node,Node) on document.createTextNode("abc") with too few arguments must throw TypeError 
+PASS Node interface: document.createTextNode("abc") must inherit property "removeChild" with the proper type (46) 
+PASS Node interface: calling removeChild(Node) on document.createTextNode("abc") with too few arguments must throw TypeError 
+PASS EventTarget interface: document.createTextNode("abc") must inherit property "addEventListener" with the proper type (0) 
+PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on document.createTextNode("abc") with too few arguments must throw TypeError 
+PASS EventTarget interface: document.createTextNode("abc") must inherit property "removeEventListener" with the proper type (1) 
+PASS EventTarget interface: calling removeEventListener(DOMString,EventListener,[object Object],[object Object]) on document.createTextNode("abc") with too few arguments must throw TypeError 
+PASS EventTarget interface: document.createTextNode("abc") must inherit property "dispatchEvent" with the proper type (2) 
+PASS EventTarget interface: calling dispatchEvent(Event) on document.createTextNode("abc") with too few arguments must throw TypeError 
+PASS CDATASection interface: existence and properties of interface object 
+PASS CDATASection interface object length 
+PASS CDATASection interface object name 
+PASS CDATASection interface: existence and properties of interface prototype object 
+PASS CDATASection interface: existence and properties of interface prototype object's "constructor" property 
+PASS ProcessingInstruction interface: existence and properties of interface object 
+PASS ProcessingInstruction interface object length 
+PASS ProcessingInstruction interface object name 
+PASS ProcessingInstruction interface: existence and properties of interface prototype object 
+PASS ProcessingInstruction interface: existence and properties of interface prototype object's "constructor" property 
+PASS ProcessingInstruction interface: attribute target 
+PASS ProcessingInstruction interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "target" with the proper type (0) 
+PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "data" with the proper type (0) 
+PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "length" with the proper type (1) 
+PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "substringData" with the proper type (2) 
+PASS CharacterData interface: calling substringData(unsigned long,unsigned long) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
+PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "appendData" with the proper type (3) 
+PASS CharacterData interface: calling appendData(DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
+PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "insertData" with the proper type (4) 
+PASS CharacterData interface: calling insertData(unsigned long,DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
+PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "deleteData" with the proper type (5) 
+PASS CharacterData interface: calling deleteData(unsigned long,unsigned long) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
+PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "replaceData" with the proper type (6) 
+PASS CharacterData interface: calling replaceData(unsigned long,unsigned long,DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
+PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "previousElementSibling" with the proper type (7) 
+PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nextElementSibling" with the proper type (8) 
+PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "before" with the proper type (9) 
+PASS CharacterData interface: calling before([object Object],[object Object]) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
+PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "after" with the proper type (10) 
+PASS CharacterData interface: calling after([object Object],[object Object]) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
+PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "replaceWith" with the proper type (11) 
+PASS CharacterData interface: calling replaceWith([object Object],[object Object]) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
+PASS CharacterData interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "remove" with the proper type (12) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "ELEMENT_NODE" with the proper type (0) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "ATTRIBUTE_NODE" with the proper type (1) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "TEXT_NODE" with the proper type (2) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "CDATA_SECTION_NODE" with the proper type (3) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "ENTITY_REFERENCE_NODE" with the proper type (4) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "ENTITY_NODE" with the proper type (5) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type (6) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "COMMENT_NODE" with the proper type (7) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_NODE" with the proper type (8) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_TYPE_NODE" with the proper type (9) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type (10) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "NOTATION_NODE" with the proper type (11) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nodeType" with the proper type (12) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nodeName" with the proper type (13) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "baseURI" with the proper type (14) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isConnected" with the proper type (15) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "ownerDocument" with the proper type (16) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "getRootNode" with the proper type (17) 
+PASS Node interface: calling getRootNode(GetRootNodeOptions) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "parentNode" with the proper type (18) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "parentElement" with the proper type (19) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "hasChildNodes" with the proper type (20) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "childNodes" with the proper type (21) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "firstChild" with the proper type (22) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "lastChild" with the proper type (23) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "previousSibling" with the proper type (24) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nextSibling" with the proper type (25) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nodeValue" with the proper type (26) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "textContent" with the proper type (27) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "normalize" with the proper type (28) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "cloneNode" with the proper type (29) 
+PASS Node interface: calling cloneNode(boolean) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isEqualNode" with the proper type (30) 
+PASS Node interface: calling isEqualNode(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isSameNode" with the proper type (31) 
+PASS Node interface: calling isSameNode(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "compareDocumentPosition" with the proper type (38) 
+PASS Node interface: calling compareDocumentPosition(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "contains" with the proper type (39) 
+PASS Node interface: calling contains(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "lookupPrefix" with the proper type (40) 
+PASS Node interface: calling lookupPrefix(DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "lookupNamespaceURI" with the proper type (41) 
+PASS Node interface: calling lookupNamespaceURI(DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isDefaultNamespace" with the proper type (42) 
+PASS Node interface: calling isDefaultNamespace(DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "insertBefore" with the proper type (43) 
+PASS Node interface: calling insertBefore(Node,Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "appendChild" with the proper type (44) 
+PASS Node interface: calling appendChild(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "replaceChild" with the proper type (45) 
+PASS Node interface: calling replaceChild(Node,Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "removeChild" with the proper type (46) 
+PASS Node interface: calling removeChild(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
+PASS EventTarget interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "addEventListener" with the proper type (0) 
+PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
+PASS EventTarget interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "removeEventListener" with the proper type (1) 
+PASS EventTarget interface: calling removeEventListener(DOMString,EventListener,[object Object],[object Object]) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
+PASS EventTarget interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "dispatchEvent" with the proper type (2) 
+PASS EventTarget interface: calling dispatchEvent(Event) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
+PASS Comment interface: existence and properties of interface object 
+PASS Comment interface object length 
+PASS Comment interface object name 
+PASS Comment interface: existence and properties of interface prototype object 
+PASS Comment interface: existence and properties of interface prototype object's "constructor" property 
+PASS CharacterData interface: document.createComment("abc") must inherit property "data" with the proper type (0) 
+PASS CharacterData interface: document.createComment("abc") must inherit property "length" with the proper type (1) 
+PASS CharacterData interface: document.createComment("abc") must inherit property "substringData" with the proper type (2) 
+PASS CharacterData interface: calling substringData(unsigned long,unsigned long) on document.createComment("abc") with too few arguments must throw TypeError 
+PASS CharacterData interface: document.createComment("abc") must inherit property "appendData" with the proper type (3) 
+PASS CharacterData interface: calling appendData(DOMString) on document.createComment("abc") with too few arguments must throw TypeError 
+PASS CharacterData interface: document.createComment("abc") must inherit property "insertData" with the proper type (4) 
+PASS CharacterData interface: calling insertData(unsigned long,DOMString) on document.createComment("abc") with too few arguments must throw TypeError 
+PASS CharacterData interface: document.createComment("abc") must inherit property "deleteData" with the proper type (5) 
+PASS CharacterData interface: calling deleteData(unsigned long,unsigned long) on document.createComment("abc") with too few arguments must throw TypeError 
+PASS CharacterData interface: document.createComment("abc") must inherit property "replaceData" with the proper type (6) 
+PASS CharacterData interface: calling replaceData(unsigned long,unsigned long,DOMString) on document.createComment("abc") with too few arguments must throw TypeError 
+PASS CharacterData interface: document.createComment("abc") must inherit property "previousElementSibling" with the proper type (7) 
+PASS CharacterData interface: document.createComment("abc") must inherit property "nextElementSibling" with the proper type (8) 
+PASS CharacterData interface: document.createComment("abc") must inherit property "before" with the proper type (9) 
+PASS CharacterData interface: calling before([object Object],[object Object]) on document.createComment("abc") with too few arguments must throw TypeError 
+PASS CharacterData interface: document.createComment("abc") must inherit property "after" with the proper type (10) 
+PASS CharacterData interface: calling after([object Object],[object Object]) on document.createComment("abc") with too few arguments must throw TypeError 
+PASS CharacterData interface: document.createComment("abc") must inherit property "replaceWith" with the proper type (11) 
+PASS CharacterData interface: calling replaceWith([object Object],[object Object]) on document.createComment("abc") with too few arguments must throw TypeError 
+PASS CharacterData interface: document.createComment("abc") must inherit property "remove" with the proper type (12) 
+PASS Node interface: document.createComment("abc") must inherit property "ELEMENT_NODE" with the proper type (0) 
+PASS Node interface: document.createComment("abc") must inherit property "ATTRIBUTE_NODE" with the proper type (1) 
+PASS Node interface: document.createComment("abc") must inherit property "TEXT_NODE" with the proper type (2) 
+PASS Node interface: document.createComment("abc") must inherit property "CDATA_SECTION_NODE" with the proper type (3) 
+PASS Node interface: document.createComment("abc") must inherit property "ENTITY_REFERENCE_NODE" with the proper type (4) 
+PASS Node interface: document.createComment("abc") must inherit property "ENTITY_NODE" with the proper type (5) 
+PASS Node interface: document.createComment("abc") must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type (6) 
+PASS Node interface: document.createComment("abc") must inherit property "COMMENT_NODE" with the proper type (7) 
+PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_NODE" with the proper type (8) 
+PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_TYPE_NODE" with the proper type (9) 
+PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type (10) 
+PASS Node interface: document.createComment("abc") must inherit property "NOTATION_NODE" with the proper type (11) 
+PASS Node interface: document.createComment("abc") must inherit property "nodeType" with the proper type (12) 
+PASS Node interface: document.createComment("abc") must inherit property "nodeName" with the proper type (13) 
+PASS Node interface: document.createComment("abc") must inherit property "baseURI" with the proper type (14) 
+PASS Node interface: document.createComment("abc") must inherit property "isConnected" with the proper type (15) 
+PASS Node interface: document.createComment("abc") must inherit property "ownerDocument" with the proper type (16) 
+PASS Node interface: document.createComment("abc") must inherit property "getRootNode" with the proper type (17) 
+PASS Node interface: calling getRootNode(GetRootNodeOptions) on document.createComment("abc") with too few arguments must throw TypeError 
+PASS Node interface: document.createComment("abc") must inherit property "parentNode" with the proper type (18) 
+PASS Node interface: document.createComment("abc") must inherit property "parentElement" with the proper type (19) 
+PASS Node interface: document.createComment("abc") must inherit property "hasChildNodes" with the proper type (20) 
+PASS Node interface: document.createComment("abc") must inherit property "childNodes" with the proper type (21) 
+PASS Node interface: document.createComment("abc") must inherit property "firstChild" with the proper type (22) 
+PASS Node interface: document.createComment("abc") must inherit property "lastChild" with the proper type (23) 
+PASS Node interface: document.createComment("abc") must inherit property "previousSibling" with the proper type (24) 
+PASS Node interface: document.createComment("abc") must inherit property "nextSibling" with the proper type (25) 
+PASS Node interface: document.createComment("abc") must inherit property "nodeValue" with the proper type (26) 
+PASS Node interface: document.createComment("abc") must inherit property "textContent" with the proper type (27) 
+PASS Node interface: document.createComment("abc") must inherit property "normalize" with the proper type (28) 
+PASS Node interface: document.createComment("abc") must inherit property "cloneNode" with the proper type (29) 
+PASS Node interface: calling cloneNode(boolean) on document.createComment("abc") with too few arguments must throw TypeError 
+PASS Node interface: document.createComment("abc") must inherit property "isEqualNode" with the proper type (30) 
+PASS Node interface: calling isEqualNode(Node) on document.createComment("abc") with too few arguments must throw TypeError 
+PASS Node interface: document.createComment("abc") must inherit property "isSameNode" with the proper type (31) 
+PASS Node interface: calling isSameNode(Node) on document.createComment("abc") with too few arguments must throw TypeError 
+PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32) 
+PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33) 
+PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34) 
+PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35) 
+PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36) 
+PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37) 
+PASS Node interface: document.createComment("abc") must inherit property "compareDocumentPosition" with the proper type (38) 
+PASS Node interface: calling compareDocumentPosition(Node) on document.createComment("abc") with too few arguments must throw TypeError 
+PASS Node interface: document.createComment("abc") must inherit property "contains" with the proper type (39) 
+PASS Node interface: calling contains(Node) on document.createComment("abc") with too few arguments must throw TypeError 
+PASS Node interface: document.createComment("abc") must inherit property "lookupPrefix" with the proper type (40) 
+PASS Node interface: calling lookupPrefix(DOMString) on document.createComment("abc") with too few arguments must throw TypeError 
+PASS Node interface: document.createComment("abc") must inherit property "lookupNamespaceURI" with the proper type (41) 
+PASS Node interface: calling lookupNamespaceURI(DOMString) on document.createComment("abc") with too few arguments must throw TypeError 
+PASS Node interface: document.createComment("abc") must inherit property "isDefaultNamespace" with the proper type (42) 
+PASS Node interface: calling isDefaultNamespace(DOMString) on document.createComment("abc") with too few arguments must throw TypeError 
+PASS Node interface: document.createComment("abc") must inherit property "insertBefore" with the proper type (43) 
+PASS Node interface: calling insertBefore(Node,Node) on document.createComment("abc") with too few arguments must throw TypeError 
+PASS Node interface: document.createComment("abc") must inherit property "appendChild" with the proper type (44) 
+PASS Node interface: calling appendChild(Node) on document.createComment("abc") with too few arguments must throw TypeError 
+PASS Node interface: document.createComment("abc") must inherit property "replaceChild" with the proper type (45) 
+PASS Node interface: calling replaceChild(Node,Node) on document.createComment("abc") with too few arguments must throw TypeError 
+PASS Node interface: document.createComment("abc") must inherit property "removeChild" with the proper type (46) 
+PASS Node interface: calling removeChild(Node) on document.createComment("abc") with too few arguments must throw TypeError 
+PASS EventTarget interface: document.createComment("abc") must inherit property "addEventListener" with the proper type (0) 
+PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on document.createComment("abc") with too few arguments must throw TypeError 
+PASS EventTarget interface: document.createComment("abc") must inherit property "removeEventListener" with the proper type (1) 
+PASS EventTarget interface: calling removeEventListener(DOMString,EventListener,[object Object],[object Object]) on document.createComment("abc") with too few arguments must throw TypeError 
+PASS EventTarget interface: document.createComment("abc") must inherit property "dispatchEvent" with the proper type (2) 
+PASS EventTarget interface: calling dispatchEvent(Event) on document.createComment("abc") with too few arguments must throw TypeError 
+PASS Range interface: existence and properties of interface object 
+PASS Range interface object length 
+PASS Range interface object name 
+PASS Range interface: existence and properties of interface prototype object 
+PASS Range interface: existence and properties of interface prototype object's "constructor" property 
+PASS Range interface: attribute startContainer 
+PASS Range interface: attribute startOffset 
+PASS Range interface: attribute endContainer 
+PASS Range interface: attribute endOffset 
+PASS Range interface: attribute collapsed 
+PASS Range interface: attribute commonAncestorContainer 
+PASS Range interface: operation setStart(Node,unsigned long) 
+PASS Range interface: operation setEnd(Node,unsigned long) 
+PASS Range interface: operation setStartBefore(Node) 
+PASS Range interface: operation setStartAfter(Node) 
+PASS Range interface: operation setEndBefore(Node) 
+PASS Range interface: operation setEndAfter(Node) 
+PASS Range interface: operation collapse(boolean) 
+PASS Range interface: operation selectNode(Node) 
+PASS Range interface: operation selectNodeContents(Node) 
+PASS Range interface: constant START_TO_START on interface object 
+PASS Range interface: constant START_TO_START on interface prototype object 
+PASS Range interface: constant START_TO_END on interface object 
+PASS Range interface: constant START_TO_END on interface prototype object 
+PASS Range interface: constant END_TO_END on interface object 
+PASS Range interface: constant END_TO_END on interface prototype object 
+PASS Range interface: constant END_TO_START on interface object 
+PASS Range interface: constant END_TO_START on interface prototype object 
+PASS Range interface: operation compareBoundaryPoints(unsigned short,Range) 
+PASS Range interface: operation deleteContents() 
+PASS Range interface: operation extractContents() 
+PASS Range interface: operation cloneContents() 
+PASS Range interface: operation insertNode(Node) 
+PASS Range interface: operation surroundContents(Node) 
+PASS Range interface: operation cloneRange() 
+PASS Range interface: operation detach() 
+PASS Range interface: operation isPointInRange(Node,unsigned long) 
+PASS Range interface: operation comparePoint(Node,unsigned long) 
+PASS Range interface: operation intersectsNode(Node) 
+PASS Range interface: stringifier 
+PASS Range interface: document.createRange() must inherit property "startContainer" with the proper type (0) 
+PASS Range interface: document.createRange() must inherit property "startOffset" with the proper type (1) 
+PASS Range interface: document.createRange() must inherit property "endContainer" with the proper type (2) 
+PASS Range interface: document.createRange() must inherit property "endOffset" with the proper type (3) 
+PASS Range interface: document.createRange() must inherit property "collapsed" with the proper type (4) 
+PASS Range interface: document.createRange() must inherit property "commonAncestorContainer" with the proper type (5) 
+PASS Range interface: document.createRange() must inherit property "setStart" with the proper type (6) 
+PASS Range interface: calling setStart(Node,unsigned long) on document.createRange() with too few arguments must throw TypeError 
+PASS Range interface: document.createRange() must inherit property "setEnd" with the proper type (7) 
+PASS Range interface: calling setEnd(Node,unsigned long) on document.createRange() with too few arguments must throw TypeError 
+PASS Range interface: document.createRange() must inherit property "setStartBefore" with the proper type (8) 
+PASS Range interface: calling setStartBefore(Node) on document.createRange() with too few arguments must throw TypeError 
+PASS Range interface: document.createRange() must inherit property "setStartAfter" with the proper type (9) 
+PASS Range interface: calling setStartAfter(Node) on document.createRange() with too few arguments must throw TypeError 
+PASS Range interface: document.createRange() must inherit property "setEndBefore" with the proper type (10) 
+PASS Range interface: calling setEndBefore(Node) on document.createRange() with too few arguments must throw TypeError 
+PASS Range interface: document.createRange() must inherit property "setEndAfter" with the proper type (11) 
+PASS Range interface: calling setEndAfter(Node) on document.createRange() with too few arguments must throw TypeError 
+PASS Range interface: document.createRange() must inherit property "collapse" with the proper type (12) 
+PASS Range interface: calling collapse(boolean) on document.createRange() with too few arguments must throw TypeError 
+PASS Range interface: document.createRange() must inherit property "selectNode" with the proper type (13) 
+PASS Range interface: calling selectNode(Node) on document.createRange() with too few arguments must throw TypeError 
+PASS Range interface: document.createRange() must inherit property "selectNodeContents" with the proper type (14) 
+PASS Range interface: calling selectNodeContents(Node) on document.createRange() with too few arguments must throw TypeError 
+PASS Range interface: document.createRange() must inherit property "START_TO_START" with the proper type (15) 
+PASS Range interface: document.createRange() must inherit property "START_TO_END" with the proper type (16) 
+PASS Range interface: document.createRange() must inherit property "END_TO_END" with the proper type (17) 
+PASS Range interface: document.createRange() must inherit property "END_TO_START" with the proper type (18) 
+PASS Range interface: document.createRange() must inherit property "compareBoundaryPoints" with the proper type (19) 
+PASS Range interface: calling compareBoundaryPoints(unsigned short,Range) on document.createRange() with too few arguments must throw TypeError 
+PASS Range interface: document.createRange() must inherit property "deleteContents" with the proper type (20) 
+PASS Range interface: document.createRange() must inherit property "extractContents" with the proper type (21) 
+PASS Range interface: document.createRange() must inherit property "cloneContents" with the proper type (22) 
+PASS Range interface: document.createRange() must inherit property "insertNode" with the proper type (23) 
+PASS Range interface: calling insertNode(Node) on document.createRange() with too few arguments must throw TypeError 
+PASS Range interface: document.createRange() must inherit property "surroundContents" with the proper type (24) 
+PASS Range interface: calling surroundContents(Node) on document.createRange() with too few arguments must throw TypeError 
+PASS Range interface: document.createRange() must inherit property "cloneRange" with the proper type (25) 
+PASS Range interface: document.createRange() must inherit property "detach" with the proper type (26) 
+PASS Range interface: document.createRange() must inherit property "isPointInRange" with the proper type (27) 
+PASS Range interface: calling isPointInRange(Node,unsigned long) on document.createRange() with too few arguments must throw TypeError 
+PASS Range interface: document.createRange() must inherit property "comparePoint" with the proper type (28) 
+PASS Range interface: calling comparePoint(Node,unsigned long) on document.createRange() with too few arguments must throw TypeError 
+PASS Range interface: document.createRange() must inherit property "intersectsNode" with the proper type (29) 
+PASS Range interface: calling intersectsNode(Node) on document.createRange() with too few arguments must throw TypeError 
+PASS Range interface: detachedRange must inherit property "startContainer" with the proper type (0) 
+PASS Range interface: detachedRange must inherit property "startOffset" with the proper type (1) 
+PASS Range interface: detachedRange must inherit property "endContainer" with the proper type (2) 
+PASS Range interface: detachedRange must inherit property "endOffset" with the proper type (3) 
+PASS Range interface: detachedRange must inherit property "collapsed" with the proper type (4) 
+PASS Range interface: detachedRange must inherit property "commonAncestorContainer" with the proper type (5) 
+PASS Range interface: detachedRange must inherit property "setStart" with the proper type (6) 
+PASS Range interface: calling setStart(Node,unsigned long) on detachedRange with too few arguments must throw TypeError 
+PASS Range interface: detachedRange must inherit property "setEnd" with the proper type (7) 
+PASS Range interface: calling setEnd(Node,unsigned long) on detachedRange with too few arguments must throw TypeError 
+PASS Range interface: detachedRange must inherit property "setStartBefore" with the proper type (8) 
+PASS Range interface: calling setStartBefore(Node) on detachedRange with too few arguments must throw TypeError 
+PASS Range interface: detachedRange must inherit property "setStartAfter" with the proper type (9) 
+PASS Range interface: calling setStartAfter(Node) on detachedRange with too few arguments must throw TypeError 
+PASS Range interface: detachedRange must inherit property "setEndBefore" with the proper type (10) 
+PASS Range interface: calling setEndBefore(Node) on detachedRange with too few arguments must throw TypeError 
+PASS Range interface: detachedRange must inherit property "setEndAfter" with the proper type (11) 
+PASS Range interface: calling setEndAfter(Node) on detachedRange with too few arguments must throw TypeError 
+PASS Range interface: detachedRange must inherit property "collapse" with the proper type (12) 
+PASS Range interface: calling collapse(boolean) on detachedRange with too few arguments must throw TypeError 
+PASS Range interface: detachedRange must inherit property "selectNode" with the proper type (13) 
+PASS Range interface: calling selectNode(Node) on detachedRange with too few arguments must throw TypeError 
+PASS Range interface: detachedRange must inherit property "selectNodeContents" with the proper type (14) 
+PASS Range interface: calling selectNodeContents(Node) on detachedRange with too few arguments must throw TypeError 
+PASS Range interface: detachedRange must inherit property "START_TO_START" with the proper type (15) 
+PASS Range interface: detachedRange must inherit property "START_TO_END" with the proper type (16) 
+PASS Range interface: detachedRange must inherit property "END_TO_END" with the proper type (17) 
+PASS Range interface: detachedRange must inherit property "END_TO_START" with the proper type (18) 
+PASS Range interface: detachedRange must inherit property "compareBoundaryPoints" with the proper type (19) 
+PASS Range interface: calling compareBoundaryPoints(unsigned short,Range) on detachedRange with too few arguments must throw TypeError 
+PASS Range interface: detachedRange must inherit property "deleteContents" with the proper type (20) 
+PASS Range interface: detachedRange must inherit property "extractContents" with the proper type (21) 
+PASS Range interface: detachedRange must inherit property "cloneContents" with the proper type (22) 
+PASS Range interface: detachedRange must inherit property "insertNode" with the proper type (23) 
+PASS Range interface: calling insertNode(Node) on detachedRange with too few arguments must throw TypeError 
+PASS Range interface: detachedRange must inherit property "surroundContents" with the proper type (24) 
+PASS Range interface: calling surroundContents(Node) on detachedRange with too few arguments must throw TypeError 
+PASS Range interface: detachedRange must inherit property "cloneRange" with the proper type (25) 
+PASS Range interface: detachedRange must inherit property "detach" with the proper type (26) 
+PASS Range interface: detachedRange must inherit property "isPointInRange" with the proper type (27) 
+PASS Range interface: calling isPointInRange(Node,unsigned long) on detachedRange with too few arguments must throw TypeError 
+PASS Range interface: detachedRange must inherit property "comparePoint" with the proper type (28) 
+PASS Range interface: calling comparePoint(Node,unsigned long) on detachedRange with too few arguments must throw TypeError 
+PASS Range interface: detachedRange must inherit property "intersectsNode" with the proper type (29) 
+PASS Range interface: calling intersectsNode(Node) on detachedRange with too few arguments must throw TypeError 
+PASS NodeIterator interface: existence and properties of interface object 
+PASS NodeIterator interface object length 
+PASS NodeIterator interface object name 
+PASS NodeIterator interface: existence and properties of interface prototype object 
+PASS NodeIterator interface: existence and properties of interface prototype object's "constructor" property 
+PASS NodeIterator interface: attribute root 
+PASS NodeIterator interface: attribute referenceNode 
+PASS NodeIterator interface: attribute pointerBeforeReferenceNode 
+PASS NodeIterator interface: attribute whatToShow 
+PASS NodeIterator interface: attribute filter 
+PASS NodeIterator interface: operation nextNode() 
+PASS NodeIterator interface: operation previousNode() 
+PASS NodeIterator interface: operation detach() 
+PASS NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "root" with the proper type (0) 
+PASS NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "referenceNode" with the proper type (1) 
+PASS NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "pointerBeforeReferenceNode" with the proper type (2) 
+PASS NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "whatToShow" with the proper type (3) 
+PASS NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "filter" with the proper type (4) 
+PASS NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "nextNode" with the proper type (5) 
+PASS NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "previousNode" with the proper type (6) 
+PASS NodeIterator interface: document.createNodeIterator(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "detach" with the proper type (7) 
+PASS TreeWalker interface: existence and properties of interface object 
+PASS TreeWalker interface object length 
+PASS TreeWalker interface object name 
+PASS TreeWalker interface: existence and properties of interface prototype object 
+PASS TreeWalker interface: existence and properties of interface prototype object's "constructor" property 
+PASS TreeWalker interface: attribute root 
+PASS TreeWalker interface: attribute whatToShow 
+PASS TreeWalker interface: attribute filter 
+PASS TreeWalker interface: attribute currentNode 
+PASS TreeWalker interface: operation parentNode() 
+PASS TreeWalker interface: operation firstChild() 
+PASS TreeWalker interface: operation lastChild() 
+PASS TreeWalker interface: operation previousSibling() 
+PASS TreeWalker interface: operation nextSibling() 
+PASS TreeWalker interface: operation previousNode() 
+PASS TreeWalker interface: operation nextNode() 
+PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "root" with the proper type (0) 
+PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "whatToShow" with the proper type (1) 
+PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "filter" with the proper type (2) 
+PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "currentNode" with the proper type (3) 
+PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "parentNode" with the proper type (4) 
+PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "firstChild" with the proper type (5) 
+PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "lastChild" with the proper type (6) 
+PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "previousSibling" with the proper type (7) 
+PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "nextSibling" with the proper type (8) 
+PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "previousNode" with the proper type (9) 
+PASS TreeWalker interface: document.createTreeWalker(document.body, NodeFilter.SHOW_ALL, null, false) must inherit property "nextNode" with the proper type (10) 
+PASS NodeFilter interface: existence and properties of interface object 
+PASS NodeFilter interface object name 
+PASS NodeFilter interface: existence and properties of interface prototype object 
+PASS NodeFilter interface: existence and properties of interface prototype object's "constructor" property 
+PASS NodeFilter interface: constant FILTER_ACCEPT on interface object 
+PASS NodeFilter interface: constant FILTER_ACCEPT on interface prototype object 
+PASS NodeFilter interface: constant FILTER_REJECT on interface object 
+PASS NodeFilter interface: constant FILTER_REJECT on interface prototype object 
+PASS NodeFilter interface: constant FILTER_SKIP on interface object 
+PASS NodeFilter interface: constant FILTER_SKIP on interface prototype object 
+PASS NodeFilter interface: constant SHOW_ALL on interface object 
+PASS NodeFilter interface: constant SHOW_ALL on interface prototype object 
+PASS NodeFilter interface: constant SHOW_ELEMENT on interface object 
+PASS NodeFilter interface: constant SHOW_ELEMENT on interface prototype object 
+PASS NodeFilter interface: constant SHOW_ATTRIBUTE on interface object 
+PASS NodeFilter interface: constant SHOW_ATTRIBUTE on interface prototype object 
+PASS NodeFilter interface: constant SHOW_TEXT on interface object 
+PASS NodeFilter interface: constant SHOW_TEXT on interface prototype object 
+PASS NodeFilter interface: constant SHOW_CDATA_SECTION on interface object 
+PASS NodeFilter interface: constant SHOW_CDATA_SECTION on interface prototype object 
+PASS NodeFilter interface: constant SHOW_ENTITY_REFERENCE on interface object 
+PASS NodeFilter interface: constant SHOW_ENTITY_REFERENCE on interface prototype object 
+PASS NodeFilter interface: constant SHOW_ENTITY on interface object 
+PASS NodeFilter interface: constant SHOW_ENTITY on interface prototype object 
+PASS NodeFilter interface: constant SHOW_PROCESSING_INSTRUCTION on interface object 
+PASS NodeFilter interface: constant SHOW_PROCESSING_INSTRUCTION on interface prototype object 
+PASS NodeFilter interface: constant SHOW_COMMENT on interface object 
+PASS NodeFilter interface: constant SHOW_COMMENT on interface prototype object 
+PASS NodeFilter interface: constant SHOW_DOCUMENT on interface object 
+PASS NodeFilter interface: constant SHOW_DOCUMENT on interface prototype object 
+PASS NodeFilter interface: constant SHOW_DOCUMENT_TYPE on interface object 
+PASS NodeFilter interface: constant SHOW_DOCUMENT_TYPE on interface prototype object 
+PASS NodeFilter interface: constant SHOW_DOCUMENT_FRAGMENT on interface object 
+PASS NodeFilter interface: constant SHOW_DOCUMENT_FRAGMENT on interface prototype object 
+PASS NodeFilter interface: constant SHOW_NOTATION on interface object 
+PASS NodeFilter interface: constant SHOW_NOTATION on interface prototype object 
+PASS NodeFilter interface: operation acceptNode(Node) 
+PASS DOMTokenList interface: existence and properties of interface object 
+PASS DOMTokenList interface object length 
+PASS DOMTokenList interface object name 
+PASS DOMTokenList interface: existence and properties of interface prototype object 
+PASS DOMTokenList interface: existence and properties of interface prototype object's "constructor" property 
+PASS DOMTokenList interface: attribute length 
+PASS DOMTokenList interface: operation item(unsigned long) 
+PASS DOMTokenList interface: operation contains(DOMString) 
+PASS DOMTokenList interface: operation add(DOMString) 
+PASS DOMTokenList interface: operation remove(DOMString) 
+PASS DOMTokenList interface: operation toggle(DOMString,boolean) 
+PASS DOMTokenList interface: operation replace(DOMString,DOMString) 
+PASS DOMTokenList interface: operation supports(DOMString) 
+PASS DOMTokenList interface: attribute value 
+PASS DOMTokenList interface: stringifier 
+PASS DOMTokenList interface: document.body.classList must inherit property "length" with the proper type (0) 
+PASS DOMTokenList interface: document.body.classList must inherit property "item" with the proper type (1) 
+PASS DOMTokenList interface: calling item(unsigned long) on document.body.classList with too few arguments must throw TypeError 
+PASS DOMTokenList interface: document.body.classList must inherit property "contains" with the proper type (2) 
+PASS DOMTokenList interface: calling contains(DOMString) on document.body.classList with too few arguments must throw TypeError 
+PASS DOMTokenList interface: document.body.classList must inherit property "add" with the proper type (3) 
+PASS DOMTokenList interface: calling add(DOMString) on document.body.classList with too few arguments must throw TypeError 
+PASS DOMTokenList interface: document.body.classList must inherit property "remove" with the proper type (4) 
+PASS DOMTokenList interface: calling remove(DOMString) on document.body.classList with too few arguments must throw TypeError 
+PASS DOMTokenList interface: document.body.classList must inherit property "toggle" with the proper type (5) 
+PASS DOMTokenList interface: calling toggle(DOMString,boolean) on document.body.classList with too few arguments must throw TypeError 
+PASS DOMTokenList interface: document.body.classList must inherit property "replace" with the proper type (6) 
+PASS DOMTokenList interface: calling replace(DOMString,DOMString) on document.body.classList with too few arguments must throw TypeError 
+PASS DOMTokenList interface: document.body.classList must inherit property "supports" with the proper type (7) 
+PASS DOMTokenList interface: calling supports(DOMString) on document.body.classList with too few arguments must throw TypeError 
+PASS DOMTokenList interface: document.body.classList must inherit property "value" with the proper type (8) 
 
index e6b12e3..8e9572d 100644 (file)
@@ -21,8 +21,11 @@ var idlArray = new IdlArray();
 function doTest(idl) {
   idlArray.add_idls(idl);
   idlArray.add_objects({
+    EventTarget: ['new EventTarget()'],
     Event: ['document.createEvent("Event")', 'new Event("foo")'],
     CustomEvent: ['new CustomEvent("foo")'],
+    AbortController: ['new AbortController()'],
+    AbortSignal: ['new AbortController().signal'],
     Document: ['new Document()'],
     XMLDocument: ['xmlDoc'],
     DOMImplementation: ['document.implementation'],
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-constructor-svg-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-constructor-svg-expected.txt
deleted file mode 100644 (file)
index c845d0e..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-CONSOLE MESSAGE: line 84: TypeError: null is not an object (evaluating 'document.body.appendChild')
-CONSOLE MESSAGE: line 2144: TypeError: undefined is not an object (evaluating 'properties.output_document')
-#PID UNRESPONSIVE - com.apple.WebKit.WebContent.Development (pid 1239)
-FAIL: Timed out waiting for notifyDone to be called
-
-#EOF
-#EOF
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-constructor-svg.svg b/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-constructor-svg.svg
deleted file mode 100644 (file)
index b796dc7..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="windows-1252"?>
-<!--  Using windows-1252 to ensure that new Document() doesn't inherit utf-8
-     from the parent document.  -->
-<svg xmlns="http://www.w3.org/2000/svg" xmlns:html="http://www.w3.org/1999/xhtml"
-  width="100%" height="100%" viewBox="0 0 800 600">
-<title>Document constructor</title>
-<html:script src="/resources/testharness.js"></html:script>
-<html:script src="/resources/testharnessreport.js"></html:script>
-<html:script></html:script>
-</svg>
-
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_01-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_01-expected.txt
deleted file mode 100644 (file)
index ae584e2..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-CONSOLE MESSAGE: line 1409: Blocked a frame with origin "http://localhost:8800" from accessing a frame with origin "null".  The frame requesting access has a protocol of "http", the frame being accessed has a protocol of "data". Protocols must match.
-
-
-FAIL Data URI document.contentType === 'text/plain' when data URI MIME type is not set null is not an object (evaluating 'iframe.contentDocument.contentType')
-
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_01.html b/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_01.html
deleted file mode 100644 (file)
index 79c6364..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-<!DOCTYPE html>
-<title>Data URI document.contentType === 'text/plain' when data URI MIME type is not set</title>
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<div id=log></div>
-<script>
-async_test(function() {
-  var iframe = document.createElement('iframe');
-  iframe.addEventListener('load', this.step_func_done(function() {
-    assert_equals(iframe.contentDocument.contentType, "text/plain");
-  }), false);
-  iframe.src = "data:;,<!DOCTYPE html>";
-  document.body.appendChild(iframe);
-});
-</script>
index 126da91..a2f78dc 100644 (file)
@@ -1,5 +1,3 @@
-CONSOLE MESSAGE: line 1409: Blocked a frame with origin "http://localhost:8800" from accessing a frame with origin "null".  The frame requesting access has a protocol of "http", the frame being accessed has a protocol of "data". Protocols must match.
 
-
-FAIL Data URI document.contentType === 'text/html' when data URI MIME type is set null is not an object (evaluating 'iframe.contentDocument.contentType')
+PASS Data URI document.contentType === 'text/html' when data URI MIME type is set 
 
index 2e82c7c..c124cb3 100644 (file)
@@ -6,10 +6,10 @@
 <script>
 async_test(function() {
   var iframe = document.createElement('iframe');
-  iframe.addEventListener('load', this.step_func_done(function() {
-    assert_equals(iframe.contentDocument.contentType, "text/html");
-  }), false);
-  iframe.src = "data:text/html;charset=utf-8,<!DOCTYPE html>";
+  self.onmessage = this.step_func_done(e => {
+    assert_equals(e.data, "text/html");
+  });
+  iframe.src = "data:text/html;charset=utf-8,<!DOCTYPE html><script>parent.postMessage(document.contentType,'*')<\/script>";
   document.body.appendChild(iframe);
 });
 </script>
index 3348817..ec50999 100644 (file)
@@ -16,7 +16,6 @@ None
 List of files:
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_bmp.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_css.html
-/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_01.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_datauri_02.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_gif.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-contentType/contentType/contenttype_html.html
index 099333f..0967bd7 100644 (file)
@@ -26,6 +26,10 @@ List of files:
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createElement-namespace-tests/bare_xhtml.svg
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createElement-namespace-tests/bare_xhtml.xhtml
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createElement-namespace-tests/bare_xhtml.xml
+/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.html
+/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.svg
+/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.xhtml
+/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.xml
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createElement-namespace-tests/generate.py
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createElement-namespace-tests/mathml.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createElement-namespace-tests/mathml.svg
index 6b2e242..42d27a4 100644 (file)
@@ -1,11 +1,4 @@
 
-FAIL AnimationEvent should be an alias for AnimationEvent. The operation is not supported.
-FAIL createEvent('AnimationEvent') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-FAIL animationevent should be an alias for AnimationEvent. The operation is not supported.
-FAIL createEvent('animationevent') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-FAIL ANIMATIONEVENT should be an alias for AnimationEvent. The operation is not supported.
-FAIL createEvent('ANIMATIONEVENT') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-PASS Should throw NOT_SUPPORTED_ERR for pluralized legacy event interface "AnimationEvents" 
 FAIL BeforeUnloadEvent should be an alias for BeforeUnloadEvent. The operation is not supported.
 FAIL createEvent('BeforeUnloadEvent') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
 FAIL beforeunloadevent should be an alias for BeforeUnloadEvent. The operation is not supported.
@@ -13,13 +6,6 @@ FAIL createEvent('beforeunloadevent') should be initialized correctly. undefined
 FAIL BEFOREUNLOADEVENT should be an alias for BeforeUnloadEvent. The operation is not supported.
 FAIL createEvent('BEFOREUNLOADEVENT') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
 PASS Should throw NOT_SUPPORTED_ERR for pluralized legacy event interface "BeforeUnloadEvents" 
-FAIL CloseEvent should be an alias for CloseEvent. The operation is not supported.
-FAIL createEvent('CloseEvent') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-FAIL closeevent should be an alias for CloseEvent. The operation is not supported.
-FAIL createEvent('closeevent') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-FAIL CLOSEEVENT should be an alias for CloseEvent. The operation is not supported.
-FAIL createEvent('CLOSEEVENT') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-PASS Should throw NOT_SUPPORTED_ERR for pluralized legacy event interface "CloseEvents" 
 PASS CompositionEvent should be an alias for CompositionEvent. 
 PASS createEvent('CompositionEvent') should be initialized correctly. 
 PASS compositionevent should be an alias for CompositionEvent. 
@@ -55,13 +41,6 @@ FAIL createEvent('dragevent') should be initialized correctly. undefined is not
 FAIL DRAGEVENT should be an alias for DragEvent. The operation is not supported.
 FAIL createEvent('DRAGEVENT') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
 PASS Should throw NOT_SUPPORTED_ERR for pluralized legacy event interface "DragEvents" 
-FAIL ErrorEvent should be an alias for ErrorEvent. The operation is not supported.
-FAIL createEvent('ErrorEvent') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-FAIL errorevent should be an alias for ErrorEvent. The operation is not supported.
-FAIL createEvent('errorevent') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-FAIL ERROREVENT should be an alias for ErrorEvent. The operation is not supported.
-FAIL createEvent('ERROREVENT') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-PASS Should throw NOT_SUPPORTED_ERR for pluralized legacy event interface "ErrorEvents" 
 PASS Event should be an alias for Event. 
 PASS createEvent('Event') should be initialized correctly. 
 PASS event should be an alias for Event. 
@@ -94,13 +73,6 @@ PASS htmlevents should be an alias for Event.
 PASS createEvent('htmlevents') should be initialized correctly. 
 PASS HTMLEVENTS should be an alias for Event. 
 PASS createEvent('HTMLEVENTS') should be initialized correctly. 
-FAIL IDBVersionChangeEvent should be an alias for IDBVersionChangeEvent. The operation is not supported.
-FAIL createEvent('IDBVersionChangeEvent') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-FAIL idbversionchangeevent should be an alias for IDBVersionChangeEvent. The operation is not supported.
-FAIL createEvent('idbversionchangeevent') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-FAIL IDBVERSIONCHANGEEVENT should be an alias for IDBVersionChangeEvent. The operation is not supported.
-FAIL createEvent('IDBVERSIONCHANGEEVENT') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-PASS Should throw NOT_SUPPORTED_ERR for pluralized legacy event interface "IDBVersionChangeEvents" 
 PASS KeyboardEvent should be an alias for KeyboardEvent. 
 PASS createEvent('KeyboardEvent') should be initialized correctly. 
 PASS keyboardevent should be an alias for KeyboardEvent. 
@@ -129,20 +101,6 @@ PASS mouseevents should be an alias for MouseEvent.
 PASS createEvent('mouseevents') should be initialized correctly. 
 PASS MOUSEEVENTS should be an alias for MouseEvent. 
 PASS createEvent('MOUSEEVENTS') should be initialized correctly. 
-FAIL PageTransitionEvent should be an alias for PageTransitionEvent. The operation is not supported.
-FAIL createEvent('PageTransitionEvent') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-FAIL pagetransitionevent should be an alias for PageTransitionEvent. The operation is not supported.
-FAIL createEvent('pagetransitionevent') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-FAIL PAGETRANSITIONEVENT should be an alias for PageTransitionEvent. The operation is not supported.
-FAIL createEvent('PAGETRANSITIONEVENT') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-PASS Should throw NOT_SUPPORTED_ERR for pluralized legacy event interface "PageTransitionEvents" 
-PASS PopStateEvent should be an alias for PopStateEvent. 
-PASS createEvent('PopStateEvent') should be initialized correctly. 
-PASS popstateevent should be an alias for PopStateEvent. 
-PASS createEvent('popstateevent') should be initialized correctly. 
-PASS POPSTATEEVENT should be an alias for PopStateEvent. 
-PASS createEvent('POPSTATEEVENT') should be initialized correctly. 
-PASS Should throw NOT_SUPPORTED_ERR for pluralized legacy event interface "PopStateEvents" 
 PASS StorageEvent should be an alias for StorageEvent. 
 PASS createEvent('StorageEvent') should be initialized correctly. 
 PASS storageevent should be an alias for StorageEvent. 
@@ -170,20 +128,6 @@ FAIL createEvent('touchevent') should be initialized correctly. undefined is not
 FAIL TOUCHEVENT should be an alias for TouchEvent. The operation is not supported.
 FAIL createEvent('TOUCHEVENT') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
 PASS Should throw NOT_SUPPORTED_ERR for pluralized legacy event interface "TouchEvents" 
-FAIL TrackEvent should be an alias for TrackEvent. The operation is not supported.
-FAIL createEvent('TrackEvent') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-FAIL trackevent should be an alias for TrackEvent. The operation is not supported.
-FAIL createEvent('trackevent') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-FAIL TRACKEVENT should be an alias for TrackEvent. The operation is not supported.
-FAIL createEvent('TRACKEVENT') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-PASS Should throw NOT_SUPPORTED_ERR for pluralized legacy event interface "TrackEvents" 
-FAIL TransitionEvent should be an alias for TransitionEvent. The operation is not supported.
-FAIL createEvent('TransitionEvent') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-FAIL transitionevent should be an alias for TransitionEvent. The operation is not supported.
-FAIL createEvent('transitionevent') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-FAIL TRANSITIONEVENT should be an alias for TransitionEvent. The operation is not supported.
-FAIL createEvent('TRANSITIONEVENT') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-PASS Should throw NOT_SUPPORTED_ERR for pluralized legacy event interface "TransitionEvents" 
 PASS UIEvent should be an alias for UIEvent. 
 PASS createEvent('UIEvent') should be initialized correctly. 
 PASS uievent should be an alias for UIEvent. 
@@ -196,21 +140,9 @@ PASS uievents should be an alias for UIEvent.
 PASS createEvent('uievents') should be initialized correctly. 
 PASS UIEVENTS should be an alias for UIEvent. 
 PASS createEvent('UIEVENTS') should be initialized correctly. 
-FAIL WebGLContextEvent should be an alias for WebGLContextEvent. The operation is not supported.
-FAIL createEvent('WebGLContextEvent') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-FAIL webglcontextevent should be an alias for WebGLContextEvent. The operation is not supported.
-FAIL createEvent('webglcontextevent') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-FAIL WEBGLCONTEXTEVENT should be an alias for WebGLContextEvent. The operation is not supported.
-FAIL createEvent('WEBGLCONTEXTEVENT') should be initialized correctly. undefined is not an object (evaluating 'ev.type')
-PASS Should throw NOT_SUPPORTED_ERR for pluralized legacy event interface "WebGLContextEvents" 
-PASS WheelEvent should be an alias for WheelEvent. 
-PASS createEvent('WheelEvent') should be initialized correctly. 
-PASS wheelevent should be an alias for WheelEvent. 
-PASS createEvent('wheelevent') should be initialized correctly. 
-PASS WHEELEVENT should be an alias for WheelEvent. 
-PASS createEvent('WHEELEVENT') should be initialized correctly. 
-PASS Should throw NOT_SUPPORTED_ERR for pluralized legacy event interface "WheelEvents" 
 PASS Should throw NOT_SUPPORTED_ERR for unrecognized arguments 
+PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "AnimationEvent" 
+PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "AnimationEvents" 
 PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "AnimationPlaybackEvent" 
 PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "AnimationPlaybackEvents" 
 PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "AnimationPlayerEvent" 
@@ -227,10 +159,14 @@ PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "BlobEvent"
 PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "BlobEvents" 
 PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "ClipboardEvent" 
 PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "ClipboardEvents" 
+PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "CloseEvent" 
+PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "CloseEvents" 
 PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "CommandEvent" 
 PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "CommandEvents" 
 PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "DataContainerEvent" 
 PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "DataContainerEvents" 
+PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "ErrorEvent" 
+PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "ErrorEvents" 
 PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "ExtendableEvent" 
 PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "ExtendableEvents" 
 PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "ExtendableMessageEvent" 
@@ -243,6 +179,8 @@ PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "GamepadEvent
 PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "GamepadEvents" 
 PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "GeofencingEvent" 
 PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "GeofencingEvents" 
+PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "IDBVersionChangeEvent" 
+PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "IDBVersionChangeEvents" 
 PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "InstallEvent" 
 PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "InstallEvents" 
 PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "KeyEvent" 
@@ -281,8 +219,14 @@ PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "OrientationE
 PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "OrientationEvents" 
 PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "PageTransition" 
 PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "PageTransitions" 
+PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "PageTransitionEvent" 
+PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "PageTransitionEvents" 
 PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "PointerEvent" 
 PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "PointerEvents" 
+FAIL Should throw NOT_SUPPORTED_ERR for non-legacy event interface "PopStateEvent" assert_throws: function "function () {
+        var evt = document.createEvent(eventInterface);
+      }" did not throw
+PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "PopStateEvents" 
 PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "PopUpEvent" 
 PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "PopUpEvents" 
 PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "PresentationConnectionAvailableEvent" 
@@ -330,10 +274,20 @@ PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "SyncEvent"
 PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "SyncEvents" 
 PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "TimeEvent" 
 PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "TimeEvents" 
+PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "TrackEvent" 
+PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "TrackEvents" 
+PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "TransitionEvent" 
+PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "TransitionEvents" 
+PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "WebGLContextEvent" 
+PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "WebGLContextEvents" 
 PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "WebKitAnimationEvent" 
 PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "WebKitAnimationEvents" 
 PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "WebKitTransitionEvent" 
 PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "WebKitTransitionEvents" 
+FAIL Should throw NOT_SUPPORTED_ERR for non-legacy event interface "WheelEvent" assert_throws: function "function () {
+        var evt = document.createEvent(eventInterface);
+      }" did not throw
+PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "WheelEvents" 
 PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "XULCommandEvent" 
 PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "XULCommandEvents" 
 
index 93b5ec4..8108f20 100644 (file)
@@ -71,6 +71,7 @@ test(function() {
  * interfaces that it is known some UA does or did not throw for.
  */
 var someNonCreateableEvents = [
+  "AnimationEvent",
   "AnimationPlaybackEvent",
   "AnimationPlayerEvent",
   "ApplicationCacheErrorEvent",
@@ -79,14 +80,17 @@ var someNonCreateableEvents = [
   "BeforeInstallPromptEvent",
   "BlobEvent",
   "ClipboardEvent",
+  "CloseEvent",
   "CommandEvent",
   "DataContainerEvent",
+  "ErrorEvent",
   "ExtendableEvent",
   "ExtendableMessageEvent",
   "FetchEvent",
   "FontFaceSetLoadEvent",
   "GamepadEvent",
   "GeofencingEvent",
+  "IDBVersionChangeEvent",
   "InstallEvent",
   "KeyEvent",
   "MIDIConnectionEvent",
@@ -104,7 +108,9 @@ var someNonCreateableEvents = [
   "OfflineAudioCompletionEvent",
   "OrientationEvent",
   "PageTransition", // Yes, with no "Event"
+  "PageTransitionEvent",
   "PointerEvent",
+  "PopStateEvent",
   "PopUpEvent",
   "PresentationConnectionAvailableEvent",
   "PresentationConnectionCloseEvent",
@@ -128,8 +134,12 @@ var someNonCreateableEvents = [
   "SpeechSynthesisEvent",
   "SyncEvent",
   "TimeEvent",
+  "TrackEvent",
+  "TransitionEvent",
+  "WebGLContextEvent",
   "WebKitAnimationEvent",
   "WebKitTransitionEvent",
+  "WheelEvent",
   "XULCommandEvent",
 ];
 someNonCreateableEvents.forEach(function (eventInterface) {
index 481ccf9..9e614ab 100644 (file)
@@ -1,33 +1,23 @@
 var aliases = {
-  "AnimationEvent": "AnimationEvent",
   "BeforeUnloadEvent": "BeforeUnloadEvent",
-  "CloseEvent": "CloseEvent",
   "CompositionEvent": "CompositionEvent",
   "CustomEvent": "CustomEvent",
   "DeviceMotionEvent": "DeviceMotionEvent",
   "DeviceOrientationEvent": "DeviceOrientationEvent",
   "DragEvent": "DragEvent",
-  "ErrorEvent": "ErrorEvent",
   "Event": "Event",
   "Events": "Event",
   "FocusEvent": "FocusEvent",
   "HashChangeEvent": "HashChangeEvent",
   "HTMLEvents": "Event",
-  "IDBVersionChangeEvent": "IDBVersionChangeEvent",
   "KeyboardEvent": "KeyboardEvent",
   "MessageEvent": "MessageEvent",
   "MouseEvent": "MouseEvent",
   "MouseEvents": "MouseEvent",
-  "PageTransitionEvent": "PageTransitionEvent",
-  "PopStateEvent": "PopStateEvent",
   "StorageEvent": "StorageEvent",
   "SVGEvents": "Event",
   "TextEvent": "CompositionEvent",
   "TouchEvent": "TouchEvent",
-  "TrackEvent": "TrackEvent",
-  "TransitionEvent": "TransitionEvent",
   "UIEvent": "UIEvent",
   "UIEvents": "UIEvent",
-  "WebGLContextEvent": "WebGLContextEvent",
-  "WheelEvent": "WheelEvent",
 };
index 4af821b..668f781 100644 (file)
@@ -63,34 +63,60 @@ PASS classList.contains(undefined) when set to "null undefined" (HTML node)
 PASS classList.contains("a") when set to "\t\n\f\r a\t\n\f\r b\t\n\f\r " (HTML node) 
 PASS classList.contains("b") when set to "\t\n\f\r a\t\n\f\r b\t\n\f\r " (HTML node) 
 PASS classList.add("") with attribute value null (HTML node) 
+PASS classList.toggle("", true) with attribute value null (HTML node) 
 PASS classList.add("a", "") with attribute value null (HTML node) 
 PASS classList.add(" ") with attribute value null (HTML node) 
+PASS classList.toggle(" ", true) with attribute value null (HTML node) 
 PASS classList.add("\ta") with attribute value null (HTML node) 
+PASS classList.toggle("\ta", true) with attribute value null (HTML node) 
 PASS classList.add("a\t") with attribute value null (HTML node) 
+PASS classList.toggle("a\t", true) with attribute value null (HTML node) 
 PASS classList.add("\na") with attribute value null (HTML node) 
+PASS classList.toggle("\na", true) with attribute value null (HTML node) 
 PASS classList.add("a\n") with attribute value null (HTML node) 
+PASS classList.toggle("a\n", true) with attribute value null (HTML node) 
 PASS classList.add("\fa") with attribute value null (HTML node) 
+PASS classList.toggle("\fa", true) with attribute value null (HTML node) 
 PASS classList.add("a\f") with attribute value null (HTML node) 
+PASS classList.toggle("a\f", true) with attribute value null (HTML node) 
 PASS classList.add("\ra") with attribute value null (HTML node) 
+PASS classList.toggle("\ra", true) with attribute value null (HTML node) 
 PASS classList.add("a\r") with attribute value null (HTML node) 
+PASS classList.toggle("a\r", true) with attribute value null (HTML node) 
 PASS classList.add(" a") with attribute value null (HTML node) 
+PASS classList.toggle(" a", true) with attribute value null (HTML node) 
 PASS classList.add("a ") with attribute value null (HTML node) 
+PASS classList.toggle("a ", true) with attribute value null (HTML node) 
 PASS classList.add("a", " ") with attribute value null (HTML node) 
 PASS classList.add("a", "aa ") with attribute value null (HTML node) 
 PASS classList.add("a") with attribute value "a" (HTML node) 
+PASS classList.toggle("a", true) with attribute value "a" (HTML node) 
 PASS classList.add("AA") with attribute value "aa" (HTML node) 
+PASS classList.toggle("AA", true) with attribute value "aa" (HTML node) 
 PASS classList.add("a") with attribute value "a b c" (HTML node) 
+PASS classList.toggle("a", true) with attribute value "a b c" (HTML node) 
 PASS classList.add("a") with attribute value "a a a  b" (HTML node) 
+PASS classList.toggle("a", true) with attribute value "a a a  b" (HTML node) 
 PASS classList.add("a") with attribute value null (HTML node) 
+PASS classList.toggle("a", true) with attribute value null (HTML node) 
 PASS classList.add("a") with attribute value "" (HTML node) 
+PASS classList.toggle("a", true) with attribute value "" (HTML node) 
 PASS classList.add("a") with attribute value " " (HTML node) 
+PASS classList.toggle("a", true) with attribute value " " (HTML node) 
 PASS classList.add("a") with attribute value "   \f" (HTML node) 
+PASS classList.toggle("a", true) with attribute value "   \f" (HTML node) 
 PASS classList.add("b") with attribute value "a" (HTML node) 
+PASS classList.toggle("b", true) with attribute value "a" (HTML node) 
 PASS classList.add("d") with attribute value "a b c" (HTML node) 
+PASS classList.toggle("d", true) with attribute value "a b c" (HTML node) 
 PASS classList.add("d") with attribute value "a b c " (HTML node) 
+PASS classList.toggle("d", true) with attribute value "a b c " (HTML node) 
 PASS classList.add("c") with attribute value "   a  a b" (HTML node) 
+PASS classList.toggle("c", true) with attribute value "   a  a b" (HTML node) 
 PASS classList.add("a") with attribute value "   a  a b" (HTML node) 
+PASS classList.toggle("a", true) with attribute value "   a  a b" (HTML node) 
 PASS classList.add("c") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (HTML node) 
+PASS classList.toggle("c", true) with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (HTML node) 
 PASS classList.add("d", "e") with attribute value "a b c " (HTML node) 
 PASS classList.add("a", "a") with attribute value "a b c " (HTML node) 
 PASS classList.add("d", "d") with attribute value "a b c " (HTML node) 
@@ -98,41 +124,77 @@ PASS classList.add() with attribute value "a b c a " (HTML node)
 PASS classList.add("a", "b") with attribute value null (HTML node) 
 PASS classList.add("a", "b") with attribute value "" (HTML node) 
 PASS classList.add(null) with attribute value null (HTML node) 
+PASS classList.toggle(null, true) with attribute value null (HTML node) 
 PASS classList.add(undefined) with attribute value null (HTML node) 
+PASS classList.toggle(undefined, true) with attribute value null (HTML node) 
 PASS classList.remove("") with attribute value null (HTML node) 
+PASS classList.toggle("", false) with attribute value null (HTML node) 
 PASS classList.remove(" ") with attribute value null (HTML node) 
+PASS classList.toggle(" ", false) with attribute value null (HTML node) 
 PASS classList.remove("\ta") with attribute value "\ta" (HTML node) 
+PASS classList.toggle("\ta", false) with attribute value "\ta" (HTML node) 
 PASS classList.remove("a\t") with attribute value "a\t" (HTML node) 
+PASS classList.toggle("a\t", false) with attribute value "a\t" (HTML node) 
 PASS classList.remove("\na") with attribute value "\na" (HTML node) 
+PASS classList.toggle("\na", false) with attribute value "\na" (HTML node) 
 PASS classList.remove("a\n") with attribute value "a\n" (HTML node) 
+PASS classList.toggle("a\n", false) with attribute value "a\n" (HTML node) 
 PASS classList.remove("\fa") with attribute value "\fa" (HTML node) 
+PASS classList.toggle("\fa", false) with attribute value "\fa" (HTML node) 
 PASS classList.remove("a\f") with attribute value "a\f" (HTML node) 
+PASS classList.toggle("a\f", false) with attribute value "a\f" (HTML node) 
 PASS classList.remove("\ra") with attribute value "\ra" (HTML node) 
+PASS classList.toggle("\ra", false) with attribute value "\ra" (HTML node) 
 PASS classList.remove("a\r") with attribute value "a\r" (HTML node) 
+PASS classList.toggle("a\r", false) with attribute value "a\r" (HTML node) 
 PASS classList.remove(" a") with attribute value " a" (HTML node) 
+PASS classList.toggle(" a", false) with attribute value " a" (HTML node) 
 PASS classList.remove("a ") with attribute value "a " (HTML node) 
+PASS classList.toggle("a ", false) with attribute value "a " (HTML node) 
 PASS classList.remove("aa ") with attribute value "aa " (HTML node) 
+PASS classList.toggle("aa ", false) with attribute value "aa " (HTML node) 
 FAIL classList.remove("a") with attribute value null (HTML node) assert_equals: wrong class after modification expected (object) null but got (string) ""
+PASS classList.toggle("a", false) with attribute value null (HTML node) 
 PASS classList.remove("a") with attribute value "" (HTML node) 
+PASS classList.toggle("a", false) with attribute value "" (HTML node) 
 PASS classList.remove("d") with attribute value "a b  c" (HTML node) 
+PASS classList.toggle("d", false) with attribute value "a b  c" (HTML node) 
 PASS classList.remove("A") with attribute value "a b  c" (HTML node) 
+PASS classList.toggle("A", false) with attribute value "a b  c" (HTML node) 
 PASS classList.remove("a") with attribute value " a a a " (HTML node) 
+PASS classList.toggle("a", false) with attribute value " a a a " (HTML node) 
 PASS classList.remove("a") with attribute value "a  b" (HTML node) 
+PASS classList.toggle("a", false) with attribute value "a  b" (HTML node) 
 PASS classList.remove("a") with attribute value "a  b  " (HTML node) 
+PASS classList.toggle("a", false) with attribute value "a  b  " (HTML node) 
 PASS classList.remove("a") with attribute value "a a b" (HTML node) 
+PASS classList.toggle("a", false) with attribute value "a a b" (HTML node) 
 PASS classList.remove("aa") with attribute value "aa aa bb" (HTML node) 
+PASS classList.toggle("aa", false) with attribute value "aa aa bb" (HTML node) 
 PASS classList.remove("a") with attribute value "a a b a a c a a" (HTML node) 
+PASS classList.toggle("a", false) with attribute value "a a b a a c a a" (HTML node) 
 PASS classList.remove("b") with attribute value "a  b  c" (HTML node) 
+PASS classList.toggle("b", false) with attribute value "a  b  c" (HTML node) 
 PASS classList.remove("bbb") with attribute value "aaa  bbb  ccc" (HTML node) 
+PASS classList.toggle("bbb", false) with attribute value "aaa  bbb  ccc" (HTML node) 
 PASS classList.remove("b") with attribute value " a  b  c " (HTML node) 
+PASS classList.toggle("b", false) with attribute value " a  b  c " (HTML node) 
 PASS classList.remove("b") with attribute value "a b b b c" (HTML node) 
+PASS classList.toggle("b", false) with attribute value "a b b b c" (HTML node) 
 PASS classList.remove("c") with attribute value "a  b  c" (HTML node) 
+PASS classList.toggle("c", false) with attribute value "a  b  c" (HTML node) 
 PASS classList.remove("c") with attribute value " a  b  c " (HTML node) 
+PASS classList.toggle("c", false) with attribute value " a  b  c " (HTML node) 
 PASS classList.remove("c") with attribute value "a b c c c" (HTML node) 
+PASS classList.toggle("c", false) with attribute value "a b c c c" (HTML node) 
 PASS classList.remove("a") with attribute value "a b a c a d a" (HTML node) 
+PASS classList.toggle("a", false) with attribute value "a b a c a d a" (HTML node) 
 PASS classList.remove("AA") with attribute value "AA BB aa CC AA dd aa" (HTML node) 
+PASS classList.toggle("AA", false) with attribute value "AA BB aa CC AA dd aa" (HTML node) 
 PASS classList.remove("a") with attribute value "\ra\na\ta\f" (HTML node) 
+PASS classList.toggle("a", false) with attribute value "\ra\na\ta\f" (HTML node) 
 PASS classList.remove("a") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (HTML node) 
+PASS classList.toggle("a", false) with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (HTML node) 
 PASS classList.remove("d", "e") with attribute value "a b c " (HTML node) 
 PASS classList.remove("a", "b") with attribute value "a b c " (HTML node) 
 PASS classList.remove("a", "c") with attribute value "a b c " (HTML node) 
@@ -143,7 +205,9 @@ FAIL classList.remove("a", "b") with attribute value null (HTML node) assert_equ
 PASS classList.remove("a", "b") with attribute value "" (HTML node) 
 PASS classList.remove() with attribute value "a a" (HTML node) 
 PASS classList.remove(null) with attribute value "null" (HTML node) 
+PASS classList.toggle(null, false) with attribute value "null" (HTML node) 
 PASS classList.remove(undefined) with attribute value "undefined" (HTML node) 
+PASS classList.toggle(undefined, false) with attribute value "undefined" (HTML node) 
 PASS classList.toggle("") with attribute value null (HTML node) 
 PASS classList.toggle("aa ") with attribute value null (HTML node) 
 PASS classList.toggle("a") with attribute value null (HTML node) 
@@ -168,14 +232,6 @@ PASS classList.toggle(null) with attribute value "null" (HTML node)
 PASS classList.toggle(null) with attribute value "" (HTML node) 
 PASS classList.toggle(undefined) with attribute value "undefined" (HTML node) 
 PASS classList.toggle(undefined) with attribute value "" (HTML node) 
-PASS classList.toggle("a", true) with attribute value "" (HTML node) 
-PASS classList.toggle("a", true) with attribute value "a" (HTML node) 
-PASS classList.toggle("b", true) with attribute value "a" (HTML node) 
-PASS classList.toggle("b", true) with attribute value "a b" (HTML node) 
-PASS classList.toggle("a", false) with attribute value "" (HTML node) 
-PASS classList.toggle("a", false) with attribute value "a" (HTML node) 
-PASS classList.toggle("b", false) with attribute value "a" (HTML node) 
-PASS classList.toggle("b", false) with attribute value "a b" (HTML node) 
 PASS classList.replace("", "a") with attribute value null (HTML node) 
 PASS classList.replace("", " ") with attribute value null (HTML node) 
 PASS classList.replace(" ", "a") with attribute value null (HTML node) 
@@ -290,34 +346,60 @@ PASS classList.contains(undefined) when set to "null undefined" (XHTML node)
 PASS classList.contains("a") when set to "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XHTML node) 
 PASS classList.contains("b") when set to "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XHTML node) 
 PASS classList.add("") with attribute value null (XHTML node) 
+PASS classList.toggle("", true) with attribute value null (XHTML node) 
 PASS classList.add("a", "") with attribute value null (XHTML node) 
 PASS classList.add(" ") with attribute value null (XHTML node) 
+PASS classList.toggle(" ", true) with attribute value null (XHTML node) 
 PASS classList.add("\ta") with attribute value null (XHTML node) 
+PASS classList.toggle("\ta", true) with attribute value null (XHTML node) 
 PASS classList.add("a\t") with attribute value null (XHTML node) 
+PASS classList.toggle("a\t", true) with attribute value null (XHTML node) 
 PASS classList.add("\na") with attribute value null (XHTML node) 
+PASS classList.toggle("\na", true) with attribute value null (XHTML node) 
 PASS classList.add("a\n") with attribute value null (XHTML node) 
+PASS classList.toggle("a\n", true) with attribute value null (XHTML node) 
 PASS classList.add("\fa") with attribute value null (XHTML node) 
+PASS classList.toggle("\fa", true) with attribute value null (XHTML node) 
 PASS classList.add("a\f") with attribute value null (XHTML node) 
+PASS classList.toggle("a\f", true) with attribute value null (XHTML node) 
 PASS classList.add("\ra") with attribute value null (XHTML node) 
+PASS classList.toggle("\ra", true) with attribute value null (XHTML node) 
 PASS classList.add("a\r") with attribute value null (XHTML node) 
+PASS classList.toggle("a\r", true) with attribute value null (XHTML node) 
 PASS classList.add(" a") with attribute value null (XHTML node) 
+PASS classList.toggle(" a", true) with attribute value null (XHTML node) 
 PASS classList.add("a ") with attribute value null (XHTML node) 
+PASS classList.toggle("a ", true) with attribute value null (XHTML node) 
 PASS classList.add("a", " ") with attribute value null (XHTML node) 
 PASS classList.add("a", "aa ") with attribute value null (XHTML node) 
 PASS classList.add("a") with attribute value "a" (XHTML node) 
+PASS classList.toggle("a", true) with attribute value "a" (XHTML node) 
 PASS classList.add("AA") with attribute value "aa" (XHTML node) 
+PASS classList.toggle("AA", true) with attribute value "aa" (XHTML node) 
 PASS classList.add("a") with attribute value "a b c" (XHTML node) 
+PASS classList.toggle("a", true) with attribute value "a b c" (XHTML node) 
 PASS classList.add("a") with attribute value "a a a  b" (XHTML node) 
+PASS classList.toggle("a", true) with attribute value "a a a  b" (XHTML node) 
 PASS classList.add("a") with attribute value null (XHTML node) 
+PASS classList.toggle("a", true) with attribute value null (XHTML node) 
 PASS classList.add("a") with attribute value "" (XHTML node) 
+PASS classList.toggle("a", true) with attribute value "" (XHTML node) 
 PASS classList.add("a") with attribute value " " (XHTML node) 
+PASS classList.toggle("a", true) with attribute value " " (XHTML node) 
 PASS classList.add("a") with attribute value "   \f" (XHTML node) 
+PASS classList.toggle("a", true) with attribute value "   \f" (XHTML node) 
 PASS classList.add("b") with attribute value "a" (XHTML node) 
+PASS classList.toggle("b", true) with attribute value "a" (XHTML node) 
 PASS classList.add("d") with attribute value "a b c" (XHTML node) 
+PASS classList.toggle("d", true) with attribute value "a b c" (XHTML node) 
 PASS classList.add("d") with attribute value "a b c " (XHTML node) 
+PASS classList.toggle("d", true) with attribute value "a b c " (XHTML node) 
 PASS classList.add("c") with attribute value "   a  a b" (XHTML node) 
+PASS classList.toggle("c", true) with attribute value "   a  a b" (XHTML node) 
 PASS classList.add("a") with attribute value "   a  a b" (XHTML node) 
+PASS classList.toggle("a", true) with attribute value "   a  a b" (XHTML node) 
 PASS classList.add("c") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XHTML node) 
+PASS classList.toggle("c", true) with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XHTML node) 
 PASS classList.add("d", "e") with attribute value "a b c " (XHTML node) 
 PASS classList.add("a", "a") with attribute value "a b c " (XHTML node) 
 PASS classList.add("d", "d") with attribute value "a b c " (XHTML node) 
@@ -325,41 +407,77 @@ PASS classList.add() with attribute value "a b c a " (XHTML node)
 PASS classList.add("a", "b") with attribute value null (XHTML node) 
 PASS classList.add("a", "b") with attribute value "" (XHTML node) 
 PASS classList.add(null) with attribute value null (XHTML node) 
+PASS classList.toggle(null, true) with attribute value null (XHTML node) 
 PASS classList.add(undefined) with attribute value null (XHTML node) 
+PASS classList.toggle(undefined, true) with attribute value null (XHTML node) 
 PASS classList.remove("") with attribute value null (XHTML node) 
+PASS classList.toggle("", false) with attribute value null (XHTML node) 
 PASS classList.remove(" ") with attribute value null (XHTML node) 
+PASS classList.toggle(" ", false) with attribute value null (XHTML node) 
 PASS classList.remove("\ta") with attribute value "\ta" (XHTML node) 
+PASS classList.toggle("\ta", false) with attribute value "\ta" (XHTML node) 
 PASS classList.remove("a\t") with attribute value "a\t" (XHTML node) 
+PASS classList.toggle("a\t", false) with attribute value "a\t" (XHTML node) 
 PASS classList.remove("\na") with attribute value "\na" (XHTML node) 
+PASS classList.toggle("\na", false) with attribute value "\na" (XHTML node) 
 PASS classList.remove("a\n") with attribute value "a\n" (XHTML node) 
+PASS classList.toggle("a\n", false) with attribute value "a\n" (XHTML node) 
 PASS classList.remove("\fa") with attribute value "\fa" (XHTML node) 
+PASS classList.toggle("\fa", false) with attribute value "\fa" (XHTML node) 
 PASS classList.remove("a\f") with attribute value "a\f" (XHTML node) 
+PASS classList.toggle("a\f", false) with attribute value "a\f" (XHTML node) 
 PASS classList.remove("\ra") with attribute value "\ra" (XHTML node) 
+PASS classList.toggle("\ra", false) with attribute value "\ra" (XHTML node) 
 PASS classList.remove("a\r") with attribute value "a\r" (XHTML node) 
+PASS classList.toggle("a\r", false) with attribute value "a\r" (XHTML node) 
 PASS classList.remove(" a") with attribute value " a" (XHTML node) 
+PASS classList.toggle(" a", false) with attribute value " a" (XHTML node) 
 PASS classList.remove("a ") with attribute value "a " (XHTML node) 
+PASS classList.toggle("a ", false) with attribute value "a " (XHTML node) 
 PASS classList.remove("aa ") with attribute value "aa " (XHTML node) 
+PASS classList.toggle("aa ", false) with attribute value "aa " (XHTML node) 
 FAIL classList.remove("a") with attribute value null (XHTML node) assert_equals: wrong class after modification expected (object) null but got (string) ""
+PASS classList.toggle("a", false) with attribute value null (XHTML node) 
 PASS classList.remove("a") with attribute value "" (XHTML node) 
+PASS classList.toggle("a", false) with attribute value "" (XHTML node) 
 PASS classList.remove("d") with attribute value "a b  c" (XHTML node) 
+PASS classList.toggle("d", false) with attribute value "a b  c" (XHTML node) 
 PASS classList.remove("A") with attribute value "a b  c" (XHTML node) 
+PASS classList.toggle("A", false) with attribute value "a b  c" (XHTML node) 
 PASS classList.remove("a") with attribute value " a a a " (XHTML node) 
+PASS classList.toggle("a", false) with attribute value " a a a " (XHTML node) 
 PASS classList.remove("a") with attribute value "a  b" (XHTML node) 
+PASS classList.toggle("a", false) with attribute value "a  b" (XHTML node) 
 PASS classList.remove("a") with attribute value "a  b  " (XHTML node) 
+PASS classList.toggle("a", false) with attribute value "a  b  " (XHTML node) 
 PASS classList.remove("a") with attribute value "a a b" (XHTML node) 
+PASS classList.toggle("a", false) with attribute value "a a b" (XHTML node) 
 PASS classList.remove("aa") with attribute value "aa aa bb" (XHTML node) 
+PASS classList.toggle("aa", false) with attribute value "aa aa bb" (XHTML node) 
 PASS classList.remove("a") with attribute value "a a b a a c a a" (XHTML node) 
+PASS classList.toggle("a", false) with attribute value "a a b a a c a a" (XHTML node) 
 PASS classList.remove("b") with attribute value "a  b  c" (XHTML node) 
+PASS classList.toggle("b", false) with attribute value "a  b  c" (XHTML node) 
 PASS classList.remove("bbb") with attribute value "aaa  bbb  ccc" (XHTML node) 
+PASS classList.toggle("bbb", false) with attribute value "aaa  bbb  ccc" (XHTML node) 
 PASS classList.remove("b") with attribute value " a  b  c " (XHTML node) 
+PASS classList.toggle("b", false) with attribute value " a  b  c " (XHTML node) 
 PASS classList.remove("b") with attribute value "a b b b c" (XHTML node) 
+PASS classList.toggle("b", false) with attribute value "a b b b c" (XHTML node) 
 PASS classList.remove("c") with attribute value "a  b  c" (XHTML node) 
+PASS classList.toggle("c", false) with attribute value "a  b  c" (XHTML node) 
 PASS classList.remove("c") with attribute value " a  b  c " (XHTML node) 
+PASS classList.toggle("c", false) with attribute value " a  b  c " (XHTML node) 
 PASS classList.remove("c") with attribute value "a b c c c" (XHTML node) 
+PASS classList.toggle("c", false) with attribute value "a b c c c" (XHTML node) 
 PASS classList.remove("a") with attribute value "a b a c a d a" (XHTML node) 
+PASS classList.toggle("a", false) with attribute value "a b a c a d a" (XHTML node) 
 PASS classList.remove("AA") with attribute value "AA BB aa CC AA dd aa" (XHTML node) 
+PASS classList.toggle("AA", false) with attribute value "AA BB aa CC AA dd aa" (XHTML node) 
 PASS classList.remove("a") with attribute value "\ra\na\ta\f" (XHTML node) 
+PASS classList.toggle("a", false) with attribute value "\ra\na\ta\f" (XHTML node) 
 PASS classList.remove("a") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XHTML node) 
+PASS classList.toggle("a", false) with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XHTML node) 
 PASS classList.remove("d", "e") with attribute value "a b c " (XHTML node) 
 PASS classList.remove("a", "b") with attribute value "a b c " (XHTML node) 
 PASS classList.remove("a", "c") with attribute value "a b c " (XHTML node) 
@@ -370,7 +488,9 @@ FAIL classList.remove("a", "b") with attribute value null (XHTML node) assert_eq
 PASS classList.remove("a", "b") with attribute value "" (XHTML node) 
 PASS classList.remove() with attribute value "a a" (XHTML node) 
 PASS classList.remove(null) with attribute value "null" (XHTML node) 
+PASS classList.toggle(null, false) with attribute value "null" (XHTML node) 
 PASS classList.remove(undefined) with attribute value "undefined" (XHTML node) 
+PASS classList.toggle(undefined, false) with attribute value "undefined" (XHTML node) 
 PASS classList.toggle("") with attribute value null (XHTML node) 
 PASS classList.toggle("aa ") with attribute value null (XHTML node) 
 PASS classList.toggle("a") with attribute value null (XHTML node) 
@@ -395,14 +515,6 @@ PASS classList.toggle(null) with attribute value "null" (XHTML node)
 PASS classList.toggle(null) with attribute value "" (XHTML node) 
 PASS classList.toggle(undefined) with attribute value "undefined" (XHTML node) 
 PASS classList.toggle(undefined) with attribute value "" (XHTML node) 
-PASS classList.toggle("a", true) with attribute value "" (XHTML node) 
-PASS classList.toggle("a", true) with attribute value "a" (XHTML node) 
-PASS classList.toggle("b", true) with attribute value "a" (XHTML node) 
-PASS classList.toggle("b", true) with attribute value "a b" (XHTML node) 
-PASS classList.toggle("a", false) with attribute value "" (XHTML node) 
-PASS classList.toggle("a", false) with attribute value "a" (XHTML node) 
-PASS classList.toggle("b", false) with attribute value "a" (XHTML node) 
-PASS classList.toggle("b", false) with attribute value "a b" (XHTML node) 
 PASS classList.replace("", "a") with attribute value null (XHTML node) 
 PASS classList.replace("", " ") with attribute value null (XHTML node) 
 PASS classList.replace(" ", "a") with attribute value null (XHTML node) 
@@ -517,34 +629,60 @@ PASS classList.contains(undefined) when set to "null undefined" (MathML node)
 PASS classList.contains("a") when set to "\t\n\f\r a\t\n\f\r b\t\n\f\r " (MathML node) 
 PASS classList.contains("b") when set to "\t\n\f\r a\t\n\f\r b\t\n\f\r " (MathML node) 
 PASS classList.add("") with attribute value null (MathML node) 
+PASS classList.toggle("", true) with attribute value null (MathML node) 
 PASS classList.add("a", "") with attribute value null (MathML node) 
 PASS classList.add(" ") with attribute value null (MathML node) 
+PASS classList.toggle(" ", true) with attribute value null (MathML node) 
 PASS classList.add("\ta") with attribute value null (MathML node) 
+PASS classList.toggle("\ta", true) with attribute value null (MathML node) 
 PASS classList.add("a\t") with attribute value null (MathML node) 
+PASS classList.toggle("a\t", true) with attribute value null (MathML node) 
 PASS classList.add("\na") with attribute value null (MathML node) 
+PASS classList.toggle("\na", true) with attribute value null (MathML node) 
 PASS classList.add("a\n") with attribute value null (MathML node) 
+PASS classList.toggle("a\n", true) with attribute value null (MathML node) 
 PASS classList.add("\fa") with attribute value null (MathML node) 
+PASS classList.toggle("\fa", true) with attribute value null (MathML node) 
 PASS classList.add("a\f") with attribute value null (MathML node) 
+PASS classList.toggle("a\f", true) with attribute value null (MathML node) 
 PASS classList.add("\ra") with attribute value null (MathML node) 
+PASS classList.toggle("\ra", true) with attribute value null (MathML node) 
 PASS classList.add("a\r") with attribute value null (MathML node) 
+PASS classList.toggle("a\r", true) with attribute value null (MathML node) 
 PASS classList.add(" a") with attribute value null (MathML node) 
+PASS classList.toggle(" a", true) with attribute value null (MathML node) 
 PASS classList.add("a ") with attribute value null (MathML node) 
+PASS classList.toggle("a ", true) with attribute value null (MathML node) 
 PASS classList.add("a", " ") with attribute value null (MathML node) 
 PASS classList.add("a", "aa ") with attribute value null (MathML node) 
 PASS classList.add("a") with attribute value "a" (MathML node) 
+PASS classList.toggle("a", true) with attribute value "a" (MathML node) 
 PASS classList.add("AA") with attribute value "aa" (MathML node) 
+PASS classList.toggle("AA", true) with attribute value "aa" (MathML node) 
 PASS classList.add("a") with attribute value "a b c" (MathML node) 
+PASS classList.toggle("a", true) with attribute value "a b c" (MathML node) 
 PASS classList.add("a") with attribute value "a a a  b" (MathML node) 
+PASS classList.toggle("a", true) with attribute value "a a a  b" (MathML node) 
 PASS classList.add("a") with attribute value null (MathML node) 
+PASS classList.toggle("a", true) with attribute value null (MathML node) 
 PASS classList.add("a") with attribute value "" (MathML node) 
+PASS classList.toggle("a", true) with attribute value "" (MathML node) 
 PASS classList.add("a") with attribute value " " (MathML node) 
+PASS classList.toggle("a", true) with attribute value " " (MathML node) 
 PASS classList.add("a") with attribute value "   \f" (MathML node) 
+PASS classList.toggle("a", true) with attribute value "   \f" (MathML node) 
 PASS classList.add("b") with attribute value "a" (MathML node) 
+PASS classList.toggle("b", true) with attribute value "a" (MathML node) 
 PASS classList.add("d") with attribute value "a b c" (MathML node) 
+PASS classList.toggle("d", true) with attribute value "a b c" (MathML node) 
 PASS classList.add("d") with attribute value "a b c " (MathML node) 
+PASS classList.toggle("d", true) with attribute value "a b c " (MathML node) 
 PASS classList.add("c") with attribute value "   a  a b" (MathML node) 
+PASS classList.toggle("c", true) with attribute value "   a  a b" (MathML node) 
 PASS classList.add("a") with attribute value "   a  a b" (MathML node) 
+PASS classList.toggle("a", true) with attribute value "   a  a b" (MathML node) 
 PASS classList.add("c") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (MathML node) 
+PASS classList.toggle("c", true) with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (MathML node) 
 PASS classList.add("d", "e") with attribute value "a b c " (MathML node) 
 PASS classList.add("a", "a") with attribute value "a b c " (MathML node) 
 PASS classList.add("d", "d") with attribute value "a b c " (MathML node) 
@@ -552,41 +690,77 @@ PASS classList.add() with attribute value "a b c a " (MathML node)
 PASS classList.add("a", "b") with attribute value null (MathML node) 
 PASS classList.add("a", "b") with attribute value "" (MathML node) 
 PASS classList.add(null) with attribute value null (MathML node) 
+PASS classList.toggle(null, true) with attribute value null (MathML node) 
 PASS classList.add(undefined) with attribute value null (MathML node) 
+PASS classList.toggle(undefined, true) with attribute value null (MathML node) 
 PASS classList.remove("") with attribute value null (MathML node) 
+PASS classList.toggle("", false) with attribute value null (MathML node) 
 PASS classList.remove(" ") with attribute value null (MathML node) 
+PASS classList.toggle(" ", false) with attribute value null (MathML node) 
 PASS classList.remove("\ta") with attribute value "\ta" (MathML node) 
+PASS classList.toggle("\ta", false) with attribute value "\ta" (MathML node) 
 PASS classList.remove("a\t") with attribute value "a\t" (MathML node) 
+PASS classList.toggle("a\t", false) with attribute value "a\t" (MathML node) 
 PASS classList.remove("\na") with attribute value "\na" (MathML node) 
+PASS classList.toggle("\na", false) with attribute value "\na" (MathML node) 
 PASS classList.remove("a\n") with attribute value "a\n" (MathML node) 
+PASS classList.toggle("a\n", false) with attribute value "a\n" (MathML node) 
 PASS classList.remove("\fa") with attribute value "\fa" (MathML node) 
+PASS classList.toggle("\fa", false) with attribute value "\fa" (MathML node) 
 PASS classList.remove("a\f") with attribute value "a\f" (MathML node) 
+PASS classList.toggle("a\f", false) with attribute value "a\f" (MathML node) 
 PASS classList.remove("\ra") with attribute value "\ra" (MathML node) 
+PASS classList.toggle("\ra", false) with attribute value "\ra" (MathML node) 
 PASS classList.remove("a\r") with attribute value "a\r" (MathML node) 
+PASS classList.toggle("a\r", false) with attribute value "a\r" (MathML node) 
 PASS classList.remove(" a") with attribute value " a" (MathML node) 
+PASS classList.toggle(" a", false) with attribute value " a" (MathML node) 
 PASS classList.remove("a ") with attribute value "a " (MathML node) 
+PASS classList.toggle("a ", false) with attribute value "a " (MathML node) 
 PASS classList.remove("aa ") with attribute value "aa " (MathML node) 
+PASS classList.toggle("aa ", false) with attribute value "aa " (MathML node) 
 FAIL classList.remove("a") with attribute value null (MathML node) assert_equals: wrong class after modification expected (object) null but got (string) ""
+PASS classList.toggle("a", false) with attribute value null (MathML node) 
 PASS classList.remove("a") with attribute value "" (MathML node) 
+PASS classList.toggle("a", false) with attribute value "" (MathML node) 
 PASS classList.remove("d") with attribute value "a b  c" (MathML node) 
+PASS classList.toggle("d", false) with attribute value "a b  c" (MathML node) 
 PASS classList.remove("A") with attribute value "a b  c" (MathML node) 
+PASS classList.toggle("A", false) with attribute value "a b  c" (MathML node) 
 PASS classList.remove("a") with attribute value " a a a " (MathML node) 
+PASS classList.toggle("a", false) with attribute value " a a a " (MathML node) 
 PASS classList.remove("a") with attribute value "a  b" (MathML node) 
+PASS classList.toggle("a", false) with attribute value "a  b" (MathML node) 
 PASS classList.remove("a") with attribute value "a  b  " (MathML node) 
+PASS classList.toggle("a", false) with attribute value "a  b  " (MathML node) 
 PASS classList.remove("a") with attribute value "a a b" (MathML node) 
+PASS classList.toggle("a", false) with attribute value "a a b" (MathML node) 
 PASS classList.remove("aa") with attribute value "aa aa bb" (MathML node) 
+PASS classList.toggle("aa", false) with attribute value "aa aa bb" (MathML node) 
 PASS classList.remove("a") with attribute value "a a b a a c a a" (MathML node) 
+PASS classList.toggle("a", false) with attribute value "a a b a a c a a" (MathML node) 
 PASS classList.remove("b") with attribute value "a  b  c" (MathML node) 
+PASS classList.toggle("b", false) with attribute value "a  b  c" (MathML node) 
 PASS classList.remove("bbb") with attribute value "aaa  bbb  ccc" (MathML node) 
+PASS classList.toggle("bbb", false) with attribute value "aaa  bbb  ccc" (MathML node) 
 PASS classList.remove("b") with attribute value " a  b  c " (MathML node) 
+PASS classList.toggle("b", false) with attribute value " a  b  c " (MathML node) 
 PASS classList.remove("b") with attribute value "a b b b c" (MathML node) 
+PASS classList.toggle("b", false) with attribute value "a b b b c" (MathML node) 
 PASS classList.remove("c") with attribute value "a  b  c" (MathML node) 
+PASS classList.toggle("c", false) with attribute value "a  b  c" (MathML node) 
 PASS classList.remove("c") with attribute value " a  b  c " (MathML node) 
+PASS classList.toggle("c", false) with attribute value " a  b  c " (MathML node) 
 PASS classList.remove("c") with attribute value "a b c c c" (MathML node) 
+PASS classList.toggle("c", false) with attribute value "a b c c c" (MathML node) 
 PASS classList.remove("a") with attribute value "a b a c a d a" (MathML node) 
+PASS classList.toggle("a", false) with attribute value "a b a c a d a" (MathML node) 
 PASS classList.remove("AA") with attribute value "AA BB aa CC AA dd aa" (MathML node) 
+PASS classList.toggle("AA", false) with attribute value "AA BB aa CC AA dd aa" (MathML node) 
 PASS classList.remove("a") with attribute value "\ra\na\ta\f" (MathML node) 
+PASS classList.toggle("a", false) with attribute value "\ra\na\ta\f" (MathML node) 
 PASS classList.remove("a") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (MathML node) 
+PASS classList.toggle("a", false) with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (MathML node) 
 PASS classList.remove("d", "e") with attribute value "a b c " (MathML node) 
 PASS classList.remove("a", "b") with attribute value "a b c " (MathML node) 
 PASS classList.remove("a", "c") with attribute value "a b c " (MathML node) 
@@ -597,7 +771,9 @@ FAIL classList.remove("a", "b") with attribute value null (MathML node) assert_e
 PASS classList.remove("a", "b") with attribute value "" (MathML node) 
 PASS classList.remove() with attribute value "a a" (MathML node) 
 PASS classList.remove(null) with attribute value "null" (MathML node) 
+PASS classList.toggle(null, false) with attribute value "null" (MathML node) 
 PASS classList.remove(undefined) with attribute value "undefined" (MathML node) 
+PASS classList.toggle(undefined, false) with attribute value "undefined" (MathML node) 
 PASS classList.toggle("") with attribute value null (MathML node) 
 PASS classList.toggle("aa ") with attribute value null (MathML node) 
 PASS classList.toggle("a") with attribute value null (MathML node) 
@@ -622,14 +798,6 @@ PASS classList.toggle(null) with attribute value "null" (MathML node)
 PASS classList.toggle(null) with attribute value "" (MathML node) 
 PASS classList.toggle(undefined) with attribute value "undefined" (MathML node) 
 PASS classList.toggle(undefined) with attribute value "" (MathML node) 
-PASS classList.toggle("a", true) with attribute value "" (MathML node) 
-PASS classList.toggle("a", true) with attribute value "a" (MathML node) 
-PASS classList.toggle("b", true) with attribute value "a" (MathML node) 
-PASS classList.toggle("b", true) with attribute value "a b" (MathML node) 
-PASS classList.toggle("a", false) with attribute value "" (MathML node) 
-PASS classList.toggle("a", false) with attribute value "a" (MathML node) 
-PASS classList.toggle("b", false) with attribute value "a" (MathML node) 
-PASS classList.toggle("b", false) with attribute value "a b" (MathML node) 
 PASS classList.replace("", "a") with attribute value null (MathML node) 
 PASS classList.replace("", " ") with attribute value null (MathML node) 
 PASS classList.replace(" ", "a") with attribute value null (MathML node) 
@@ -744,34 +912,60 @@ PASS classList.contains(undefined) when set to "null undefined" (XML node with n
 PASS classList.contains("a") when set to "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XML node with null namespace) 
 PASS classList.contains("b") when set to "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XML node with null namespace) 
 PASS classList.add("") with attribute value null (XML node with null namespace) 
+PASS classList.toggle("", true) with attribute value null (XML node with null namespace) 
 PASS classList.add("a", "") with attribute value null (XML node with null namespace) 
 PASS classList.add(" ") with attribute value null (XML node with null namespace) 
+PASS classList.toggle(" ", true) with attribute value null (XML node with null namespace) 
 PASS classList.add("\ta") with attribute value null (XML node with null namespace) 
+PASS classList.toggle("\ta", true) with attribute value null (XML node with null namespace) 
 PASS classList.add("a\t") with attribute value null (XML node with null namespace) 
+PASS classList.toggle("a\t", true) with attribute value null (XML node with null namespace) 
 PASS classList.add("\na") with attribute value null (XML node with null namespace) 
+PASS classList.toggle("\na", true) with attribute value null (XML node with null namespace) 
 PASS classList.add("a\n") with attribute value null (XML node with null namespace) 
+PASS classList.toggle("a\n", true) with attribute value null (XML node with null namespace) 
 PASS classList.add("\fa") with attribute value null (XML node with null namespace) 
+PASS classList.toggle("\fa", true) with attribute value null (XML node with null namespace) 
 PASS classList.add("a\f") with attribute value null (XML node with null namespace) 
+PASS classList.toggle("a\f", true) with attribute value null (XML node with null namespace) 
 PASS classList.add("\ra") with attribute value null (XML node with null namespace) 
+PASS classList.toggle("\ra", true) with attribute value null (XML node with null namespace) 
 PASS classList.add("a\r") with attribute value null (XML node with null namespace) 
+PASS classList.toggle("a\r", true) with attribute value null (XML node with null namespace) 
 PASS classList.add(" a") with attribute value null (XML node with null namespace) 
+PASS classList.toggle(" a", true) with attribute value null (XML node with null namespace) 
 PASS classList.add("a ") with attribute value null (XML node with null namespace) 
+PASS classList.toggle("a ", true) with attribute value null (XML node with null namespace) 
 PASS classList.add("a", " ") with attribute value null (XML node with null namespace) 
 PASS classList.add("a", "aa ") with attribute value null (XML node with null namespace) 
 PASS classList.add("a") with attribute value "a" (XML node with null namespace) 
+PASS classList.toggle("a", true) with attribute value "a" (XML node with null namespace) 
 PASS classList.add("AA") with attribute value "aa" (XML node with null namespace) 
+PASS classList.toggle("AA", true) with attribute value "aa" (XML node with null namespace) 
 PASS classList.add("a") with attribute value "a b c" (XML node with null namespace) 
+PASS classList.toggle("a", true) with attribute value "a b c" (XML node with null namespace) 
 PASS classList.add("a") with attribute value "a a a  b" (XML node with null namespace) 
+PASS classList.toggle("a", true) with attribute value "a a a  b" (XML node with null namespace) 
 PASS classList.add("a") with attribute value null (XML node with null namespace) 
+PASS classList.toggle("a", true) with attribute value null (XML node with null namespace) 
 PASS classList.add("a") with attribute value "" (XML node with null namespace) 
+PASS classList.toggle("a", true) with attribute value "" (XML node with null namespace) 
 PASS classList.add("a") with attribute value " " (XML node with null namespace) 
+PASS classList.toggle("a", true) with attribute value " " (XML node with null namespace) 
 PASS classList.add("a") with attribute value "   \f" (XML node with null namespace) 
+PASS classList.toggle("a", true) with attribute value "   \f" (XML node with null namespace) 
 PASS classList.add("b") with attribute value "a" (XML node with null namespace) 
+PASS classList.toggle("b", true) with attribute value "a" (XML node with null namespace) 
 PASS classList.add("d") with attribute value "a b c" (XML node with null namespace) 
+PASS classList.toggle("d", true) with attribute value "a b c" (XML node with null namespace) 
 PASS classList.add("d") with attribute value "a b c " (XML node with null namespace) 
+PASS classList.toggle("d", true) with attribute value "a b c " (XML node with null namespace) 
 PASS classList.add("c") with attribute value "   a  a b" (XML node with null namespace) 
+PASS classList.toggle("c", true) with attribute value "   a  a b" (XML node with null namespace) 
 PASS classList.add("a") with attribute value "   a  a b" (XML node with null namespace) 
+PASS classList.toggle("a", true) with attribute value "   a  a b" (XML node with null namespace) 
 PASS classList.add("c") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XML node with null namespace) 
+PASS classList.toggle("c", true) with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XML node with null namespace) 
 PASS classList.add("d", "e") with attribute value "a b c " (XML node with null namespace) 
 PASS classList.add("a", "a") with attribute value "a b c " (XML node with null namespace) 
 PASS classList.add("d", "d") with attribute value "a b c " (XML node with null namespace) 
@@ -779,41 +973,77 @@ PASS classList.add() with attribute value "a b c a " (XML node with null namespa
 PASS classList.add("a", "b") with attribute value null (XML node with null namespace) 
 PASS classList.add("a", "b") with attribute value "" (XML node with null namespace) 
 PASS classList.add(null) with attribute value null (XML node with null namespace) 
+PASS classList.toggle(null, true) with attribute value null (XML node with null namespace) 
 PASS classList.add(undefined) with attribute value null (XML node with null namespace) 
+PASS classList.toggle(undefined, true) with attribute value null (XML node with null namespace) 
 PASS classList.remove("") with attribute value null (XML node with null namespace) 
+PASS classList.toggle("", false) with attribute value null (XML node with null namespace) 
 PASS classList.remove(" ") with attribute value null (XML node with null namespace) 
+PASS classList.toggle(" ", false) with attribute value null (XML node with null namespace) 
 PASS classList.remove("\ta") with attribute value "\ta" (XML node with null namespace) 
+PASS classList.toggle("\ta", false) with attribute value "\ta" (XML node with null namespace) 
 PASS classList.remove("a\t") with attribute value "a\t" (XML node with null namespace) 
+PASS classList.toggle("a\t", false) with attribute value "a\t" (XML node with null namespace) 
 PASS classList.remove("\na") with attribute value "\na" (XML node with null namespace) 
+PASS classList.toggle("\na", false) with attribute value "\na" (XML node with null namespace) 
 PASS classList.remove("a\n") with attribute value "a\n" (XML node with null namespace) 
+PASS classList.toggle("a\n", false) with attribute value "a\n" (XML node with null namespace) 
 PASS classList.remove("\fa") with attribute value "\fa" (XML node with null namespace) 
+PASS classList.toggle("\fa", false) with attribute value "\fa" (XML node with null namespace) 
 PASS classList.remove("a\f") with attribute value "a\f" (XML node with null namespace) 
+PASS classList.toggle("a\f", false) with attribute value "a\f" (XML node with null namespace) 
 PASS classList.remove("\ra") with attribute value "\ra" (XML node with null namespace) 
+PASS classList.toggle("\ra", false) with attribute value "\ra" (XML node with null namespace) 
 PASS classList.remove("a\r") with attribute value "a\r" (XML node with null namespace) 
+PASS classList.toggle("a\r", false) with attribute value "a\r" (XML node with null namespace) 
 PASS classList.remove(" a") with attribute value " a" (XML node with null namespace) 
+PASS classList.toggle(" a", false) with attribute value " a" (XML node with null namespace) 
 PASS classList.remove("a ") with attribute value "a " (XML node with null namespace) 
+PASS classList.toggle("a ", false) with attribute value "a " (XML node with null namespace) 
 PASS classList.remove("aa ") with attribute value "aa " (XML node with null namespace) 
+PASS classList.toggle("aa ", false) with attribute value "aa " (XML node with null namespace) 
 FAIL classList.remove("a") with attribute value null (XML node with null namespace) assert_equals: wrong class after modification expected (object) null but got (string) ""
+PASS classList.toggle("a", false) with attribute value null (XML node with null namespace) 
 PASS classList.remove("a") with attribute value "" (XML node with null namespace) 
+PASS classList.toggle("a", false) with attribute value "" (XML node with null namespace) 
 PASS classList.remove("d") with attribute value "a b  c" (XML node with null namespace) 
+PASS classList.toggle("d", false) with attribute value "a b  c" (XML node with null namespace) 
 PASS classList.remove("A") with attribute value "a b  c" (XML node with null namespace) 
+PASS classList.toggle("A", false) with attribute value "a b  c" (XML node with null namespace) 
 PASS classList.remove("a") with attribute value " a a a " (XML node with null namespace) 
+PASS classList.toggle("a", false) with attribute value " a a a " (XML node with null namespace) 
 PASS classList.remove("a") with attribute value "a  b" (XML node with null namespace) 
+PASS classList.toggle("a", false) with attribute value "a  b" (XML node with null namespace) 
 PASS classList.remove("a") with attribute value "a  b  " (XML node with null namespace) 
+PASS classList.toggle("a", false) with attribute value "a  b  " (XML node with null namespace) 
 PASS classList.remove("a") with attribute value "a a b" (XML node with null namespace) 
+PASS classList.toggle("a", false) with attribute value "a a b" (XML node with null namespace) 
 PASS classList.remove("aa") with attribute value "aa aa bb" (XML node with null namespace) 
+PASS classList.toggle("aa", false) with attribute value "aa aa bb" (XML node with null namespace) 
 PASS classList.remove("a") with attribute value "a a b a a c a a" (XML node with null namespace) 
+PASS classList.toggle("a", false) with attribute value "a a b a a c a a" (XML node with null namespace) 
 PASS classList.remove("b") with attribute value "a  b  c" (XML node with null namespace) 
+PASS classList.toggle("b", false) with attribute value "a  b  c" (XML node with null namespace) 
 PASS classList.remove("bbb") with attribute value "aaa  bbb  ccc" (XML node with null namespace) 
+PASS classList.toggle("bbb", false) with attribute value "aaa  bbb  ccc" (XML node with null namespace) 
 PASS classList.remove("b") with attribute value " a  b  c " (XML node with null namespace) 
+PASS classList.toggle("b", false) with attribute value " a  b  c " (XML node with null namespace) 
 PASS classList.remove("b") with attribute value "a b b b c" (XML node with null namespace) 
+PASS classList.toggle("b", false) with attribute value "a b b b c" (XML node with null namespace) 
 PASS classList.remove("c") with attribute value "a  b  c" (XML node with null namespace) 
+PASS classList.toggle("c", false) with attribute value "a  b  c" (XML node with null namespace) 
 PASS classList.remove("c") with attribute value " a  b  c " (XML node with null namespace) 
+PASS classList.toggle("c", false) with attribute value " a  b  c " (XML node with null namespace) 
 PASS classList.remove("c") with attribute value "a b c c c" (XML node with null namespace) 
+PASS classList.toggle("c", false) with attribute value "a b c c c" (XML node with null namespace) 
 PASS classList.remove("a") with attribute value "a b a c a d a" (XML node with null namespace) 
+PASS classList.toggle("a", false) with attribute value "a b a c a d a" (XML node with null namespace) 
 PASS classList.remove("AA") with attribute value "AA BB aa CC AA dd aa" (XML node with null namespace) 
+PASS classList.toggle("AA", false) with attribute value "AA BB aa CC AA dd aa" (XML node with null namespace) 
 PASS classList.remove("a") with attribute value "\ra\na\ta\f" (XML node with null namespace) 
+PASS classList.toggle("a", false) with attribute value "\ra\na\ta\f" (XML node with null namespace) 
 PASS classList.remove("a") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XML node with null namespace) 
+PASS classList.toggle("a", false) with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (XML node with null namespace) 
 PASS classList.remove("d", "e") with attribute value "a b c " (XML node with null namespace) 
 PASS classList.remove("a", "b") with attribute value "a b c " (XML node with null namespace) 
 PASS classList.remove("a", "c") with attribute value "a b c " (XML node with null namespace) 
@@ -824,7 +1054,9 @@ FAIL classList.remove("a", "b") with attribute value null (XML node with null na
 PASS classList.remove("a", "b") with attribute value "" (XML node with null namespace) 
 PASS classList.remove() with attribute value "a a" (XML node with null namespace) 
 PASS classList.remove(null) with attribute value "null" (XML node with null namespace) 
+PASS classList.toggle(null, false) with attribute value "null" (XML node with null namespace) 
 PASS classList.remove(undefined) with attribute value "undefined" (XML node with null namespace) 
+PASS classList.toggle(undefined, false) with attribute value "undefined" (XML node with null namespace) 
 PASS classList.toggle("") with attribute value null (XML node with null namespace) 
 PASS classList.toggle("aa ") with attribute value null (XML node with null namespace) 
 PASS classList.toggle("a") with attribute value null (XML node with null namespace) 
@@ -849,14 +1081,6 @@ PASS classList.toggle(null) with attribute value "null" (XML node with null name
 PASS classList.toggle(null) with attribute value "" (XML node with null namespace) 
 PASS classList.toggle(undefined) with attribute value "undefined" (XML node with null namespace) 
 PASS classList.toggle(undefined) with attribute value "" (XML node with null namespace) 
-PASS classList.toggle("a", true) with attribute value "" (XML node with null namespace) 
-PASS classList.toggle("a", true) with attribute value "a" (XML node with null namespace) 
-PASS classList.toggle("b", true) with attribute value "a" (XML node with null namespace) 
-PASS classList.toggle("b", true) with attribute value "a b" (XML node with null namespace) 
-PASS classList.toggle("a", false) with attribute value "" (XML node with null namespace) 
-PASS classList.toggle("a", false) with attribute value "a" (XML node with null namespace) 
-PASS classList.toggle("b", false) with attribute value "a" (XML node with null namespace) 
-PASS classList.toggle("b", false) with attribute value "a b" (XML node with null namespace) 
 PASS classList.replace("", "a") with attribute value null (XML node with null namespace) 
 PASS classList.replace("", " ") with attribute value null (XML node with null namespace) 
 PASS classList.replace(" ", "a") with attribute value null (XML node with null namespace) 
@@ -971,34 +1195,60 @@ PASS classList.contains(undefined) when set to "null undefined" (foo node)
 PASS classList.contains("a") when set to "\t\n\f\r a\t\n\f\r b\t\n\f\r " (foo node) 
 PASS classList.contains("b") when set to "\t\n\f\r a\t\n\f\r b\t\n\f\r " (foo node) 
 PASS classList.add("") with attribute value null (foo node) 
+PASS classList.toggle("", true) with attribute value null (foo node) 
 PASS classList.add("a", "") with attribute value null (foo node) 
 PASS classList.add(" ") with attribute value null (foo node) 
+PASS classList.toggle(" ", true) with attribute value null (foo node) 
 PASS classList.add("\ta") with attribute value null (foo node) 
+PASS classList.toggle("\ta", true) with attribute value null (foo node) 
 PASS classList.add("a\t") with attribute value null (foo node) 
+PASS classList.toggle("a\t", true) with attribute value null (foo node) 
 PASS classList.add("\na") with attribute value null (foo node) 
+PASS classList.toggle("\na", true) with attribute value null (foo node) 
 PASS classList.add("a\n") with attribute value null (foo node) 
+PASS classList.toggle("a\n", true) with attribute value null (foo node) 
 PASS classList.add("\fa") with attribute value null (foo node) 
+PASS classList.toggle("\fa", true) with attribute value null (foo node) 
 PASS classList.add("a\f") with attribute value null (foo node) 
+PASS classList.toggle("a\f", true) with attribute value null (foo node) 
 PASS classList.add("\ra") with attribute value null (foo node) 
+PASS classList.toggle("\ra", true) with attribute value null (foo node) 
 PASS classList.add("a\r") with attribute value null (foo node) 
+PASS classList.toggle("a\r", true) with attribute value null (foo node) 
 PASS classList.add(" a") with attribute value null (foo node) 
+PASS classList.toggle(" a", true) with attribute value null (foo node) 
 PASS classList.add("a ") with attribute value null (foo node) 
+PASS classList.toggle("a ", true) with attribute value null (foo node) 
 PASS classList.add("a", " ") with attribute value null (foo node) 
 PASS classList.add("a", "aa ") with attribute value null (foo node) 
 PASS classList.add("a") with attribute value "a" (foo node) 
+PASS classList.toggle("a", true) with attribute value "a" (foo node) 
 PASS classList.add("AA") with attribute value "aa" (foo node) 
+PASS classList.toggle("AA", true) with attribute value "aa" (foo node) 
 PASS classList.add("a") with attribute value "a b c" (foo node) 
+PASS classList.toggle("a", true) with attribute value "a b c" (foo node) 
 PASS classList.add("a") with attribute value "a a a  b" (foo node) 
+PASS classList.toggle("a", true) with attribute value "a a a  b" (foo node) 
 PASS classList.add("a") with attribute value null (foo node) 
+PASS classList.toggle("a", true) with attribute value null (foo node) 
 PASS classList.add("a") with attribute value "" (foo node) 
+PASS classList.toggle("a", true) with attribute value "" (foo node) 
 PASS classList.add("a") with attribute value " " (foo node) 
+PASS classList.toggle("a", true) with attribute value " " (foo node) 
 PASS classList.add("a") with attribute value "   \f" (foo node) 
+PASS classList.toggle("a", true) with attribute value "   \f" (foo node) 
 PASS classList.add("b") with attribute value "a" (foo node) 
+PASS classList.toggle("b", true) with attribute value "a" (foo node) 
 PASS classList.add("d") with attribute value "a b c" (foo node) 
+PASS classList.toggle("d", true) with attribute value "a b c" (foo node) 
 PASS classList.add("d") with attribute value "a b c " (foo node) 
+PASS classList.toggle("d", true) with attribute value "a b c " (foo node) 
 PASS classList.add("c") with attribute value "   a  a b" (foo node) 
+PASS classList.toggle("c", true) with attribute value "   a  a b" (foo node) 
 PASS classList.add("a") with attribute value "   a  a b" (foo node) 
+PASS classList.toggle("a", true) with attribute value "   a  a b" (foo node) 
 PASS classList.add("c") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (foo node) 
+PASS classList.toggle("c", true) with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (foo node) 
 PASS classList.add("d", "e") with attribute value "a b c " (foo node) 
 PASS classList.add("a", "a") with attribute value "a b c " (foo node) 
 PASS classList.add("d", "d") with attribute value "a b c " (foo node) 
@@ -1006,41 +1256,77 @@ PASS classList.add() with attribute value "a b c a " (foo node)
 PASS classList.add("a", "b") with attribute value null (foo node) 
 PASS classList.add("a", "b") with attribute value "" (foo node) 
 PASS classList.add(null) with attribute value null (foo node) 
+PASS classList.toggle(null, true) with attribute value null (foo node) 
 PASS classList.add(undefined) with attribute value null (foo node) 
+PASS classList.toggle(undefined, true) with attribute value null (foo node) 
 PASS classList.remove("") with attribute value null (foo node) 
+PASS classList.toggle("", false) with attribute value null (foo node) 
 PASS classList.remove(" ") with attribute value null (foo node) 
+PASS classList.toggle(" ", false) with attribute value null (foo node) 
 PASS classList.remove("\ta") with attribute value "\ta" (foo node) 
+PASS classList.toggle("\ta", false) with attribute value "\ta" (foo node) 
 PASS classList.remove("a\t") with attribute value "a\t" (foo node) 
+PASS classList.toggle("a\t", false) with attribute value "a\t" (foo node) 
 PASS classList.remove("\na") with attribute value "\na" (foo node) 
+PASS classList.toggle("\na", false) with attribute value "\na" (foo node) 
 PASS classList.remove("a\n") with attribute value "a\n" (foo node) 
+PASS classList.toggle("a\n", false) with attribute value "a\n" (foo node) 
 PASS classList.remove("\fa") with attribute value "\fa" (foo node) 
+PASS classList.toggle("\fa", false) with attribute value "\fa" (foo node) 
 PASS classList.remove("a\f") with attribute value "a\f" (foo node) 
+PASS classList.toggle("a\f", false) with attribute value "a\f" (foo node) 
 PASS classList.remove("\ra") with attribute value "\ra" (foo node) 
+PASS classList.toggle("\ra", false) with attribute value "\ra" (foo node) 
 PASS classList.remove("a\r") with attribute value "a\r" (foo node) 
+PASS classList.toggle("a\r", false) with attribute value "a\r" (foo node) 
 PASS classList.remove(" a") with attribute value " a" (foo node) 
+PASS classList.toggle(" a", false) with attribute value " a" (foo node) 
 PASS classList.remove("a ") with attribute value "a " (foo node) 
+PASS classList.toggle("a ", false) with attribute value "a " (foo node) 
 PASS classList.remove("aa ") with attribute value "aa " (foo node) 
+PASS classList.toggle("aa ", false) with attribute value "aa " (foo node) 
 FAIL classList.remove("a") with attribute value null (foo node) assert_equals: wrong class after modification expected (object) null but got (string) ""
+PASS classList.toggle("a", false) with attribute value null (foo node) 
 PASS classList.remove("a") with attribute value "" (foo node) 
+PASS classList.toggle("a", false) with attribute value "" (foo node) 
 PASS classList.remove("d") with attribute value "a b  c" (foo node) 
+PASS classList.toggle("d", false) with attribute value "a b  c" (foo node) 
 PASS classList.remove("A") with attribute value "a b  c" (foo node) 
+PASS classList.toggle("A", false) with attribute value "a b  c" (foo node) 
 PASS classList.remove("a") with attribute value " a a a " (foo node) 
+PASS classList.toggle("a", false) with attribute value " a a a " (foo node) 
 PASS classList.remove("a") with attribute value "a  b" (foo node) 
+PASS classList.toggle("a", false) with attribute value "a  b" (foo node) 
 PASS classList.remove("a") with attribute value "a  b  " (foo node) 
+PASS classList.toggle("a", false) with attribute value "a  b  " (foo node) 
 PASS classList.remove("a") with attribute value "a a b" (foo node) 
+PASS classList.toggle("a", false) with attribute value "a a b" (foo node) 
 PASS classList.remove("aa") with attribute value "aa aa bb" (foo node) 
+PASS classList.toggle("aa", false) with attribute value "aa aa bb" (foo node) 
 PASS classList.remove("a") with attribute value "a a b a a c a a" (foo node) 
+PASS classList.toggle("a", false) with attribute value "a a b a a c a a" (foo node) 
 PASS classList.remove("b") with attribute value "a  b  c" (foo node) 
+PASS classList.toggle("b", false) with attribute value "a  b  c" (foo node) 
 PASS classList.remove("bbb") with attribute value "aaa  bbb  ccc" (foo node) 
+PASS classList.toggle("bbb", false) with attribute value "aaa  bbb  ccc" (foo node) 
 PASS classList.remove("b") with attribute value " a  b  c " (foo node) 
+PASS classList.toggle("b", false) with attribute value " a  b  c " (foo node) 
 PASS classList.remove("b") with attribute value "a b b b c" (foo node) 
+PASS classList.toggle("b", false) with attribute value "a b b b c" (foo node) 
 PASS classList.remove("c") with attribute value "a  b  c" (foo node) 
+PASS classList.toggle("c", false) with attribute value "a  b  c" (foo node) 
 PASS classList.remove("c") with attribute value " a  b  c " (foo node) 
+PASS classList.toggle("c", false) with attribute value " a  b  c " (foo node) 
 PASS classList.remove("c") with attribute value "a b c c c" (foo node) 
+PASS classList.toggle("c", false) with attribute value "a b c c c" (foo node) 
 PASS classList.remove("a") with attribute value "a b a c a d a" (foo node) 
+PASS classList.toggle("a", false) with attribute value "a b a c a d a" (foo node) 
 PASS classList.remove("AA") with attribute value "AA BB aa CC AA dd aa" (foo node) 
+PASS classList.toggle("AA", false) with attribute value "AA BB aa CC AA dd aa" (foo node) 
 PASS classList.remove("a") with attribute value "\ra\na\ta\f" (foo node) 
+PASS classList.toggle("a", false) with attribute value "\ra\na\ta\f" (foo node) 
 PASS classList.remove("a") with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (foo node) 
+PASS classList.toggle("a", false) with attribute value "\t\n\f\r a\t\n\f\r b\t\n\f\r " (foo node) 
 PASS classList.remove("d", "e") with attribute value "a b c " (foo node) 
 PASS classList.remove("a", "b") with attribute value "a b c " (foo node) 
 PASS classList.remove("a", "c") with attribute value "a b c " (foo node) 
@@ -1051,7 +1337,9 @@ FAIL classList.remove("a", "b") with attribute value null (foo node) assert_equa
 PASS classList.remove("a", "b") with attribute value "" (foo node) 
 PASS classList.remove() with attribute value "a a" (foo node) 
 PASS classList.remove(null) with attribute value "null" (foo node) 
+PASS classList.toggle(null, false) with attribute value "null" (foo node) 
 PASS classList.remove(undefined) with attribute value "undefined" (foo node) 
+PASS classList.toggle(undefined, false) with attribute value "undefined" (foo node) 
 PASS classList.toggle("") with attribute value null (foo node) 
 PASS classList.toggle("aa ") with attribute value null (foo node) 
 PASS classList.toggle("a") with attribute value null (foo node) 
@@ -1076,14 +1364,6 @@ PASS classList.toggle(null) with attribute value "null" (foo node)
 PASS classList.toggle(null) with attribute value "" (foo node) 
 PASS classList.toggle(undefined) with attribute value "undefined" (foo node) 
 PASS classList.toggle(undefined) with attribute value "" (foo node) 
-PASS classList.toggle("a", true) with attribute value "" (foo node) 
-PASS classList.toggle("a", true) with attribute value "a" (foo node) 
-PASS classList.toggle("b", true) with attribute value "a" (foo node) 
-PASS classList.toggle("b", true) with attribute value "a b" (foo node) 
-PASS classList.toggle("a", false) with attribute value "" (foo node) 
-PASS classList.toggle("a", false) with attribute value "a" (foo node) 
-PASS classList.toggle("b", false) with attribute value "a" (foo node) 
-PASS classList.toggle("b", false) with attribute value "a b" (foo node) 
 PASS classList.replace("", "a") with attribute value null (foo node) 
 PASS classList.replace("", " ") with attribute value null (foo node) 
 PASS classList.replace(" ", "a") with attribute value null (foo node) 
index ece938e..bc28b1c 100644 (file)
@@ -199,15 +199,22 @@ function testClassList(e, desc) {
 
   // add() method
 
-  function checkAdd(before, argument, after, expectedException) {
+  function checkAdd(before, argument, after, param) {
+    var expectedException = undefined;
+    var noop = false;
+    if (param == "noop") {
+      noop = true;
+    } else {
+      expectedException = param;
+    }
     checkModification(e, "add", argument, undefined, before, after,
                       expectedException, desc);
-    // Also check force toggle
-    // XXX https://github.com/whatwg/dom/issues/443
-    //if (!Array.isArray(argument)) {
-    //  checkModification(e, "toggle", [argument, true], true, before, after,
-    //                    expectedException);
-    //}
+    // Also check force toggle.  The only difference is that it doesn't run the
+    // update steps for a no-op.
+    if (!Array.isArray(argument)) {
+      checkModification(e, "toggle", [argument, true], true, before,
+                        noop ? before : after, expectedException, desc);
+    }
   }
 
   checkAdd(null, "", null, "SyntaxError");
@@ -229,7 +236,7 @@ function testClassList(e, desc) {
   checkAdd("a", "a", "a");
   checkAdd("aa", "AA", "aa AA");
   checkAdd("a b c", "a", "a b c");
-  checkAdd("a a a  b", "a", "a b");
+  checkAdd("a a a  b", "a", "a b", "noop");
   checkAdd(null, "a", "a");
   checkAdd("", "a", "a");
   checkAdd(" ", "a", "a");
@@ -238,7 +245,7 @@ function testClassList(e, desc) {
   checkAdd("a b c", "d", "a b c d");
   checkAdd("a b c ", "d", "a b c d");
   checkAdd("   a  a b", "c", "a b c");
-  checkAdd("   a  a b", "a", "a b");
+  checkAdd("   a  a b", "a", "a b", "noop");
   checkAdd("\t\n\f\r a\t\n\f\r b\t\n\f\r ", "c", "a b c");
 
   // multiple add
@@ -254,15 +261,22 @@ function testClassList(e, desc) {
 
   // remove() method
 
-  function checkRemove(before, argument, after, expectedException) {
+  function checkRemove(before, argument, after, param) {
+    var expectedException = undefined;
+    var noop = false;
+    if (param == "noop") {
+      noop = true;
+    } else {
+      expectedException = param;
+    }
     checkModification(e, "remove", argument, undefined, before, after,
                       expectedException, desc);
-    // Also check force toggle
-    // XXX https://github.com/whatwg/dom/issues/443
-    //if (!Array.isArray(argument)) {
-    //  checkModification(e, "toggle", [argument, false], false, before, after,
-    //                    expectedException);
-    //}
+    // Also check force toggle.  The only difference is that it doesn't run the
+    // update steps for a no-op.
+    if (!Array.isArray(argument)) {
+      checkModification(e, "toggle", [argument, false], false, before,
+                        noop ? before : after, expectedException, desc);
+    }
   }
 
   checkRemove(null, "", null, "SyntaxError");
@@ -281,8 +295,8 @@ function testClassList(e, desc) {
 
   checkRemove(null, "a", null);
   checkRemove("", "a", "");
-  checkRemove("a b  c", "d", "a b c");
-  checkRemove("a b  c", "A", "a b c");
+  checkRemove("a b  c", "d", "a b c", "noop");
+  checkRemove("a b  c", "A", "a b c", "noop");
   checkRemove(" a a a ", "a", "");
   checkRemove("a  b", "a", "b");
   checkRemove("a  b  ", "a", "b");
@@ -355,24 +369,6 @@ function testClassList(e, desc) {
   checkToggle("", undefined, true, "undefined");
 
 
-  // tests for the force argument handling
-  // XXX Remove these if https://github.com/whatwg/dom/issues/443 is fixed
-
-  function checkForceToggle(before, argument, force, expectedRes, after, expectedException) {
-    checkModification(e, "toggle", [argument, force], expectedRes, before,
-                      after, expectedException, desc);
-  }
-
-  checkForceToggle("", "a", true, true, "a");
-  checkForceToggle("a", "a", true, true, "a");
-  checkForceToggle("a", "b", true, true, "a b");
-  checkForceToggle("a b", "b", true, true, "a b");
-  checkForceToggle("", "a", false, false, "");
-  checkForceToggle("a", "a", false, false, "");
-  checkForceToggle("a", "b", false, false, "a");
-  checkForceToggle("a b", "b", false, false, "a");
-
-
   // replace() method
   function checkReplace(before, token, newToken, after, expectedException) {
     checkModification(e, "replace", [token, newToken], undefined, before,
@@ -420,9 +416,6 @@ function testClassList(e, desc) {
   checkReplace(" ", "a", "b", " ");
   checkReplace(" a  \f", "a", "b", "b");
   checkReplace("a b c", "b", "d", "a d c");
-  // https://github.com/whatwg/dom/issues/442
-  // Implementations agree on the first one here, so I test it, but disagree on
-  // the second, so no test until the spec decides what to say.
   checkReplace("a b c", "c", "a", "a b");
   checkReplace("c b a", "c", "a", "a b");
   checkReplace("a b a", "a", "c", "c b");
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-matches-init.js b/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-matches-init.js
new file mode 100644 (file)
index 0000000..254af61
--- /dev/null
@@ -0,0 +1,65 @@
+function init(e, method) {
+  /*
+   * This test suite tests Selectors API methods in 4 different contexts:
+   * 1. Document node
+   * 2. In-document Element node
+   * 3. Detached Element node (an element with no parent, not in the document)
+   * 4. Document Fragment node
+   *
+   * For each context, the following tests are run:
+   *
+   * The interface check tests ensure that each type of node exposes the Selectors API methods.
+   *
+   * The matches() tests are run
+   * All the selectors tested for both the valid and invalid selector tests are found in selectors.js.
+   * See comments in that file for documentation of the format used.
+   *
+   * The level2-lib.js file contains all the common test functions for running each of the aforementioned tests
+   */
+
+  var docType  = "html"; // Only run tests suitable for HTML
+
+  // Prepare the nodes for testing
+  var doc = e.target.contentDocument;                 // Document Node tests
+
+  var element = doc.getElementById("root");   // In-document Element Node tests
+
+  //Setup the namespace tests
+  setupSpecialElements(doc, element);
+
+  var outOfScope = element.cloneNode(true);   // Append this to the body before running the in-document
+                                               // Element tests, but after running the Document tests. This
+                                               // tests that no elements that are not descendants of element
+                                               // are selected.
+
+  traverse(outOfScope, function(elem) {        // Annotate each element as being a clone; used for verifying
+    elem.setAttribute("data-clone", "");     // that none of these elements ever match.
+  });
+
+
+  var detached = element.cloneNode(true);     // Detached Element Node tests
+
+  var fragment = doc.createDocumentFragment(); // Fragment Node tests
+  fragment.appendChild(element.cloneNode(true));
+
+  // Setup Tests
+  interfaceCheckMatches(method, "Document", doc);
+  interfaceCheckMatches(method, "Detached Element", detached);
+  interfaceCheckMatches(method, "Fragment", fragment);
+  interfaceCheckMatches(method, "In-document Element", element);
+
+  runSpecialMatchesTests(method, "DIV Element", element);
+  runSpecialMatchesTests(method, "NULL Element", document.createElement("null"));
+  runSpecialMatchesTests(method, "UNDEFINED Element", document.createElement("undefined"));
+
+  runInvalidSelectorTestMatches(method, "Document", doc, invalidSelectors);
+  runInvalidSelectorTestMatches(method, "Detached Element", detached, invalidSelectors);
+  runInvalidSelectorTestMatches(method, "Fragment", fragment, invalidSelectors);
+  runInvalidSelectorTestMatches(method, "In-document Element", element, invalidSelectors);
+
+  runMatchesTest(method, "In-document", doc, validSelectors, "html");
+  runMatchesTest(method, "Detached", detached, validSelectors, "html");
+  runMatchesTest(method, "Fragment", fragment, validSelectors, "html");
+
+  runMatchesTest(method, "In-document", doc, scopedSelectors, "html");
+}
index 6a52057..5d86224 100644 (file)
@@ -7,83 +7,16 @@
 <script src="/dom/nodes/selectors.js"></script>
 <script src="/dom/nodes/ParentNode-querySelector-All.js"></script>
 <script src="Element-matches.js"></script>
+<script src="Element-matches-init.js"></script>
 <style>iframe { visibility: hidden; position: absolute; }</style>
 
 <div id="log">This test requires JavaScript.</div>
 
 <script>
-async_test(function() {
-  var frame = document.createElement("iframe");
-  frame.onload = this.step_func_done(init);
-  frame.src = "/dom/nodes/ParentNode-querySelector-All-content.html#target";
-  document.body.appendChild(frame);
-});
-
-function init(e) {
-  /*
-   * This test suite tests Selectors API methods in 4 different contexts:
-   * 1. Document node
-   * 2. In-document Element node
-   * 3. Detached Element node (an element with no parent, not in the document)
-   * 4. Document Fragment node
-   *
-   * For each context, the following tests are run:
-   *
-   * The interface check tests ensure that each type of node exposes the Selectors API methods.
-   *
-   * The matches() tests are run
-   * All the selectors tested for both the valid and invalid selector tests are found in selectors.js.
-   * See comments in that file for documentation of the format used.
-   *
-   * The level2-lib.js file contains all the common test functions for running each of the aforementioned tests
-   */
-
-  var method = "matches";
-
-  var docType  = "html"; // Only run tests suitable for HTML
-
-  // Prepare the nodes for testing
-  var doc = e.target.contentDocument;                 // Document Node tests
-
-  var element = doc.getElementById("root");   // In-document Element Node tests
-
-  //Setup the namespace tests
-  setupSpecialElements(doc, element);
-
-  var outOfScope = element.cloneNode(true);   // Append this to the body before running the in-document
-                                               // Element tests, but after running the Document tests. This
-                                               // tests that no elements that are not descendants of element
-                                               // are selected.
-
-  traverse(outOfScope, function(elem) {        // Annotate each element as being a clone; used for verifying
-    elem.setAttribute("data-clone", "");     // that none of these elements ever match.
+  async_test(function() {
+    var frame = document.createElement("iframe");
+    frame.onload = this.step_func_done(e => init(e, "matches" ));
+    frame.src = "/dom/nodes/ParentNode-querySelector-All-content.html#target";
+    document.body.appendChild(frame);
   });
-
-
-  var detached = element.cloneNode(true);     // Detached Element Node tests
-
-  var fragment = doc.createDocumentFragment(); // Fragment Node tests
-  fragment.appendChild(element.cloneNode(true));
-
-  // Setup Tests
-  interfaceCheckMatches(method, "Document", doc);
-  interfaceCheckMatches(method, "Detached Element", detached);
-  interfaceCheckMatches(method, "Fragment", fragment);
-  interfaceCheckMatches(method, "In-document Element", element);
-
-  runSpecialMatchesTests(method, "DIV Element", element);
-  runSpecialMatchesTests(method, "NULL Element", document.createElement("null"));
-  runSpecialMatchesTests(method, "UNDEFINED Element", document.createElement("undefined"));
-
-  runInvalidSelectorTestMatches(method, "Document", doc, invalidSelectors);
-  runInvalidSelectorTestMatches(method, "Detached Element", detached, invalidSelectors);
-  runInvalidSelectorTestMatches(method, "Fragment", fragment, invalidSelectors);
-  runInvalidSelectorTestMatches(method, "In-document Element", element, invalidSelectors);
-
-  runMatchesTest(method, "In-document", doc, validSelectors, "html");
-  runMatchesTest(method, "Detached", detached, validSelectors, "html");
-  runMatchesTest(method, "Fragment", fragment, validSelectors, "html");
-
-  runMatchesTest(method, "In-document", doc, scopedSelectors, "html");
-}
 </script>
index 08ce863..c6fe0f7 100644 (file)
@@ -7,83 +7,16 @@
 <script src="/dom/nodes/selectors.js"></script>
 <script src="/dom/nodes/ParentNode-querySelector-All.js"></script>
 <script src="Element-matches.js"></script>
+<script src="Element-matches-init.js"></script>
 <style>iframe { visibility: hidden; position: absolute; }</style>
 
 <div id="log">This test requires JavaScript.</div>
 
 <script>
-async_test(function() {
-  var frame = document.createElement("iframe");
-  frame.onload = this.step_func_done(init);
-  frame.src = "/dom/nodes/ParentNode-querySelector-All-content.html#target";
-  document.body.appendChild(frame);
-});
-
-function init(e) {
-  /*
-   * This test suite tests Selectors API methods in 4 different contexts:
-   * 1. Document node
-   * 2. In-document Element node
-   * 3. Detached Element node (an element with no parent, not in the document)
-   * 4. Document Fragment node
-   *
-   * For each context, the following tests are run:
-   *
-   * The interface check tests ensure that each type of node exposes the Selectors API methods.
-   *
-   * The matches() tests are run
-   * All the selectors tested for both the valid and invalid selector tests are found in selectors.js.
-   * See comments in that file for documentation of the format used.
-   *
-   * The level2-lib.js file contains all the common test functions for running each of the aforementioned tests
-   */
-
-  var method = "webkitMatchesSelector";
-
-  var docType  = "html"; // Only run tests suitable for HTML
-
-  // Prepare the nodes for testing
-  var doc = e.target.contentDocument;                 // Document Node tests
-
-  var element = doc.getElementById("root");   // In-document Element Node tests
-
-  //Setup the namespace tests
-  setupSpecialElements(doc, element);
-
-  var outOfScope = element.cloneNode(true);   // Append this to the body before running the in-document
-                                               // Element tests, but after running the Document tests. This
-                                               // tests that no elements that are not descendants of element
-                                               // are selected.
-
-  traverse(outOfScope, function(elem) {        // Annotate each element as being a clone; used for verifying
-    elem.setAttribute("data-clone", "");     // that none of these elements ever match.
+  async_test(function() {
+    var frame = document.createElement("iframe");
+    frame.onload = this.step_func_done(e => init(e, "webkitMatchesSelector" ));
+    frame.src = "/dom/nodes/ParentNode-querySelector-All-content.html#target";
+    document.body.appendChild(frame);
   });
-
-
-  var detached = element.cloneNode(true);     // Detached Element Node tests
-
-  var fragment = doc.createDocumentFragment(); // Fragment Node tests
-  fragment.appendChild(element.cloneNode(true));
-
-  // Setup Tests
-  interfaceCheckMatches(method, "Document", doc);
-  interfaceCheckMatches(method, "Detached Element", detached);
-  interfaceCheckMatches(method, "Fragment", fragment);
-  interfaceCheckMatches(method, "In-document Element", element);
-
-  runSpecialMatchesTests(method, "DIV Element", element);
-  runSpecialMatchesTests(method, "NULL Element", document.createElement("null"));
-  runSpecialMatchesTests(method, "UNDEFINED Element", document.createElement("undefined"));
-
-  runInvalidSelectorTestMatches(method, "Document", doc, invalidSelectors);
-  runInvalidSelectorTestMatches(method, "Detached Element", detached, invalidSelectors);
-  runInvalidSelectorTestMatches(method, "Fragment", fragment, invalidSelectors);
-  runInvalidSelectorTestMatches(method, "In-document Element", element, invalidSelectors);
-
-  runMatchesTest(method, "In-document", doc, validSelectors, "html");
-  runMatchesTest(method, "Detached", detached, validSelectors, "html");
-  runMatchesTest(method, "Fragment", fragment, validSelectors, "html");
-
-  runMatchesTest(method, "In-document", doc, scopedSelectors, "html");
-}
 </script>
index 6a0a0f9..5f855bb 100644 (file)
@@ -129,7 +129,7 @@ PASS createElementNS HTML
 PASS createElementNS non-HTML 
 PASS createProcessingInstruction 
 PASS implementation.createDocumentType 
-FAIL implementation.createDocument assert_equals: expected "null" but got "http://localhost:8800"
+FAIL implementation.createDocument assert_equals: origin value expected "null" but got "http://localhost:8800"
 PASS implementation.createHTMLDocument 
 PASS node with children 
 
index 9f4f8fc..5ed7b08 100644 (file)
@@ -11,27 +11,33 @@ function assert_equal_node(nodeA, nodeB) {
   assert_equals(nodeB.nodeName, nodeA.nodeName, "nodeName");
 
   if (nodeA.nodeType === Node.ELEMENT_NODE) {
-    assert_equals(nodeB.prefix, nodeA.prefix);
-    assert_equals(nodeB.namespaceURI, nodeA.namespaceURI);
-    assert_equals(nodeB.localName, nodeA.localName);
-    assert_equals(nodeB.tagName, nodeA.tagName);
-    assert_not_equals(nodeB.attributes != nodeA.attributes);
-    assert_equals(nodeB.attributes.length, nodeA.attributes.length);
+    assert_equals(nodeB.prefix, nodeA.prefix, "prefix");
+    assert_equals(nodeB.namespaceURI, nodeA.namespaceURI, "namespaceURI");
+    assert_equals(nodeB.localName, nodeA.localName, "localName");
+    assert_equals(nodeB.tagName, nodeA.tagName, "tagName");
+    assert_not_equals(nodeB.attributes != nodeA.attributes, "attributes");
+    assert_equals(nodeB.attributes.length, nodeA.attributes.length,
+                  "attributes.length");
     for (var i = 0, il = nodeA.attributes.length; i < il; ++i) {
-      assert_not_equals(nodeB.attributes[i], nodeA.attributes[i]);
-      assert_equals(nodeB.attributes[i].name, nodeA.attributes[i].name);
-      assert_equals(nodeB.attributes[i].prefix, nodeA.attributes[i].prefix);
-      assert_equals(nodeB.attributes[i].namespaceURI, nodeA.attributes[i].namespaceURI);
-      assert_equals(nodeB.attributes[i].value, nodeA.attributes[i].value);
+      assert_not_equals(nodeB.attributes[i], nodeA.attributes[i],
+                        "attributes[" + i + "]");
+      assert_equals(nodeB.attributes[i].name, nodeA.attributes[i].name,
+                    "attributes[" + i + "].name");
+      assert_equals(nodeB.attributes[i].prefix, nodeA.attributes[i].prefix,
+                    "attributes[" + i + "].prefix");
+      assert_equals(nodeB.attributes[i].namespaceURI, nodeA.attributes[i].namespaceURI,
+                    "attributes[" + i + "].namespaceURI");
+      assert_equals(nodeB.attributes[i].value, nodeA.attributes[i].value,
+                    "attributes[" + i + "].value");
     }
   }
 }
 
 function check_copy(orig, copy, type) {
-    assert_not_equals(orig, copy);
-    assert_equal_node(orig, copy);
-    assert_true(orig instanceof type, "Should be type");
-    assert_true(copy instanceof type, "Should be type");
+    assert_not_equals(orig, copy, "Object equality");
+    assert_equal_node(orig, copy, "Node equality");
+    assert_true(orig instanceof type, "original instanceof " + type);
+    assert_true(copy instanceof type, "copy instanceof " + type);
 }
 
 function create_element_and_check(localName, typeName) {
@@ -212,40 +218,40 @@ test(function() {
     var pi = document.createProcessingInstruction("target", "data");
     var copy = pi.cloneNode();
     check_copy(pi, copy, ProcessingInstruction);
-    assert_equals(pi.data, copy.data);
-    assert_equals(pi.target, pi.target);
+    assert_equals(pi.data, copy.data, "data");
+    assert_equals(pi.target, pi.target, "target");
 }, "createProcessingInstruction");
 
 test(function() {
     var doctype = document.implementation.createDocumentType("html", "public", "system");
     var copy = doctype.cloneNode();
     check_copy(doctype, copy, DocumentType);
-    assert_equals(doctype.name, copy.name);
-    assert_equals(doctype.publicId, copy.publicId);
-    assert_equals(doctype.systemId, copy.systemId);
+    assert_equals(doctype.name, copy.name, "name");
+    assert_equals(doctype.publicId, copy.publicId, "publicId");
+    assert_equals(doctype.systemId, copy.systemId, "systemId");
 }, "implementation.createDocumentType");
 
 test(function() {
     var doc = document.implementation.createDocument(null, null);
     var copy = doc.cloneNode();
     check_copy(doc, copy, Document);
-    assert_equals(doc.charset, "UTF-8");
-    assert_equals(doc.charset, copy.charset);
-    assert_equals(doc.contentType, "application/xml");
-    assert_equals(doc.contentType, copy.contentType);
-    assert_equals(doc.URL, "about:blank")
-    assert_equals(doc.URL, copy.URL);
-    assert_equals(doc.origin, "null")
-    assert_equals(doc.origin, copy.origin);
-    assert_equals(doc.compatMode, "CSS1Compat");
-    assert_equals(doc.compatMode, copy.compatMode);
+    assert_equals(doc.charset, "UTF-8", "charset value");
+    assert_equals(doc.charset, copy.charset, "charset equality");
+    assert_equals(doc.contentType, "application/xml", "contentType value");
+    assert_equals(doc.contentType, copy.contentType, "contentType equality");
+    assert_equals(doc.URL, "about:blank", "URL value")
+    assert_equals(doc.URL, copy.URL, "URL equality");
+    assert_equals(doc.origin, "null", "origin value")
+    assert_equals(doc.origin, copy.origin, "origin equality");
+    assert_equals(doc.compatMode, "CSS1Compat", "compatMode value");
+    assert_equals(doc.compatMode, copy.compatMode, "compatMode equality");
 }, "implementation.createDocument");
 
 test(function() {
     var html = document.implementation.createHTMLDocument("title");
     var copy = html.cloneNode();
     check_copy(html, copy, Document);
-    assert_equals(copy.title, "");
+    assert_equals(copy.title, "", "title value");
 }, "implementation.createHTMLDocument");
 
 test(function() {
@@ -262,19 +268,23 @@ test(function() {
     var copy = parent.cloneNode(deep);
 
     check_copy(parent, copy, HTMLDivElement);
-    assert_equals(copy.childNodes.length, 2);
+    assert_equals(copy.childNodes.length, 2,
+                  "copy.childNodes.length with deep copy");
 
     check_copy(child1, copy.childNodes[0], HTMLDivElement);
-    assert_equals(copy.childNodes[0].childNodes.length, 0);
+    assert_equals(copy.childNodes[0].childNodes.length, 0,
+                  "copy.childNodes[0].childNodes.length");
 
     check_copy(child2, copy.childNodes[1], HTMLDivElement);
-    assert_equals(copy.childNodes[1].childNodes.length, 1);
+    assert_equals(copy.childNodes[1].childNodes.length, 1,
+                  "copy.childNodes[1].childNodes.length");
     check_copy(grandChild, copy.childNodes[1].childNodes[0], HTMLDivElement);
 
     deep = false;
     copy = parent.cloneNode(deep);
 
     check_copy(parent, copy, HTMLDivElement);
-    assert_equals(copy.childNodes.length, 0);
+    assert_equals(copy.childNodes.length, 0,
+                  "copy.childNodes.length with non-deep copy");
 }, "node with children");
 </script>
index 276bd2b..cfd6836 100644 (file)
@@ -66,22 +66,30 @@ List of files:
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/DocumentType-literal-xhtml.xhtml
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/DocumentType-literal.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/DocumentType-remove.html
+/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElement-null-svg.svg
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElement-null-xhtml.xhtml
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElement-null.html
+/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add-svg.svg
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add-xhtml.xhtml
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-dynamic-add.html
+/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove-svg.svg
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove-xhtml.xhtml
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-dynamic-remove.html
+/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-nochild-svg.svg
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-nochild-xhtml.xhtml
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-nochild.html
+/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-svg.svg
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount-xhtml.xhtml
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-childElementCount.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-children.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-classlist.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-closest.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-firstElementChild-entity-xhtml.xhtml
+/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-firstElementChild-entity.svg
+/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-firstElementChild-namespace-svg.svg
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-firstElementChild-namespace-xhtml.xhtml
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-firstElementChild-namespace.html
+/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-firstElementChild-svg.svg
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-firstElementChild-xhtml.xhtml
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-firstElementChild.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-getElementsByClassName.html
@@ -92,16 +100,21 @@ List of files:
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-hasAttributes.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-insertAdjacentElement.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-insertAdjacentText.html
+/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-lastElementChild-svg.svg
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-lastElementChild-xhtml.xhtml
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-lastElementChild.html
+/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-matches-init.js
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-matches.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-matches.js
+/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-nextElementSibling-svg.svg
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-nextElementSibling-xhtml.xhtml
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-nextElementSibling.html
+/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-previousElementSibling-svg.svg
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-previousElementSibling-xhtml.xhtml
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-previousElementSibling.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-remove.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-removeAttributeNS.html
+/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-siblingElement-null-svg.svg
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-siblingElement-null-xhtml.xhtml
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-siblingElement-null.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Element-tagName.html
index ceb3cc6..21f12c4 100644 (file)
@@ -11,9 +11,6 @@ HTML IDL tests
 PASS Test driver 
 PASS NodeList must be primary interface of document.getElementsByName("name") 
 PASS Stringification of document.getElementsByName("name") 
-PASS NodeList interface: document.getElementsByName("name") must inherit property "item" with the proper type (0) 
-PASS NodeList interface: calling item(unsigned long) on document.getElementsByName("name") with too few arguments must throw TypeError 
-PASS NodeList interface: document.getElementsByName("name") must inherit property "length" with the proper type (1) 
 PASS Document interface: attribute domain 
 PASS Document interface: attribute referrer 
 PASS Document interface: attribute cookie 
@@ -31,11 +28,11 @@ PASS Document interface: attribute forms
 PASS Document interface: attribute scripts 
 PASS Document interface: operation getElementsByName(DOMString) 
 PASS Document interface: attribute currentScript 
-FAIL Document interface: operation open(DOMString,DOMString) assert_own_property: interface prototype object missing non-static operation expected property "open" missing
-FAIL Document interface: operation open(USVString,DOMString,DOMString) assert_own_property: interface prototype object missing non-static operation expected property "open" missing
-FAIL Document interface: operation close() assert_own_property: interface prototype object missing non-static operation expected property "close" missing
-FAIL Document interface: operation write(DOMString) assert_own_property: interface prototype object missing non-static operation expected property "write" missing
-FAIL Document interface: operation writeln(DOMString) assert_own_property: interface prototype object missing non-static operation expected property "writeln" missing
+PASS Document interface: operation open(DOMString,DOMString) 
+PASS Document interface: operation open(USVString,DOMString,DOMString) 
+PASS Document interface: operation close() 
+PASS Document interface: operation write(DOMString) 
+PASS Document interface: operation writeln(DOMString) 
 PASS Document interface: attribute defaultView 
 PASS Document interface: attribute activeElement 
 PASS Document interface: operation hasFocus() 
@@ -47,17 +44,19 @@ PASS Document interface: operation queryCommandState(DOMString)
 PASS Document interface: operation queryCommandSupported(DOMString) 
 PASS Document interface: operation queryCommandValue(DOMString) 
 PASS Document interface: attribute onreadystatechange 
-FAIL Document interface: attribute fgColor assert_true: The prototype object must have a property "fgColor" expected true got false
-FAIL Document interface: attribute linkColor assert_true: The prototype object must have a property "linkColor" expected true got false
-FAIL Document interface: attribute vlinkColor assert_true: The prototype object must have a property "vlinkColor" expected true got false
-FAIL Document interface: attribute alinkColor assert_true: The prototype object must have a property "alinkColor" expected true got false
-FAIL Document interface: attribute bgColor assert_true: The prototype object must have a property "bgColor" expected true got false
+PASS Document interface: attribute fgColor 
+PASS Document interface: attribute linkColor 
+PASS Document interface: attribute vlinkColor 
+PASS Document interface: attribute alinkColor 
+PASS Document interface: attribute bgColor 
 PASS Document interface: attribute anchors 
 PASS Document interface: attribute applets 
-FAIL Document interface: operation clear() assert_own_property: interface prototype object missing non-static operation expected property "clear" missing
-FAIL Document interface: operation captureEvents() assert_own_property: interface prototype object missing non-static operation expected property "captureEvents" missing
-FAIL Document interface: operation releaseEvents() assert_own_property: interface prototype object missing non-static operation expected property "releaseEvents" missing
-FAIL Document interface: attribute all assert_true: The prototype object must have a property "all" expected true got false
+PASS Document interface: operation clear() 
+PASS Document interface: operation captureEvents() 
+PASS Document interface: operation releaseEvents() 
+FAIL Document interface: attribute all assert_equals: setter must be undefined for readonly attributes expected (undefined) undefined but got (function) function "function all() {
+    [native code]
+}"
 PASS Document interface: attribute onabort 
 FAIL Document interface: attribute onauxclick assert_true: The prototype object must have a property "onauxclick" expected true got false
 PASS Document interface: attribute onblur 
@@ -91,6 +90,7 @@ PASS Document interface: attribute onkeyup
 PASS Document interface: attribute onload 
 PASS Document interface: attribute onloadeddata 
 PASS Document interface: attribute onloadedmetadata 
+FAIL Document interface: attribute onloadend assert_true: The prototype object must have a property "onloadend" expected true got false
 PASS Document interface: attribute onloadstart 
 PASS Document interface: attribute onmousedown 
 PASS Document interface: attribute onmouseenter 
@@ -99,7 +99,7 @@ PASS Document interface: attribute onmousemove
 PASS Document interface: attribute onmouseout 
 PASS Document interface: attribute onmouseover 
 PASS Document interface: attribute onmouseup 
-PASS Document interface: attribute onmousewheel 
+FAIL Document interface: attribute onwheel assert_true: property should be enumerable expected true got false
 PASS Document interface: attribute onpause 
 PASS Document interface: attribute onplay 
 PASS Document interface: attribute onplaying 
@@ -108,10 +108,10 @@ PASS Document interface: attribute onratechange
 PASS Document interface: attribute onreset 
 PASS Document interface: attribute onresize 
 PASS Document interface: attribute onscroll 
+FAIL Document interface: attribute onsecuritypolicyviolation assert_true: The prototype object must have a property "onsecuritypolicyviolation" expected true got false
 PASS Document interface: attribute onseeked 
 PASS Document interface: attribute onseeking 
 PASS Document interface: attribute onselect 
-FAIL Document interface: attribute onshow assert_true: The prototype object must have a property "onshow" expected true got false
 PASS Document interface: attribute onstalled 
 PASS Document interface: attribute onsubmit 
 PASS Document interface: attribute onsuspend 
@@ -119,56 +119,10 @@ PASS Document interface: attribute ontimeupdate
 PASS Document interface: attribute ontoggle 
 PASS Document interface: attribute onvolumechange 
 PASS Document interface: attribute onwaiting 
-FAIL Document interface: attribute oncopy assert_true: property is not enumerable expected true got false
-FAIL Document interface: attribute oncut assert_true: property is not enumerable expected true got false
-FAIL Document interface: attribute onpaste assert_true: property is not enumerable expected true got false
+PASS Document interface: attribute oncopy 
+PASS Document interface: attribute oncut 
+PASS Document interface: attribute onpaste 
 FAIL Stringification of iframe.contentDocument assert_equals: class string of iframe.contentDocument expected "[object Document]" but got "[object HTMLDocument]"
-PASS Document interface: iframe.contentDocument must inherit property "implementation" with the proper type (0) 
-PASS Document interface: iframe.contentDocument must inherit property "URL" with the proper type (1) 
-PASS Document interface: iframe.contentDocument must inherit property "documentURI" with the proper type (2) 
-PASS Document interface: iframe.contentDocument must inherit property "origin" with the proper type (3) 
-PASS Document interface: iframe.contentDocument must inherit property "compatMode" with the proper type (4) 
-PASS Document interface: iframe.contentDocument must inherit property "characterSet" with the proper type (5) 
-PASS Document interface: iframe.contentDocument must inherit property "charset" with the proper type (6) 
-PASS Document interface: iframe.contentDocument must inherit property "inputEncoding" with the proper type (7) 
-PASS Document interface: iframe.contentDocument must inherit property "contentType" with the proper type (8) 
-PASS Document interface: iframe.contentDocument must inherit property "doctype" with the proper type (9) 
-PASS Document interface: iframe.contentDocument must inherit property "documentElement" with the proper type (10) 
-PASS Document interface: iframe.contentDocument must inherit property "getElementsByTagName" with the proper type (11) 
-PASS Document interface: calling getElementsByTagName(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Document interface: iframe.contentDocument must inherit property "getElementsByTagNameNS" with the proper type (12) 
-PASS Document interface: calling getElementsByTagNameNS(DOMString,DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Document interface: iframe.contentDocument must inherit property "getElementsByClassName" with the proper type (13) 
-PASS Document interface: calling getElementsByClassName(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Document interface: iframe.contentDocument must inherit property "createElement" with the proper type (14) 
-PASS Document interface: calling createElement(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Document interface: iframe.contentDocument must inherit property "createElementNS" with the proper type (15) 
-PASS Document interface: calling createElementNS(DOMString,DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Document interface: iframe.contentDocument must inherit property "createDocumentFragment" with the proper type (16) 
-PASS Document interface: iframe.contentDocument must inherit property "createTextNode" with the proper type (17) 
-PASS Document interface: calling createTextNode(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Document interface: iframe.contentDocument must inherit property "createCDATASection" with the proper type (18) 
-PASS Document interface: calling createCDATASection(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Document interface: iframe.contentDocument must inherit property "createComment" with the proper type (19) 
-PASS Document interface: calling createComment(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Document interface: iframe.contentDocument must inherit property "createProcessingInstruction" with the proper type (20) 
-PASS Document interface: calling createProcessingInstruction(DOMString,DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Document interface: iframe.contentDocument must inherit property "importNode" with the proper type (21) 
-PASS Document interface: calling importNode(Node,boolean) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Document interface: iframe.contentDocument must inherit property "adoptNode" with the proper type (22) 
-PASS Document interface: calling adoptNode(Node) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Document interface: iframe.contentDocument must inherit property "createAttribute" with the proper type (23) 
-PASS Document interface: calling createAttribute(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Document interface: iframe.contentDocument must inherit property "createAttributeNS" with the proper type (24) 
-PASS Document interface: calling createAttributeNS(DOMString,DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Document interface: iframe.contentDocument must inherit property "createEvent" with the proper type (25) 
-PASS Document interface: calling createEvent(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Document interface: iframe.contentDocument must inherit property "createRange" with the proper type (26) 
-PASS Document interface: iframe.contentDocument must inherit property "createNodeIterator" with the proper type (27) 
-PASS Document interface: calling createNodeIterator(Node,unsigned long,NodeFilter) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Document interface: iframe.contentDocument must inherit property "createTreeWalker" with the proper type (28) 
-PASS Document interface: calling createTreeWalker(Node,unsigned long,NodeFilter) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Document interface: iframe.contentDocument must inherit property "styleSheets" with the proper type (29) 
 PASS Document interface: iframe.contentDocument must have own property "location" 
 PASS Document interface: iframe.contentDocument must inherit property "domain" with the proper type (31) 
 PASS Document interface: iframe.contentDocument must inherit property "referrer" with the proper type (32) 
@@ -188,16 +142,16 @@ PASS Document interface: iframe.contentDocument must inherit property "scripts"
 PASS Document interface: iframe.contentDocument must inherit property "getElementsByName" with the proper type (47) 
 PASS Document interface: calling getElementsByName(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
 PASS Document interface: iframe.contentDocument must inherit property "currentScript" with the proper type (48) 
-FAIL Document interface: iframe.contentDocument must inherit property "open" with the proper type (49) assert_inherits: property "open" found on object expected in prototype chain
-FAIL Document interface: calling open(DOMString,DOMString) on iframe.contentDocument with too few arguments must throw TypeError assert_inherits: property "open" found on object expected in prototype chain
-FAIL Document interface: iframe.contentDocument must inherit property "open" with the proper type (50) assert_inherits: property "open" found on object expected in prototype chain
-FAIL Document interface: calling open(USVString,DOMString,DOMString) on iframe.contentDocument with too few arguments must throw TypeError assert_inherits: property "open" found on object expected in prototype chain
+PASS Document interface: iframe.contentDocument must inherit property "open" with the proper type (49) 
+PASS Document interface: calling open(DOMString,DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
+PASS Document interface: iframe.contentDocument must inherit property "open" with the proper type (50) 
+PASS Document interface: calling open(USVString,DOMString,DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
 PASS Document interface: iframe.contentDocument must inherit property "close" with the proper type (51) 
 PASS Document interface: iframe.contentDocument must inherit property "write" with the proper type (52) 
 PASS Document interface: calling write(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
 PASS Document interface: iframe.contentDocument must inherit property "writeln" with the proper type (53) 
 PASS Document interface: calling writeln(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Document interface: iframe.contentDocument must inherit property "defaultView" with the proper type (54) 
+FAIL Document interface: iframe.contentDocument must inherit property "defaultView" with the proper type (54) Unrecognized type WindowProxy
 PASS Document interface: iframe.contentDocument must inherit property "activeElement" with the proper type (55) 
 PASS Document interface: iframe.contentDocument must inherit property "hasFocus" with the proper type (56) 
 PASS Document interface: iframe.contentDocument must inherit property "designMode" with the proper type (57) 
@@ -225,20 +179,6 @@ PASS Document interface: iframe.contentDocument must inherit property "clear" wi
 PASS Document interface: iframe.contentDocument must inherit property "captureEvents" with the proper type (73) 
 PASS Document interface: iframe.contentDocument must inherit property "releaseEvents" with the proper type (74) 
 PASS Document interface: iframe.contentDocument must inherit property "all" with the proper type (75) 
-PASS Document interface: iframe.contentDocument must inherit property "getElementById" with the proper type (76) 
-PASS Document interface: calling getElementById(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Document interface: iframe.contentDocument must inherit property "children" with the proper type (77) 
-PASS Document interface: iframe.contentDocument must inherit property "firstElementChild" with the proper type (78) 
-PASS Document interface: iframe.contentDocument must inherit property "lastElementChild" with the proper type (79) 
-PASS Document interface: iframe.contentDocument must inherit property "childElementCount" with the proper type (80) 
-PASS Document interface: iframe.contentDocument must inherit property "prepend" with the proper type (81) 
-PASS Document interface: calling prepend([object Object],[object Object]) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Document interface: iframe.contentDocument must inherit property "append" with the proper type (82) 
-PASS Document interface: calling append([object Object],[object Object]) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Document interface: iframe.contentDocument must inherit property "querySelector" with the proper type (83) 
-PASS Document interface: calling querySelector(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Document interface: iframe.contentDocument must inherit property "querySelectorAll" with the proper type (84) 
-PASS Document interface: calling querySelectorAll(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
 PASS Document interface: iframe.contentDocument must inherit property "onabort" with the proper type (85) 
 FAIL Document interface: iframe.contentDocument must inherit property "onauxclick" with the proper type (86) assert_inherits: property "onauxclick" not found in prototype chain
 PASS Document interface: iframe.contentDocument must inherit property "onblur" with the proper type (87) 
@@ -272,146 +212,40 @@ PASS Document interface: iframe.contentDocument must inherit property "onkeyup"
 PASS Document interface: iframe.contentDocument must inherit property "onload" with the proper type (115) 
 PASS Document interface: iframe.contentDocument must inherit property "onloadeddata" with the proper type (116) 
 PASS Document interface: iframe.contentDocument must inherit property "onloadedmetadata" with the proper type (117) 
-PASS Document interface: iframe.contentDocument must inherit property "onloadstart" with the proper type (118) 
-PASS Document interface: iframe.contentDocument must inherit property "onmousedown" with the proper type (119) 
-PASS Document interface: iframe.contentDocument must inherit property "onmouseenter" with the proper type (120) 
-PASS Document interface: iframe.contentDocument must inherit property "onmouseleave" with the proper type (121) 
-PASS Document interface: iframe.contentDocument must inherit property "onmousemove" with the proper type (122) 
-PASS Document interface: iframe.contentDocument must inherit property "onmouseout" with the proper type (123) 
-PASS Document interface: iframe.contentDocument must inherit property "onmouseover" with the proper type (124) 
-PASS Document interface: iframe.contentDocument must inherit property "onmouseup" with the proper type (125) 
-PASS Document interface: iframe.contentDocument must inherit property "onmousewheel" with the proper type (126) 
-PASS Document interface: iframe.contentDocument must inherit property "onpause" with the proper type (127) 
-PASS Document interface: iframe.contentDocument must inherit property "onplay" with the proper type (128) 
-PASS Document interface: iframe.contentDocument must inherit property "onplaying" with the proper type (129) 
-PASS Document interface: iframe.contentDocument must inherit property "onprogress" with the proper type (130) 
-PASS Document interface: iframe.contentDocument must inherit property "onratechange" with the proper type (131) 
-PASS Document interface: iframe.contentDocument must inherit property "onreset" with the proper type (132) 
-PASS Document interface: iframe.contentDocument must inherit property "onresize" with the proper type (133) 
-PASS Document interface: iframe.contentDocument must inherit property "onscroll" with the proper type (134) 
-PASS Document interface: iframe.contentDocument must inherit property "onseeked" with the proper type (135) 
-PASS Document interface: iframe.contentDocument must inherit property "onseeking" with the proper type (136) 
-PASS Document interface: iframe.contentDocument must inherit property "onselect" with the proper type (137) 
-FAIL Document interface: iframe.contentDocument must inherit property "onshow" with the proper type (138) assert_inherits: property "onshow" not found in prototype chain
-PASS Document interface: iframe.contentDocument must inherit property "onstalled" with the proper type (139) 
-PASS Document interface: iframe.contentDocument must inherit property "onsubmit" with the proper type (140) 
-PASS Document interface: iframe.contentDocument must inherit property "onsuspend" with the proper type (141) 
-PASS Document interface: iframe.contentDocument must inherit property "ontimeupdate" with the proper type (142) 
-PASS Document interface: iframe.contentDocument must inherit property "ontoggle" with the proper type (143) 
-PASS Document interface: iframe.contentDocument must inherit property "onvolumechange" with the proper type (144) 
-PASS Document interface: iframe.contentDocument must inherit property "onwaiting" with the proper type (145) 
-PASS Document interface: iframe.contentDocument must inherit property "oncopy" with the proper type (146) 
-PASS Document interface: iframe.contentDocument must inherit property "oncut" with the proper type (147) 
-PASS Document interface: iframe.contentDocument must inherit property "onpaste" with the proper type (148) 
-PASS Node interface: iframe.contentDocument must inherit property "ELEMENT_NODE" with the proper type (0) 
-PASS Node interface: iframe.contentDocument must inherit property "ATTRIBUTE_NODE" with the proper type (1) 
-PASS Node interface: iframe.contentDocument must inherit property "TEXT_NODE" with the proper type (2) 
-PASS Node interface: iframe.contentDocument must inherit property "CDATA_SECTION_NODE" with the proper type (3) 
-PASS Node interface: iframe.contentDocument must inherit property "ENTITY_REFERENCE_NODE" with the proper type (4) 
-PASS Node interface: iframe.contentDocument must inherit property "ENTITY_NODE" with the proper type (5) 
-PASS Node interface: iframe.contentDocument must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type (6) 
-PASS Node interface: iframe.contentDocument must inherit property "COMMENT_NODE" with the proper type (7) 
-PASS Node interface: iframe.contentDocument must inherit property "DOCUMENT_NODE" with the proper type (8) 
-PASS Node interface: iframe.contentDocument must inherit property "DOCUMENT_TYPE_NODE" with the proper type (9) 
-PASS Node interface: iframe.contentDocument must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type (10) 
-PASS Node interface: iframe.contentDocument must inherit property "NOTATION_NODE" with the proper type (11) 
-PASS Node interface: iframe.contentDocument must inherit property "nodeType" with the proper type (12) 
-PASS Node interface: iframe.contentDocument must inherit property "nodeName" with the proper type (13) 
-PASS Node interface: iframe.contentDocument must inherit property "baseURI" with the proper type (14) 
-PASS Node interface: iframe.contentDocument must inherit property "ownerDocument" with the proper type (15) 
-PASS Node interface: iframe.contentDocument must inherit property "parentNode" with the proper type (16) 
-PASS Node interface: iframe.contentDocument must inherit property "parentElement" with the proper type (17) 
-PASS Node interface: iframe.contentDocument must inherit property "hasChildNodes" with the proper type (18) 
-PASS Node interface: iframe.contentDocument must inherit property "childNodes" with the proper type (19) 
-PASS Node interface: iframe.contentDocument must inherit property "firstChild" with the proper type (20) 
-PASS Node interface: iframe.contentDocument must inherit property "lastChild" with the proper type (21) 
-PASS Node interface: iframe.contentDocument must inherit property "previousSibling" with the proper type (22) 
-PASS Node interface: iframe.contentDocument must inherit property "nextSibling" with the proper type (23) 
-PASS Node interface: iframe.contentDocument must inherit property "nodeValue" with the proper type (24) 
-PASS Node interface: iframe.contentDocument must inherit property "textContent" with the proper type (25) 
-PASS Node interface: iframe.contentDocument must inherit property "normalize" with the proper type (26) 
-PASS Node interface: iframe.contentDocument must inherit property "cloneNode" with the proper type (27) 
-PASS Node interface: calling cloneNode(boolean) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Node interface: iframe.contentDocument must inherit property "isEqualNode" with the proper type (28) 
-PASS Node interface: calling isEqualNode(Node) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Node interface: iframe.contentDocument must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (29) 
-PASS Node interface: iframe.contentDocument must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (30) 
-PASS Node interface: iframe.contentDocument must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (31) 
-PASS Node interface: iframe.contentDocument must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (32) 
-PASS Node interface: iframe.contentDocument must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (33) 
-PASS Node interface: iframe.contentDocument must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (34) 
-PASS Node interface: iframe.contentDocument must inherit property "compareDocumentPosition" with the proper type (35) 
-PASS Node interface: calling compareDocumentPosition(Node) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Node interface: iframe.contentDocument must inherit property "contains" with the proper type (36) 
-PASS Node interface: calling contains(Node) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Node interface: iframe.contentDocument must inherit property "lookupPrefix" with the proper type (37) 
-PASS Node interface: calling lookupPrefix(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Node interface: iframe.contentDocument must inherit property "lookupNamespaceURI" with the proper type (38) 
-PASS Node interface: calling lookupNamespaceURI(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Node interface: iframe.contentDocument must inherit property "isDefaultNamespace" with the proper type (39) 
-PASS Node interface: calling isDefaultNamespace(DOMString) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Node interface: iframe.contentDocument must inherit property "insertBefore" with the proper type (40) 
-PASS Node interface: calling insertBefore(Node,Node) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Node interface: iframe.contentDocument must inherit property "appendChild" with the proper type (41) 
-PASS Node interface: calling appendChild(Node) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Node interface: iframe.contentDocument must inherit property "replaceChild" with the proper type (42) 
-PASS Node interface: calling replaceChild(Node,Node) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS Node interface: iframe.contentDocument must inherit property "removeChild" with the proper type (43) 
-PASS Node interface: calling removeChild(Node) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS EventTarget interface: iframe.contentDocument must inherit property "addEventListener" with the proper type (0) 
-PASS EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS EventTarget interface: iframe.contentDocument must inherit property "removeEventListener" with the proper type (1) 
-PASS EventTarget interface: calling removeEventListener(DOMString,EventListener,boolean) on iframe.contentDocument with too few arguments must throw TypeError 
-PASS EventTarget interface: iframe.contentDocument must inherit property "dispatchEvent" with the proper type (2) 
-PASS EventTarget interface: calling dispatchEvent(Event) on iframe.contentDocument with too few arguments must throw TypeError 
+FAIL Document interface: iframe.contentDocument must inherit property "onloadend" with the proper type (118) assert_inherits: property "onloadend" not found in prototype chain
+PASS Document interface: iframe.contentDocument must inherit property "onloadstart" with the proper type (119) 
+PASS Document interface: iframe.contentDocument must inherit property "onmousedown" with the proper type (120) 
+PASS Document interface: iframe.contentDocument must inherit property "onmouseenter" with the proper type (121) 
+PASS Document interface: iframe.contentDocument must inherit property "onmouseleave" with the proper type (122) 
+PASS Document interface: iframe.contentDocument must inherit property "onmousemove" with the proper type (123) 
+PASS Document interface: iframe.contentDocument must inherit property "onmouseout" with the proper type (124) 
+PASS Document interface: iframe.contentDocument must inherit property "onmouseover" with the proper type (125) 
+PASS Document interface: iframe.contentDocument must inherit property "onmouseup" with the proper type (126) 
+PASS Document interface: iframe.contentDocument must inherit property "onwheel" with the proper type (127) 
+PASS Document interface: iframe.contentDocument must inherit property "onpause" with the proper type (128) 
+PASS Document interface: iframe.contentDocument must inherit property "onplay" with the proper type (129) 
+PASS Document interface: iframe.contentDocument must inherit property "onplaying" with the proper type (130) 
+PASS Document interface: iframe.contentDocument must inherit property "onprogress" with the proper type (131) 
+PASS Document interface: iframe.contentDocument must inherit property "onratechange" with the proper type (132) 
+PASS Document interface: iframe.contentDocument must inherit property "onreset" with the proper type (133) 
+PASS Document interface: iframe.contentDocument must inherit property "onresize" with the proper type (134) 
+PASS Document interface: iframe.contentDocument must inherit property "onscroll" with the proper type (135) 
+FAIL Document interface: iframe.contentDocument must inherit property "onsecuritypolicyviolation" with the proper type (136) assert_inherits: property "onsecuritypolicyviolation" not found in prototype chain
+PASS Document interface: iframe.contentDocument must inherit property "onseeked" with the proper type (137) 
+PASS Document interface: iframe.contentDocument must inherit property "onseeking" with the proper type (138) 
+PASS Document interface: iframe.contentDocument must inherit property "onselect" with the proper type (139) 
+PASS Document interface: iframe.contentDocument must inherit property "onstalled" with the proper type (140) 
+PASS Document interface: iframe.contentDocument must inherit property "onsubmit" with the proper type (141) 
+PASS Document interface: iframe.contentDocument must inherit property "onsuspend" with the proper type (142) 
+PASS Document interface: iframe.contentDocument must inherit property "ontimeupdate" with the proper type (143) 
+PASS Document interface: iframe.contentDocument must inherit property "ontoggle" with the proper type (144) 
+PASS Document interface: iframe.contentDocument must inherit property "onvolumechange" with the proper type (145) 
+PASS Document interface: iframe.contentDocument must inherit property "onwaiting" with the proper type (146) 
+PASS Document interface: iframe.contentDocument must inherit property "oncopy" with the proper type (147) 
+PASS Document interface: iframe.contentDocument must inherit property "oncut" with the proper type (148) 
+PASS Document interface: iframe.contentDocument must inherit property "onpaste" with the proper type (149) 
 PASS Document must be primary interface of new Document() 
 PASS Stringification of new Document() 
-PASS Document interface: new Document() must inherit property "implementation" with the proper type (0) 
-PASS Document interface: new Document() must inherit property "URL" with the proper type (1) 
-PASS Document interface: new Document() must inherit property "documentURI" with the proper type (2) 
-PASS Document interface: new Document() must inherit property "origin" with the proper type (3) 
-PASS Document interface: new Document() must inherit property "compatMode" with the proper type (4) 
-PASS Document interface: new Document() must inherit property "characterSet" with the proper type (5) 
-PASS Document interface: new Document() must inherit property "charset" with the proper type (6) 
-PASS Document interface: new Document() must inherit property "inputEncoding" with the proper type (7) 
-PASS Document interface: new Document() must inherit property "contentType" with the proper type (8) 
-PASS Document interface: new Document() must inherit property "doctype" with the proper type (9) 
-PASS Document interface: new Document() must inherit property "documentElement" with the proper type (10) 
-PASS Document interface: new Document() must inherit property "getElementsByTagName" with the proper type (11) 
-PASS Document interface: calling getElementsByTagName(DOMString) on new Document() with too few arguments must throw TypeError 
-PASS Document interface: new Document() must inherit property "getElementsByTagNameNS" with the proper type (12) 
-PASS Document interface: calling getElementsByTagNameNS(DOMString,DOMString) on new Document() with too few arguments must throw TypeError 
-PASS Document interface: new Document() must inherit property "getElementsByClassName" with the proper type (13) 
-PASS Document interface: calling getElementsByClassName(DOMString) on new Document() with too few arguments must throw TypeError 
-PASS Document interface: new Document() must inherit property "createElement" with the proper type (14) 
-PASS Document interface: calling createElement(DOMString) on new Document() with too few arguments must throw TypeError 
-PASS Document interface: new Document() must inherit property "createElementNS" with the proper type (15) 
-PASS Document interface: calling createElementNS(DOMString,DOMString) on new Document() with too few arguments must throw TypeError 
-PASS Document interface: new Document() must inherit property "createDocumentFragment" with the proper type (16) 
-PASS Document interface: new Document() must inherit property "createTextNode" with the proper type (17) 
-PASS Document interface: calling createTextNode(DOMString) on new Document() with too few arguments must throw TypeError 
-PASS Document interface: new Document() must inherit property "createCDATASection" with the proper type (18) 
-PASS Document interface: calling createCDATASection(DOMString) on new Document() with too few arguments must throw TypeError 
-PASS Document interface: new Document() must inherit property "createComment" with the proper type (19) 
-PASS Document interface: calling createComment(DOMString) on new Document() with too few arguments must throw TypeError 
-PASS Document interface: new Document() must inherit property "createProcessingInstruction" with the proper type (20) 
-PASS Document interface: calling createProcessingInstruction(DOMString,DOMString) on new Document() with too few arguments must throw TypeError 
-PASS Document interface: new Document() must inherit property "importNode" with the proper type (21) 
-PASS Document interface: calling importNode(Node,boolean) on new Document() with too few arguments must throw TypeError 
-PASS Document interface: new Document() must inherit property "adoptNode" with the proper type (22) 
-PASS Document interface: calling adoptNode(Node) on new Document() with too few arguments must throw TypeError 
-PASS Document interface: new Document() must inherit property "createAttribute" with the proper type (23) 
-PASS Document interface: calling createAttribute(DOMString) on new Document() with too few arguments must throw TypeError 
-PASS Document interface: new Document() must inherit property "createAttributeNS" with the proper type (24) 
-PASS Document interface: calling createAttributeNS(DOMString,DOMString) on new Document() with too few arguments must throw TypeError 
-PASS Document interface: new Document() must inherit property "createEvent" with the proper type (25) 
-PASS Document interface: calling createEvent(DOMString) on new Document() with too few arguments must throw TypeError 
-PASS Document interface: new Document() must inherit property "createRange" with the proper type (26) 
-PASS Document interface: new Document() must inherit property "createNodeIterator" with the proper type (27) 
-PASS Document interface: calling createNodeIterator(Node,unsigned long,NodeFilter) on new Document() with too few arguments must throw TypeError 
-PASS Document interface: new Document() must inherit property "createTreeWalker" with the proper type (28) 
-PASS Document interface: calling createTreeWalker(Node,unsigned long,NodeFilter) on new Document() with too few arguments must throw TypeError 
-PASS Document interface: new Document() must inherit property "styleSheets" with the proper type (29) 
 PASS Document interface: new Document() must have own property "location" 
 PASS Document interface: new Document() must inherit property "domain" with the proper type (31) 
 PASS Document interface: new Document() must inherit property "referrer" with the proper type (32) 
@@ -431,15 +265,15 @@ PASS Document interface: new Document() must inherit property "scripts" with the
 PASS Document interface: new Document() must inherit property "getElementsByName" with the proper type (47) 
 PASS Document interface: calling getElementsByName(DOMString) on new Document() with too few arguments must throw TypeError 
 PASS Document interface: new Document() must inherit property "currentScript" with the proper type (48) 
-FAIL Document interface: new Document() must inherit property "open" with the proper type (49) assert_inherits: property "open" not found in prototype chain
-FAIL Document interface: calling open(DOMString,DOMString) on new Document() with too few arguments must throw TypeError assert_inherits: property "open" not found in prototype chain
-FAIL Document interface: new Document() must inherit property "open" with the proper type (50) assert_inherits: property "open" not found in prototype chain
-FAIL Document interface: calling open(USVString,DOMString,DOMString) on new Document() with too few arguments must throw TypeError assert_inherits: property "open" not found in prototype chain
-FAIL Document interface: new Document() must inherit property "close" with the proper type (51) assert_inherits: property "close" not found in prototype chain
-FAIL Document interface: new Document() must inherit property "write" with the proper type (52) assert_inherits: property "write" not found in prototype chain
-FAIL Document interface: calling write(DOMString) on new Document() with too few arguments must throw TypeError assert_inherits: property "write" not found in prototype chain
-FAIL Document interface: new Document() must inherit property "writeln" with the proper type (53) assert_inherits: property "writeln" not found in prototype chain
-FAIL Document interface: calling writeln(DOMString) on new Document() with too few arguments must throw TypeError assert_inherits: property "writeln" not found in prototype chain
+PASS Document interface: new Document() must inherit property "open" with the proper type (49) 
+PASS Document interface: calling open(DOMString,DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "open" with the proper type (50) 
+PASS Document interface: calling open(USVString,DOMString,DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "close" with the proper type (51) 
+PASS Document interface: new Document() must inherit property "write" with the proper type (52) 
+PASS Document interface: calling write(DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "writeln" with the proper type (53) 
+PASS Document interface: calling writeln(DOMString) on new Document() with too few arguments must throw TypeError 
 PASS Document interface: new Document() must inherit property "defaultView" with the proper type (54) 
 PASS Document interface: new Document() must inherit property "activeElement" with the proper type (55) 
 PASS Document interface: new Document() must inherit property "hasFocus" with the proper type (56) 
@@ -457,31 +291,17 @@ PASS Document interface: calling queryCommandSupported(DOMString) on new Documen
 PASS Document interface: new Document() must inherit property "queryCommandValue" with the proper type (63) 
 PASS Document interface: calling queryCommandValue(DOMString) on new Document() with too few arguments must throw TypeError 
 PASS Document interface: new Document() must inherit property "onreadystatechange" with the proper type (64) 
-FAIL Document interface: new Document() must inherit property "fgColor" with the proper type (65) assert_inherits: property "fgColor" not found in prototype chain
-FAIL Document interface: new Document() must inherit property "linkColor" with the proper type (66) assert_inherits: property "linkColor" not found in prototype chain
-FAIL Document interface: new Document() must inherit property "vlinkColor" with the proper type (67) assert_inherits: property "vlinkColor" not found in prototype chain
-FAIL Document interface: new Document() must inherit property "alinkColor" with the proper type (68) assert_inherits: property "alinkColor" not found in prototype chain
-FAIL Document interface: new Document() must inherit property "bgColor" with the proper type (69) assert_inherits: property "bgColor" not found in prototype chain
+PASS Document interface: new Document() must inherit property "fgColor" with the proper type (65) 
+PASS Document interface: new Document() must inherit property "linkColor" with the proper type (66) 
+PASS Document interface: new Document() must inherit property "vlinkColor" with the proper type (67) 
+PASS Document interface: new Document() must inherit property "alinkColor" with the proper type (68) 
+PASS Document interface: new Document() must inherit property "bgColor" with the proper type (69) 
 PASS Document interface: new Document() must inherit property "anchors" with the proper type (70) 
 PASS Document interface: new Document() must inherit property "applets" with the proper type (71) 
-FAIL Document interface: new Document() must inherit property "clear" with the proper type (72) assert_inherits: property "clear" not found in prototype chain
-FAIL Document interface: new Document() must inherit property "captureEvents" with the proper type (73) assert_inherits: property "captureEvents" not found in prototype chain
-FAIL Document interface: new Document() must inherit property "releaseEvents" with the proper type (74) assert_inherits: property "releaseEvents" not found in prototype chain
-FAIL Document interface: new Document() must inherit property "all" with the proper type (75) assert_inherits: property "all" not found in prototype chain
-PASS Document interface: new Document() must inherit property "getElementById" with the proper type (76) 
-PASS Document interface: calling getElementById(DOMString) on new Document() with too few arguments must throw TypeError 
-PASS Document interface: new Document() must inherit property "children" with the proper type (77) 
-PASS Document interface: new Document() must inherit property "firstElementChild" with the proper type (78) 
-PASS Document interface: new Document() must inherit property "lastElementChild" with the proper type (79) 
-PASS Document interface: new Document() must inherit property "childElementCount" with the proper type (80) 
-PASS Document interface: new Document() must inherit property "prepend" with the proper type (81) 
-PASS Document interface: calling prepend([object Object],[object Object]) on new Document() with too few arguments must throw TypeError 
-PASS Document interface: new Document() must inherit property "append" with the proper type (82) 
-PASS Document interface: calling append([object Object],[object Object]) on new Document() with too few arguments must throw TypeError 
-PASS Document interface: new Document() must inherit property "querySelector" with the proper type (83) 
-PASS Document interface: calling querySelector(DOMString) on new Document() with too few arguments must throw TypeError 
-PASS Document interface: new Document() must inherit property "querySelectorAll" with the proper type (84) 
-PASS Document interface: calling querySelectorAll(DOMString) on new Document() with too few arguments must throw TypeError 
+PASS Document interface: new Document() must inherit property "clear" with the proper type (72) 
+PASS Document interface: new Document() must inherit property "captureEvents" with the proper type (73) 
+PASS Document interface: new Document() must inherit property "releaseEvents" with the proper type (74) 
+FAIL Document interface: new Document() must inherit property "all" with the proper type (75) assert_in_array: wrong type: not object or function value "undefined" not in array ["object", "function"]
 PASS Document interface: new Document() must inherit property "onabort" with the proper type (85) 
 FAIL Document interface: new Document() must inherit property "onauxclick" with the proper type (86) assert_inherits: property "onauxclick" not found in prototype chain
 PASS Document interface: new Document() must inherit property "onblur" with the proper type (87) 
@@ -515,146 +335,40 @@ PASS Document interface: new Document() must inherit property "onkeyup" with the
 PASS Document interface: new Document() must inherit property "onload" with the proper type (115) 
 PASS Document interface: new Document() must inherit property "onloadeddata" with the proper type (116) 
 PASS Document interface: new Document() must inherit property "onloadedmetadata" with the proper type (117) 
-PASS Document interface: new Document() must inherit property "onloadstart" with the proper type (118) 
-PASS Document interface: new Document() must inherit property "onmousedown" with the proper type (119) 
-PASS Document interface: new Document() must inherit property "onmouseenter" with the proper type (120) 
-PASS Document interface: new Document() must inherit property "onmouseleave" with the proper type (121) 
-PASS Document interface: new Document() must inherit property "onmousemove" with the proper type (122) 
-PASS Document interface: new Document() must inherit property "onmouseout" with the proper type (123) 
-PASS Document interface: new Document() must inherit property "onmouseover" with the proper type (124) 
-PASS Document interface: new Document() must inherit property "onmouseup" with the proper type (125) 
-PASS Document interface: new Document() must inherit property "onmousewheel" with the proper type (126) 
-PASS Document interface: new Document() must inherit property "onpause" with the proper type (127) 
-PASS Document interface: new Document() must inherit property "onplay" with the proper type (128) 
-PASS Document interface: new Document() must inherit property "onplaying" with the proper type (129) 
-PASS Document interface: new Document() must inherit property "onprogress" with the proper type (130) 
-PASS Document interface: new Document() must inherit property "onratechange" with the proper type (131) 
-PASS Document interface: new Document() must inherit property "onreset" with the proper type (132) 
-PASS Document interface: new Document() must inherit property "onresize" with the proper type (133) 
-PASS Document interface: new Document() must inherit property "onscroll" with the proper type (134) 
-PASS Document interface: new Document() must inherit property "onseeked" with the proper type (135) 
-PASS Document interface: new Document() must inherit property "onseeking" with the proper type (136) 
-PASS Document interface: new Document() must inherit property "onselect" with the proper type (137) 
-FAIL Document interface: new Document() must inherit property "onshow" with the proper type (138) assert_inherits: property "onshow" not found in prototype chain
-PASS Document interface: new Document() must inherit property "onstalled" with the proper type (139) 
-PASS Document interface: new Document() must inherit property "onsubmit" with the proper type (140) 
-PASS Document interface: new Document() must inherit property "onsuspend" with the proper type (141) 
-PASS Document interface: new Document() must inherit property "ontimeupdate" with the proper type (142) 
-PASS Document interface: new Document() must inherit property "ontoggle" with the proper type (143) 
-PASS Document interface: new Document() must inherit property "onvolumechange" with the proper type (144) 
-PASS Document interface: new Document() must inherit property "onwaiting" with the proper type (145) 
-PASS Document interface: new Document() must inherit property "oncopy" with the proper type (146) 
-PASS Document interface: new Document() must inherit property "oncut" with the proper type (147) 
-PASS Document interface: new Document() must inherit property "onpaste" with the proper type (148) 
-PASS Node interface: new Document() must inherit property "ELEMENT_NODE" with the proper type (0) 
-PASS Node interface: new Document() must inherit property "ATTRIBUTE_NODE" with the proper type (1) 
-PASS Node interface: new Document() must inherit property "TEXT_NODE" with the proper type (2) 
-PASS Node interface: new Document() must inherit property "CDATA_SECTION_NODE" with the proper type (3) 
-PASS Node interface: new Document() must inherit property "ENTITY_REFERENCE_NODE" with the proper type (4) 
-PASS Node interface: new Document() must inherit property "ENTITY_NODE" with the proper type (5) 
-PASS Node interface: new Document() must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type (6) 
-PASS Node interface: new Document() must inherit property "COMMENT_NODE" with the proper type (7) 
-PASS Node interface: new Document() must inherit property "DOCUMENT_NODE" with the proper type (8) 
-PASS Node interface: new Document() must inherit property "DOCUMENT_TYPE_NODE" with the proper type (9) 
-PASS Node interface: new Document() must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type (10) 
-PASS Node interface: new Document() must inherit property "NOTATION_NODE" with the proper type (11) 
-PASS Node interface: new Document() must inherit property "nodeType" with the proper type (12) 
-PASS Node interface: new Document() must inherit property "nodeName" with the proper type (13) 
-PASS Node interface: new Document() must inherit property "baseURI" with the proper type (14) 
-PASS Node interface: new Document() must inherit property "ownerDocument" with the proper type (15) 
-PASS Node interface: new Document() must inherit property "parentNode" with the proper type (16) 
-PASS Node interface: new Document() must inherit property "parentElement" with the proper type (17) 
-PASS Node interface: new Document() must inherit property "hasChildNodes" with the proper type (18) 
-PASS Node interface: new Document() must inherit property "childNodes" with the proper type (19) 
-PASS Node interface: new Document() must inherit property "firstChild" with the proper type (20) 
-PASS Node interface: new Document() must inherit property "lastChild" with the proper type (21) 
-PASS Node interface: new Document() must inherit property "previousSibling" with the proper type (22) 
-PASS Node interface: new Document() must inherit property "nextSibling" with the proper type (23) 
-PASS Node interface: new Document() must inherit property "nodeValue" with the proper type (24) 
-PASS Node interface: new Document() must inherit property "textContent" with the proper type (25) 
-PASS Node interface: new Document() must inherit property "normalize" with the proper type (26) 
-PASS Node interface: new Document() must inherit property "cloneNode" with the proper type (27) 
-PASS Node interface: calling cloneNode(boolean) on new Document() with too few arguments must throw TypeError 
-PASS Node interface: new Document() must inherit property "isEqualNode" with the proper type (28) 
-PASS Node interface: calling isEqualNode(Node) on new Document() with too few arguments must throw TypeError 
-PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (29) 
-PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (30) 
-PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (31) 
-PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (32) 
-PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (33) 
-PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (34) 
-PASS Node interface: new Document() must inherit property "compareDocumentPosition" with the proper type (35) 
-PASS Node interface: calling compareDocumentPosition(Node) on new Document() with too few arguments must throw TypeError 
-PASS Node interface: new Document() must inherit property "contains" with the proper type (36) 
-PASS Node interface: calling contains(Node) on new Document() with too few arguments must throw TypeError 
-PASS Node interface: new Document() must inherit property "lookupPrefix" with the proper type (37) 
-PASS Node interface: calling lookupPrefix(DOMString) on new Document() with too few arguments must throw TypeError 
-PASS Node interface: new Document() must inherit property "lookupNamespaceURI" with the proper type (38) 
-PASS Node interface: calling lookupNamespaceURI(DOMString) on new Document() with too few arguments must throw TypeError 
-PASS Node interface: new Document() must inherit property "isDefaultNamespace" with the proper type (39) 
-PASS Node interface: calling isDefaultNamespace(DOMString) on new Document() with too few arguments must throw TypeError 
-PASS Node interface: new Document() must inherit property "insertBefore" with the proper type (40) 
-PASS Node interface: calling insertBefore(Node,Node) on new Document() with too few arguments must throw TypeError 
-PASS Node interface: new Document() must inherit property "appendChild" with the proper type (41) 
-PASS Node interface: calling appendChild(Node) on new Document() with too few arguments must throw TypeError 
-PASS Node interface: new Document() must inherit property "replaceChild" with the proper type (42) 
-PASS Node interface: calling replaceChild(Node,Node) on new Document() with too few arguments must throw TypeError 
-PASS Node interface: new Document() must inherit property "removeChild" with the proper type (43) 
-PASS Node interface: calling removeChild(Node) on new Document() with too few arguments must throw TypeError 
-PASS EventTarget interface: new Document() must inherit property "addEventListener" with the proper type (0) 
-PASS EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on new Document() with too few arguments must throw TypeError 
-PASS EventTarget interface: new Document() must inherit property "removeEventListener" with the proper type (1) 
-PASS EventTarget interface: calling removeEventListener(DOMString,EventListener,boolean) on new Document() with too few arguments must throw TypeError 
-PASS EventTarget interface: new Document() must inherit property "dispatchEvent" with the proper type (2) 
-PASS EventTarget interface: calling dispatchEvent(Event) on new Document() with too few arguments must throw TypeError 
+FAIL Document interface: new Document() must inherit property "onloadend" with the proper type (118) assert_inherits: property "onloadend" not found in prototype chain
+PASS Document interface: new Document() must inherit property "onloadstart" with the proper type (119) 
+PASS Document interface: new Document() must inherit property "onmousedown" with the proper type (120) 
+PASS Document interface: new Document() must inherit property "onmouseenter" with the proper type (121) 
+PASS Document interface: new Document() must inherit property "onmouseleave" with the proper type (122) 
+PASS Document interface: new Document() must inherit property "onmousemove" with the proper type (123) 
+PASS Document interface: new Document() must inherit property "onmouseout" with the proper type (124) 
+PASS Document interface: new Document() must inherit property "onmouseover" with the proper type (125) 
+PASS Document interface: new Document() must inherit property "onmouseup" with the proper type (126) 
+PASS Document interface: new Document() must inherit property "onwheel" with the proper type (127) 
+PASS Document interface: new Document() must inherit property "onpause" with the proper type (128) 
+PASS Document interface: new Document() must inherit property "onplay" with the proper type (129) 
+PASS Document interface: new Document() must inherit property "onplaying" with the proper type (130) 
+PASS Document interface: new Document() must inherit property "onprogress" with the proper type (131) 
+PASS Document interface: new Document() must inherit property "onratechange" with the proper type (132) 
+PASS Document interface: new Document() must inherit property "onreset" with the proper type (133) 
+PASS Document interface: new Document() must inherit property "onresize" with the proper type (134) 
+PASS Document interface: new Document() must inherit property "onscroll" with the proper type (135) 
+FAIL Document interface: new Document() must inherit property "onsecuritypolicyviolation" with the proper type (136) assert_inherits: property "onsecuritypolicyviolation" not found in prototype chain
+PASS Document interface: new Document() must inherit property "onseeked" with the proper type (137) 
+PASS Document interface: new Document() must inherit property "onseeking" with the proper type (138) 
+PASS Document interface: new Document() must inherit property "onselect" with the proper type (139) 
+PASS Document interface: new Document() must inherit property "onstalled" with the proper type (140) 
+PASS Document interface: new Document() must inherit property "onsubmit" with the proper type (141) 
+PASS Document interface: new Document() must inherit property "onsuspend" with the proper type (142) 
+PASS Document interface: new Document() must inherit property "ontimeupdate" with the proper type (143) 
+PASS Document interface: new Document() must inherit property "ontoggle" with the proper type (144) 
+PASS Document interface: new Document() must inherit property "onvolumechange" with the proper type (145) 
+PASS Document interface: new Document() must inherit property "onwaiting" with the proper type (146) 
+PASS Document interface: new Document() must inherit property "oncopy" with the proper type (147) 
+PASS Document interface: new Document() must inherit property "oncut" with the proper type (148) 
+PASS Document interface: new Document() must inherit property "onpaste" with the proper type (149) 
 PASS XMLDocument must be primary interface of document.implementation.createDocument(null, "", null) 
 PASS Stringification of document.implementation.createDocument(null, "", null) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "implementation" with the proper type (0) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "URL" with the proper type (1) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "documentURI" with the proper type (2) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "origin" with the proper type (3) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "compatMode" with the proper type (4) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "characterSet" with the proper type (5) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "charset" with the proper type (6) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "inputEncoding" with the proper type (7) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "contentType" with the proper type (8) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "doctype" with the proper type (9) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "documentElement" with the proper type (10) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "getElementsByTagName" with the proper type (11) 
-PASS Document interface: calling getElementsByTagName(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "getElementsByTagNameNS" with the proper type (12) 
-PASS Document interface: calling getElementsByTagNameNS(DOMString,DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "getElementsByClassName" with the proper type (13) 
-PASS Document interface: calling getElementsByClassName(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "createElement" with the proper type (14) 
-PASS Document interface: calling createElement(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "createElementNS" with the proper type (15) 
-PASS Document interface: calling createElementNS(DOMString,DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "createDocumentFragment" with the proper type (16) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "createTextNode" with the proper type (17) 
-PASS Document interface: calling createTextNode(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "createCDATASection" with the proper type (18) 
-PASS Document interface: calling createCDATASection(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "createComment" with the proper type (19) 
-PASS Document interface: calling createComment(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "createProcessingInstruction" with the proper type (20) 
-PASS Document interface: calling createProcessingInstruction(DOMString,DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "importNode" with the proper type (21) 
-PASS Document interface: calling importNode(Node,boolean) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "adoptNode" with the proper type (22) 
-PASS Document interface: calling adoptNode(Node) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "createAttribute" with the proper type (23) 
-PASS Document interface: calling createAttribute(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "createAttributeNS" with the proper type (24) 
-PASS Document interface: calling createAttributeNS(DOMString,DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "createEvent" with the proper type (25) 
-PASS Document interface: calling createEvent(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "createRange" with the proper type (26) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "createNodeIterator" with the proper type (27) 
-PASS Document interface: calling createNodeIterator(Node,unsigned long,NodeFilter) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "createTreeWalker" with the proper type (28) 
-PASS Document interface: calling createTreeWalker(Node,unsigned long,NodeFilter) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "styleSheets" with the proper type (29) 
 PASS Document interface: document.implementation.createDocument(null, "", null) must have own property "location" 
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "domain" with the proper type (31) 
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "referrer" with the proper type (32) 
@@ -674,15 +388,15 @@ PASS Document interface: document.implementation.createDocument(null, "", null)
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "getElementsByName" with the proper type (47) 
 PASS Document interface: calling getElementsByName(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "currentScript" with the proper type (48) 
-FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "open" with the proper type (49) assert_inherits: property "open" not found in prototype chain
-FAIL Document interface: calling open(DOMString,DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_inherits: property "open" not found in prototype chain
-FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "open" with the proper type (50) assert_inherits: property "open" not found in prototype chain
-FAIL Document interface: calling open(USVString,DOMString,DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_inherits: property "open" not found in prototype chain
-FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "close" with the proper type (51) assert_inherits: property "close" not found in prototype chain
-FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "write" with the proper type (52) assert_inherits: property "write" not found in prototype chain
-FAIL Document interface: calling write(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_inherits: property "write" not found in prototype chain
-FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "writeln" with the proper type (53) assert_inherits: property "writeln" not found in prototype chain
-FAIL Document interface: calling writeln(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError assert_inherits: property "writeln" not found in prototype chain
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "open" with the proper type (49) 
+PASS Document interface: calling open(DOMString,DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "open" with the proper type (50) 
+PASS Document interface: calling open(USVString,DOMString,DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "close" with the proper type (51) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "write" with the proper type (52) 
+PASS Document interface: calling write(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "writeln" with the proper type (53) 
+PASS Document interface: calling writeln(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "defaultView" with the proper type (54) 
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "activeElement" with the proper type (55) 
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "hasFocus" with the proper type (56) 
@@ -700,31 +414,17 @@ PASS Document interface: calling queryCommandSupported(DOMString) on document.im
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "queryCommandValue" with the proper type (63) 
 PASS Document interface: calling queryCommandValue(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onreadystatechange" with the proper type (64) 
-FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "fgColor" with the proper type (65) assert_inherits: property "fgColor" not found in prototype chain
-FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "linkColor" with the proper type (66) assert_inherits: property "linkColor" not found in prototype chain
-FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "vlinkColor" with the proper type (67) assert_inherits: property "vlinkColor" not found in prototype chain
-FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "alinkColor" with the proper type (68) assert_inherits: property "alinkColor" not found in prototype chain
-FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "bgColor" with the proper type (69) assert_inherits: property "bgColor" not found in prototype chain
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "fgColor" with the proper type (65) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "linkColor" with the proper type (66) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "vlinkColor" with the proper type (67) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "alinkColor" with the proper type (68) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "bgColor" with the proper type (69) 
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "anchors" with the proper type (70) 
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "applets" with the proper type (71) 
-FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "clear" with the proper type (72) assert_inherits: property "clear" not found in prototype chain
-FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "captureEvents" with the proper type (73) assert_inherits: property "captureEvents" not found in prototype chain
-FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "releaseEvents" with the proper type (74) assert_inherits: property "releaseEvents" not found in prototype chain
-FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "all" with the proper type (75) assert_inherits: property "all" not found in prototype chain
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "getElementById" with the proper type (76) 
-PASS Document interface: calling getElementById(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "children" with the proper type (77) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "firstElementChild" with the proper type (78) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "lastElementChild" with the proper type (79) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "childElementCount" with the proper type (80) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "prepend" with the proper type (81) 
-PASS Document interface: calling prepend([object Object],[object Object]) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "append" with the proper type (82) 
-PASS Document interface: calling append([object Object],[object Object]) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "querySelector" with the proper type (83) 
-PASS Document interface: calling querySelector(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "querySelectorAll" with the proper type (84) 
-PASS Document interface: calling querySelectorAll(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "clear" with the proper type (72) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "captureEvents" with the proper type (73) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "releaseEvents" with the proper type (74) 
+FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "all" with the proper type (75) assert_in_array: wrong type: not object or function value "undefined" not in array ["object", "function"]
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onabort" with the proper type (85) 
 FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "onauxclick" with the proper type (86) assert_inherits: property "onauxclick" not found in prototype chain
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onblur" with the proper type (87) 
@@ -758,133 +458,59 @@ PASS Document interface: document.implementation.createDocument(null, "", null)
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onload" with the proper type (115) 
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onloadeddata" with the proper type (116) 
 PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onloadedmetadata" with the proper type (117) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onloadstart" with the proper type (118) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmousedown" with the proper type (119) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmouseenter" with the proper type (120) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmouseleave" with the proper type (121) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmousemove" with the proper type (122) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmouseout" with the proper type (123) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmouseover" with the proper type (124) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmouseup" with the proper type (125) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmousewheel" with the proper type (126) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onpause" with the proper type (127) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onplay" with the proper type (128) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onplaying" with the proper type (129) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onprogress" with the proper type (130) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onratechange" with the proper type (131) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onreset" with the proper type (132) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onresize" with the proper type (133) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onscroll" with the proper type (134) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onseeked" with the proper type (135) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onseeking" with the proper type (136) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onselect" with the proper type (137) 
-FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "onshow" with the proper type (138) assert_inherits: property "onshow" not found in prototype chain
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onstalled" with the proper type (139) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onsubmit" with the proper type (140) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onsuspend" with the proper type (141) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "ontimeupdate" with the proper type (142) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "ontoggle" with the proper type (143) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onvolumechange" with the proper type (144) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onwaiting" with the proper type (145) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "oncopy" with the proper type (146) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "oncut" with the proper type (147) 
-PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onpaste" with the proper type (148) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "ELEMENT_NODE" with the proper type (0) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "ATTRIBUTE_NODE" with the proper type (1) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "TEXT_NODE" with the proper type (2) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "CDATA_SECTION_NODE" with the proper type (3) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "ENTITY_REFERENCE_NODE" with the proper type (4) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "ENTITY_NODE" with the proper type (5) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "PROCESSING_INSTRUCTION_NODE" with the proper type (6) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "COMMENT_NODE" with the proper type (7) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "DOCUMENT_NODE" with the proper type (8) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "DOCUMENT_TYPE_NODE" with the proper type (9) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "DOCUMENT_FRAGMENT_NODE" with the proper type (10) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "NOTATION_NODE" with the proper type (11) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "nodeType" with the proper type (12) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "nodeName" with the proper type (13) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "baseURI" with the proper type (14) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "ownerDocument" with the proper type (15) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "parentNode" with the proper type (16) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "parentElement" with the proper type (17) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "hasChildNodes" with the proper type (18) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "childNodes" with the proper type (19) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "firstChild" with the proper type (20) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "lastChild" with the proper type (21) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "previousSibling" with the proper type (22) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "nextSibling" with the proper type (23) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "nodeValue" with the proper type (24) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "textContent" with the proper type (25) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "normalize" with the proper type (26) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "cloneNode" with the proper type (27) 
-PASS Node interface: calling cloneNode(boolean) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "isEqualNode" with the proper type (28) 
-PASS Node interface: calling isEqualNode(Node) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (29) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (30) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (31) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (32) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (33) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (34) 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "compareDocumentPosition" with the proper type (35) 
-PASS Node interface: calling compareDocumentPosition(Node) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "contains" with the proper type (36) 
-PASS Node interface: calling contains(Node) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "lookupPrefix" with the proper type (37) 
-PASS Node interface: calling lookupPrefix(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "lookupNamespaceURI" with the proper type (38) 
-PASS Node interface: calling lookupNamespaceURI(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "isDefaultNamespace" with the proper type (39) 
-PASS Node interface: calling isDefaultNamespace(DOMString) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "insertBefore" with the proper type (40) 
-PASS Node interface: calling insertBefore(Node,Node) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "appendChild" with the proper type (41) 
-PASS Node interface: calling appendChild(Node) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "replaceChild" with the proper type (42) 
-PASS Node interface: calling replaceChild(Node,Node) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS Node interface: document.implementation.createDocument(null, "", null) must inherit property "removeChild" with the proper type (43) 
-PASS Node interface: calling removeChild(Node) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS EventTarget interface: document.implementation.createDocument(null, "", null) must inherit property "addEventListener" with the proper type (0) 
-PASS EventTarget interface: calling addEventListener(DOMString,EventListener,boolean) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS EventTarget interface: document.implementation.createDocument(null, "", null) must inherit property "removeEventListener" with the proper type (1) 
-PASS EventTarget interface: calling removeEventListener(DOMString,EventListener,boolean) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-PASS EventTarget interface: document.implementation.createDocument(null, "", null) must inherit property "dispatchEvent" with the proper type (2) 
-PASS EventTarget interface: calling dispatchEvent(Event) on document.implementation.createDocument(null, "", null) with too few arguments must throw TypeError 
-FAIL MouseEvent interface: attribute region assert_true: The prototype object must have a property "region" expected true got false
-FAIL Touch interface: attribute region assert_own_property: self does not have own property "Touch" expected property "Touch" missing
+FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "onloadend" with the proper type (118) assert_inherits: property "onloadend" not found in prototype chain
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onloadstart" with the proper type (119) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmousedown" with the proper type (120) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmouseenter" with the proper type (121) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmouseleave" with the proper type (122) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmousemove" with the proper type (123) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmouseout" with the proper type (124) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmouseover" with the proper type (125) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmouseup" with the proper type (126) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onwheel" with the proper type (127) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onpause" with the proper type (128) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onplay" with the proper type (129) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onplaying" with the proper type (130) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onprogress" with the proper type (131) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onratechange" with the proper type (132) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onreset" with the proper type (133) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onresize" with the proper type (134) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onscroll" with the proper type (135) 
+FAIL Document interface: document.implementation.createDocument(null, "", null) must inherit property "onsecuritypolicyviolation" with the proper type (136) assert_inherits: property "onsecuritypolicyviolation" not found in prototype chain
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onseeked" with the proper type (137) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onseeking" with the proper type (138) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onselect" with the proper type (139) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onstalled" with the proper type (140) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onsubmit" with the proper type (141) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onsuspend" with the proper type (142) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "ontimeupdate" with the proper type (143) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "ontoggle" with the proper type (144) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onvolumechange" with the proper type (145) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onwaiting" with the proper type (146) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "oncopy" with the proper type (147) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "oncut" with the proper type (148) 
+PASS Document interface: document.implementation.createDocument(null, "", null) must inherit property "onpaste" with the proper type (149) 
 PASS HTMLAllCollection interface: existence and properties of interface object 
 PASS HTMLAllCollection interface object length 
 PASS HTMLAllCollection interface object name 
 PASS HTMLAllCollection interface: existence and properties of interface prototype object 
 PASS HTMLAllCollection interface: existence and properties of interface prototype object's "constructor" property 
 PASS HTMLAllCollection interface: attribute length 
-PASS HTMLAllCollection interface: operation item(unsigned long) 
-PASS HTMLAllCollection interface: operation item(DOMString) 
 PASS HTMLAllCollection interface: operation namedItem(DOMString) 
-FAIL HTMLAllCollection must be primary interface of document.all assert_equals: wrong typeof object expected "function" but got "undefined"
-FAIL Stringification of document.all assert_equals: wrong typeof object expected "function" but got "undefined"
+PASS HTMLAllCollection interface: operation item(DOMString) 
 FAIL HTMLAllCollection interface: document.all must inherit property "length" with the proper type (0) assert_equals: wrong typeof object expected "function" but got "undefined"
-FAIL HTMLAllCollection interface: document.all must inherit property "item" with the proper type (1) assert_equals: wrong typeof object expected "function" but got "undefined"
-FAIL HTMLAllCollection interface: calling item(unsigned long) on document.all with too few arguments must throw TypeError assert_equals: wrong typeof object expected "function" but got "undefined"
-FAIL HTMLAllCollection interface: document.all must inherit property "item" with the proper type (2) assert_equals: wrong typeof object expected "function" but got "undefined"
-FAIL HTMLAllCollection interface: calling item(DOMString) on document.all with too few arguments must throw TypeError assert_equals: wrong typeof object expected "function" but got "undefined"
-FAIL HTMLAllCollection interface: document.all must inherit property "namedItem" with the proper type (3) assert_equals: wrong typeof object expected "function" but got "undefined"
+FAIL HTMLAllCollection interface: document.all must inherit property "namedItem" with the proper type (2) assert_equals: wrong typeof object expected "function" but got "undefined"
 FAIL HTMLAllCollection interface: calling namedItem(DOMString) on document.all with too few arguments must throw TypeError assert_equals: wrong typeof object expected "function" but got "undefined"
+FAIL HTMLAllCollection interface: document.all must inherit property "item" with the proper type (3) assert_equals: wrong typeof object expected "function" but got "undefined"
+FAIL HTMLAllCollection interface: calling item(DOMString) on document.all with too few arguments must throw TypeError assert_equals: wrong typeof object expected "function" but got "undefined"
 PASS HTMLFormControlsCollection interface: existence and properties of interface object 
 PASS HTMLFormControlsCollection interface object length 
 PASS HTMLFormControlsCollection interface object name 
 PASS HTMLFormControlsCollection interface: existence and properties of interface prototype object 
 PASS HTMLFormControlsCollection interface: existence and properties of interface prototype object's "constructor" property 
 PASS HTMLFormControlsCollection interface: operation namedItem(DOMString) 
-PASS HTMLFormControlsCollection must be primary interface of document.createElement("form").elements 
-PASS Stringification of document.createElement("form").elements 
 PASS HTMLFormControlsCollection interface: document.createElement("form").elements must inherit property "namedItem" with the proper type (0) 
 PASS HTMLFormControlsCollection interface: calling namedItem(DOMString) on document.createElement("form").elements with too few arguments must throw TypeError 
-PASS HTMLCollection interface: document.createElement("form").elements must inherit property "length" with the proper type (0) 
-PASS HTMLCollection interface: document.createElement("form").elements must inherit property "item" with the proper type (1) 
-PASS HTMLCollection interface: calling item(unsigned long) on document.createElement("form").elements with too few arguments must throw TypeError 
-PASS HTMLCollection interface: document.createElement("form").elements must inherit property "namedItem" with the proper type (2) 
-PASS HTMLCollection interface: calling namedItem(DOMString) on document.createElement("form").elements with too few arguments must throw TypeError 
 PASS RadioNodeList interface: existence and properties of interface object 
 PASS RadioNodeList interface object length 
 PASS RadioNodeList interface object name 
@@ -900,26 +526,20 @@ PASS HTMLOptionsCollection interface: attribute length
 PASS HTMLOptionsCollection interface: operation add([object Object],[object Object],[object Object],[object Object]) 
 PASS HTMLOptionsCollection interface: operation remove(long) 
 PASS HTMLOptionsCollection interface: attribute selectedIndex 
-PASS HTMLOptionsCollection must be primary interface of document.createElement("select").options 
-PASS Stringification of document.createElement("select").options 
 PASS HTMLOptionsCollection interface: document.createElement("select").options must inherit property "length" with the proper type (0) 
 PASS HTMLOptionsCollection interface: document.createElement("select").options must inherit property "add" with the proper type (2) 
 PASS HTMLOptionsCollection interface: calling add([object Object],[object Object],[object Object],[object Object]) on document.createElement("select").options with too few arguments must throw TypeError 
 PASS HTMLOptionsCollection interface: document.createElement("select").options must inherit property "remove" with the proper type (3) 
 PASS HTMLOptionsCollection interface: calling remove(long) on document.createElement("select").options with too few arguments must throw TypeError 
 PASS HTMLOptionsCollection interface: document.createElement("select").options must inherit property "selectedIndex" with the proper type (4) 
-PASS HTMLCollection interface: document.createElement("select").options must inherit property "length" with the proper type (0) 
-PASS HTMLCollection interface: document.createElement("select").options must inherit property "item" with the proper type (1) 
-PASS HTMLCollection interface: calling item(unsigned long) on document.createElement("select").options with too few arguments must throw TypeError 
-PASS HTMLCollection interface: document.createElement("select").options must inherit property "namedItem" with the proper type (2) 
-PASS HTMLCollection interface: calling namedItem(DOMString) on document.createElement("select").options with too few arguments must throw TypeError 
-PASS DOMStringMap interface: existence and properties of interface object 
-PASS DOMStringMap interface object length 
-PASS DOMStringMap interface object name 
-PASS DOMStringMap interface: existence and properties of interface prototype object 
-PASS DOMStringMap interface: existence and properties of interface prototype object's "constructor" property 
-PASS DOMStringMap must be primary interface of document.head.dataset 
-PASS Stringification of document.head.dataset 
+PASS DOMStringList interface: existence and properties of interface object 
+PASS DOMStringList interface object length 
+PASS DOMStringList interface object name 
+PASS DOMStringList interface: existence and properties of interface prototype object 
+PASS DOMStringList interface: existence and properties of interface prototype object's "constructor" property 
+PASS DOMStringList interface: attribute length 
+PASS DOMStringList interface: operation item(unsigned long) 
+PASS DOMStringList interface: operation contains(DOMString) 
 PASS HTMLElement interface: existence and properties of interface object 
 PASS HTMLElement interface object length 
 PASS HTMLElement interface object name 
@@ -938,9 +558,7 @@ PASS HTMLElement interface: operation blur()
 PASS HTMLElement interface: attribute accessKey 
 FAIL HTMLElement interface: attribute accessKeyLabel assert_true: The prototype object must have a property "accessKeyLabel" expected true got false
 PASS HTMLElement interface: attribute draggable 
-FAIL HTMLElement interface: attribute contextMenu assert_true: The prototype object must have a property "contextMenu" expected true got false
 PASS HTMLElement interface: attribute spellcheck 
-FAIL HTMLElement interface: operation forceSpellCheck() assert_own_property: interface prototype object missing non-static operation expected property "forceSpellCheck" missing
 PASS HTMLElement interface: attribute innerText 
 PASS HTMLElement interface: attribute onabort 
 FAIL HTMLElement interface: attribute onauxclick assert_true: The prototype object must have a property "onauxclick" expected true got false
@@