Refresh WPT tests up to 0acd8f6
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 27 Oct 2016 06:33:21 +0000 (06:33 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 27 Oct 2016 06:33:21 +0000 (06:33 +0000)
https://bugs.webkit.org/show_bug.cgi?id=164009

Patch by Youenn Fablet <youennf@gmail.com> on 2016-10-26
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

* resources/ImportExpectations:
* resources/TestRepositories:
* resources/resource-files.json:
* resources/web-platform-tests-modules.json:
* web-platform-tests/WebIDL/current-realm-expected.txt: Added.
* web-platform-tests/WebIDL/current-realm.html: Added.
* web-platform-tests/WebIDL/w3c-import.log:
* web-platform-tests/XMLHttpRequest/abort-during-open-expected.txt:
* web-platform-tests/XMLHttpRequest/abort-during-open.js:
(test.async_test.test.step):
* web-platform-tests/XMLHttpRequest/abort-event-abort-expected.txt:
* web-platform-tests/XMLHttpRequest/abort-event-abort.htm:
* web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin-expected.txt: Added.
* web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin.htm: Added.
* web-platform-tests/XMLHttpRequest/open-during-abort-expected.txt:
* web-platform-tests/XMLHttpRequest/open-during-abort.htm:
* web-platform-tests/XMLHttpRequest/send-blob-with-no-mime-type-expected.txt:
* web-platform-tests/XMLHttpRequest/send-blob-with-no-mime-type.html:
* web-platform-tests/XMLHttpRequest/send-data-unexpected-tostring-expected.txt:
* web-platform-tests/XMLHttpRequest/send-data-unexpected-tostring.htm:
* web-platform-tests/XMLHttpRequest/send-non-same-origin-expected.txt: Added.
* web-platform-tests/XMLHttpRequest/send-non-same-origin.htm: Added.
* web-platform-tests/XMLHttpRequest/w3c-import.log:
* web-platform-tests/check_stability.py: Added.
* web-platform-tests/ci_lint.sh: Added.
* web-platform-tests/ci_stability.sh: Added.
* web-platform-tests/config.json: Added.
* web-platform-tests/dom/events/Event-dispatch-click-expected.txt: Added.
* web-platform-tests/dom/events/Event-dispatch-click.html: Added.
* web-platform-tests/dom/events/w3c-import.log:
* web-platform-tests/dom/nodes/Node-contains-expected.txt:
* web-platform-tests/dom/nodes/Node-contains.html:
* web-platform-tests/dom/ranges/Range-mutations-appendChild-expected.txt: Added.
* web-platform-tests/dom/ranges/Range-mutations-appendChild.html: Added.
* web-platform-tests/dom/ranges/Range-mutations-appendData-expected.txt: Added.
* web-platform-tests/dom/ranges/Range-mutations-appendData.html: Added.
* web-platform-tests/dom/ranges/Range-mutations-dataChange-expected.txt: Added.
* web-platform-tests/dom/ranges/Range-mutations-dataChange.html: Added.
* web-platform-tests/dom/ranges/Range-mutations-deleteData-expected.txt: Added.
* web-platform-tests/dom/ranges/Range-mutations-deleteData.html: Added.
* web-platform-tests/dom/ranges/Range-mutations-insertBefore-expected.txt: Added.
* web-platform-tests/dom/ranges/Range-mutations-insertBefore.html: Added.
* web-platform-tests/dom/ranges/Range-mutations-insertData-expected.txt: Added.
* web-platform-tests/dom/ranges/Range-mutations-insertData.html: Added.
* web-platform-tests/dom/ranges/Range-mutations-removeChild-expected.txt: Added.
* web-platform-tests/dom/ranges/Range-mutations-removeChild.html: Added.
* web-platform-tests/dom/ranges/Range-mutations-replaceChild-expected.txt: Added.
* web-platform-tests/dom/ranges/Range-mutations-replaceChild.html: Added.
* web-platform-tests/dom/ranges/Range-mutations-replaceData-expected.txt: Added.
* web-platform-tests/dom/ranges/Range-mutations-replaceData.html: Added.
* web-platform-tests/dom/ranges/Range-mutations-splitText-expected.txt: Added.
* web-platform-tests/dom/ranges/Range-mutations-splitText.html: Added.
* web-platform-tests/dom/ranges/Range-mutations.js: Added.
* web-platform-tests/dom/ranges/w3c-import.log:
* web-platform-tests/encrypted-media/content/video_512x288_h264-360k_multikey_key1_dashinit.mp4: Added.
* web-platform-tests/encrypted-media/drm-mp4-playback-retrieve-destroy-persistent-license.html:
* web-platform-tests/encrypted-media/drm-mp4-playback-temporary-expired.html:
* web-platform-tests/encrypted-media/resources/drm-retrieve-destroy-persistent-license.html:
* web-platform-tests/encrypted-media/scripts/clearkey-update-non-ascii-input.js:
(runTest):
* web-platform-tests/encrypted-media/scripts/generate-request-disallowed-input.js:
(runTest):
* web-platform-tests/encrypted-media/scripts/invalid-license.js:
(runTest.):
(runTest):
* web-platform-tests/encrypted-media/scripts/onencrypted.js:
(runTest.):
(runTest):
* web-platform-tests/encrypted-media/scripts/playback-destroy-persistent-license.js:
(runTest):
* web-platform-tests/encrypted-media/scripts/playback-persistent-license-events.js:
(runTest):
* web-platform-tests/encrypted-media/scripts/playback-persistent-license.js:
(runTest):
* web-platform-tests/encrypted-media/scripts/playback-persistent-usage-record-events.js:
(runTest):
* web-platform-tests/encrypted-media/scripts/playback-persistent-usage-record.js:
(runTest):
* web-platform-tests/encrypted-media/scripts/playback-retrieve-persistent-license.js:
(runTest):
* web-platform-tests/encrypted-media/scripts/playback-retrieve-persistent-usage-record.js:
(runTest):
* web-platform-tests/encrypted-media/scripts/playback-temporary-encrypted-clear-sources.js:
(runTest):
* web-platform-tests/encrypted-media/scripts/playback-temporary-events.js:
(runTest):
* web-platform-tests/encrypted-media/scripts/playback-temporary-expired.js:
(runTest):
* web-platform-tests/encrypted-media/scripts/playback-temporary-multikey-sequential.js:
(runTest):
* web-platform-tests/encrypted-media/scripts/playback-temporary-multisession.js:
(runTest):
* web-platform-tests/encrypted-media/scripts/playback-temporary-setMediaKeys.js:
(runTest):
* web-platform-tests/encrypted-media/scripts/playback-temporary-two-videos.js:
(runTest):
* web-platform-tests/encrypted-media/scripts/playback-temporary-waitingforkey.js:
(runTest):
* web-platform-tests/encrypted-media/scripts/playback-temporary.js:
(runTest):
* web-platform-tests/encrypted-media/scripts/requestmediakeysystemaccess.js:
(expect_error):
* web-platform-tests/encrypted-media/scripts/setmediakeys-multiple-times-with-different-mediakeys.js:
(runTest):
* web-platform-tests/encrypted-media/scripts/setmediakeys.js:
(runTest):
* web-platform-tests/encrypted-media/scripts/syntax-mediakeysession.js:
(runTest.test_generateRequest):
(runTest.create_remove_exception_test):
* web-platform-tests/encrypted-media/scripts/syntax-mediakeysystemaccess.js:
(runTest.func):
* web-platform-tests/encrypted-media/scripts/update-disallowed-input.js:
(runTest.):
(runTest):
* web-platform-tests/encrypted-media/scripts/w3c-import.log:
* web-platform-tests/encrypted-media/util/drm-messagehandler.js:
* web-platform-tests/encrypted-media/util/testmediasource.js:
(testmediasource.):
(testmediasource):
* web-platform-tests/encrypted-media/util/utils.js:
* web-platform-tests/fetch/api/basic/error-after-response.html:
* web-platform-tests/fetch/api/basic/scheme-data-expected.txt:
* web-platform-tests/fetch/api/basic/scheme-data-worker-expected.txt:
* web-platform-tests/fetch/api/basic/scheme-data.js:
(checkFetchResponse):
* web-platform-tests/fetch/api/basic/text-utf8.html:
* web-platform-tests/fetch/api/basic/w3c-import.log:
* web-platform-tests/fetch/api/cors/cors-redirect.js:
(corsRedirect):
* web-platform-tests/fetch/api/headers/headers-basic.html:
* web-platform-tests/fetch/api/redirect/redirect-count-expected.txt:
* web-platform-tests/fetch/api/redirect/redirect-count-worker-expected.txt:
* web-platform-tests/fetch/api/redirect/redirect-count.js:
(redirectCount):
* web-platform-tests/fetch/api/request/multi-globals/current/current.html: Added.
* web-platform-tests/fetch/api/request/multi-globals/current/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/security-window/w3c-import.log.
* web-platform-tests/fetch/api/request/multi-globals/incumbent/incumbent.html: Added.
* web-platform-tests/fetch/api/request/multi-globals/incumbent/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/security-window/w3c-import.log.
* web-platform-tests/fetch/api/request/multi-globals/url-parsing-expected.txt: Added.
* web-platform-tests/fetch/api/request/multi-globals/url-parsing.html: Added.
* web-platform-tests/fetch/api/request/multi-globals/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/security-window/w3c-import.log.
* web-platform-tests/fetch/api/request/request-consume-empty.html:
* web-platform-tests/fetch/api/request/w3c-import.log:
* web-platform-tests/fetch/api/resources/bad-chunk-encoding.py:
(main):
* web-platform-tests/fetch/api/resources/utils.js:
(encode_utf8):
* web-platform-tests/fetch/api/resources/w3c-import.log:
* web-platform-tests/fetch/api/response/multi-globals/current/current.html: Added.
* web-platform-tests/fetch/api/response/multi-globals/current/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/security-window/w3c-import.log.
* web-platform-tests/fetch/api/response/multi-globals/incumbent/incumbent.html: Added.
* web-platform-tests/fetch/api/response/multi-globals/incumbent/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/security-window/w3c-import.log.
* web-platform-tests/fetch/api/response/multi-globals/relevant/relevant.html: Added.
* web-platform-tests/fetch/api/response/multi-globals/relevant/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/security-window/w3c-import.log.
* web-platform-tests/fetch/api/response/multi-globals/url-parsing-expected.txt: Added.
* web-platform-tests/fetch/api/response/multi-globals/url-parsing.html: Added.
* web-platform-tests/fetch/api/response/multi-globals/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/security-window/w3c-import.log.
* web-platform-tests/fetch/api/response/response-clone-expected.txt:
* web-platform-tests/fetch/api/response/response-clone.html:
* web-platform-tests/fetch/api/response/response-consume-stream-expected.txt:
* web-platform-tests/fetch/api/response/response-consume-stream.html:
* web-platform-tests/fetch/api/response/response-consume.html:
* web-platform-tests/fonts/math/axisheight5000-verticalarrow14000.woff: Added.
* web-platform-tests/fonts/math/fraction-axisheight7000-rulethickness1000.woff: Added.
* web-platform-tests/fonts/math/fraction-denominatordisplaystylegapmin5000-rulethickness1000.woff: Added.
* web-platform-tests/fonts/math/fraction-denominatordisplaystyleshiftdown6000-rulethickness1000.woff: Added.
* web-platform-tests/fonts/math/fraction-denominatorgapmin4000-rulethickness1000.woff: Added.
* web-platform-tests/fonts/math/fraction-denominatorshiftdown3000-rulethickness1000.woff: Added.
* web-platform-tests/fonts/math/fraction-numeratordisplaystylegapmin8000-rulethickness1000.woff: Added.
* web-platform-tests/fonts/math/fraction-numeratordisplaystyleshiftup2000-rulethickness1000.woff: Added.
* web-platform-tests/fonts/math/fraction-numeratorgapmin9000-rulethickness1000.woff: Added.
* web-platform-tests/fonts/math/fraction-numeratorshiftup11000-rulethickness1000.woff: Added.
* web-platform-tests/fonts/math/fraction-rulethickness10000.woff: Added.
* web-platform-tests/fonts/math/largeop-displayoperatorminheight5000.woff: Added.
* web-platform-tests/fonts/math/limits-lowerlimitbaselinedropmin3000.woff: Added.
* web-platform-tests/fonts/math/limits-lowerlimitgapmin11000.woff: Added.
* web-platform-tests/fonts/math/limits-upperlimitbaselinerisemin5000.woff: Added.
* web-platform-tests/fonts/math/limits-upperlimitgapmin7000.woff: Added.
* web-platform-tests/fonts/math/lineheight5000-typolineheight2300.woff: Added.
* web-platform-tests/fonts/math/radical-degreebottomraisepercent25-rulethickness1000.woff: Added.
* web-platform-tests/fonts/math/radical-displaystyleverticalgap7000-rulethickness1000.woff: Added.
* web-platform-tests/fonts/math/radical-extraascender3000-rulethickness1000.woff: Added.
* web-platform-tests/fonts/math/radical-kernafterdegreeminus5000-rulethickness1000.woff: Added.
* web-platform-tests/fonts/math/radical-kernbeforedegree4000-rulethickness1000.woff: Added.
* web-platform-tests/fonts/math/radical-rulethickness8000.woff: Added.
* web-platform-tests/fonts/math/radical-verticalgap6000-rulethickness1000.woff: Added.
* web-platform-tests/fonts/math/scripts-spaceafterscript3000.woff: Added.
* web-platform-tests/fonts/math/scripts-subscriptbaselinedropmin9000.woff: Added.
* web-platform-tests/fonts/math/scripts-subscriptshiftdown6000.woff: Added.
* web-platform-tests/fonts/math/scripts-subscripttopmax4000.woff: Added.
* web-platform-tests/fonts/math/scripts-subsuperscriptgapmin11000-superscriptbottommaxwithsubscript3000.woff: Added.
* web-platform-tests/fonts/math/scripts-subsuperscriptgapmin11000.woff: Added.
* web-platform-tests/fonts/math/scripts-superscriptbaselinedropmax10000.woff: Added.
* web-platform-tests/fonts/math/scripts-superscriptbottommin8000.woff: Added.
* web-platform-tests/fonts/math/scripts-superscriptshiftup7000.woff: Added.
* web-platform-tests/fonts/math/scripts-superscriptshiftupcramped5000.woff: Added.
* web-platform-tests/fonts/math/stack-axisheight7000.woff: Added.
* web-platform-tests/fonts/math/stack-bottomdisplaystyleshiftdown5000.woff: Added.
* web-platform-tests/fonts/math/stack-bottomshiftdown6000.woff: Added.
* web-platform-tests/fonts/math/stack-displaystylegapmin4000.woff: Added.
* web-platform-tests/fonts/math/stack-gapmin8000.woff: Added.
* web-platform-tests/fonts/math/stack-topdisplaystyleshiftup3000.woff: Added.
* web-platform-tests/fonts/math/stack-topshiftup9000.woff: Added.
* web-platform-tests/fonts/math/stretchstack-bottomshiftdown3000.woff: Added.
* web-platform-tests/fonts/math/stretchstack-gapabovemin7000.woff: Added.
* web-platform-tests/fonts/math/stretchstack-gapbelowmin11000.woff: Added.
* web-platform-tests/fonts/math/stretchstack-topshiftup5000.woff: Added.
* web-platform-tests/fonts/math/underover-accentbaseheight4000-overbarextraascender3000.woff: Added.
* web-platform-tests/fonts/math/underover-accentbaseheight4000-overbarverticalgap11000.woff: Added.
* web-platform-tests/fonts/math/underover-accentbaseheight4000-underbarextradescender5000.woff: Added.
* web-platform-tests/fonts/math/underover-accentbaseheight4000-underbarverticalgap7000.woff: Added.
* web-platform-tests/fonts/math/w3c-import.log: Added.
* web-platform-tests/fonts/math/xheight500.woff: Added.
* web-platform-tests/html/browsers/history/the-location-interface/security_location_0-expected.txt: Added.
* web-platform-tests/html/browsers/history/the-location-interface/security_location_0.htm: Added.
* web-platform-tests/html/browsers/history/the-location-interface/w3c-import.log:
* web-platform-tests/html/browsers/the-window-object/security-window/w3c-import.log:
* web-platform-tests/html/browsers/the-window-object/security-window/window-security-expected.txt: Added.
* web-platform-tests/html/browsers/the-window-object/security-window/window-security.html: Added.
* web-platform-tests/html/browsers/windows/nested-browsing-contexts/w3c-import.log:
* web-platform-tests/html/browsers/windows/w3c-import.log:
* web-platform-tests/html/dom/documents/dom-tree-accessors/Document.currentScript-expected.txt: Added.
* web-platform-tests/html/dom/documents/dom-tree-accessors/Document.currentScript.html: Added.
* web-platform-tests/html/dom/documents/dom-tree-accessors/w3c-import.log:
* web-platform-tests/html/semantics/document-metadata/the-base-element/base_href_specified-expected.txt: Added.
* web-platform-tests/html/semantics/document-metadata/the-base-element/base_href_specified.html: Added.
* web-platform-tests/html/semantics/document-metadata/the-base-element/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/the-img-element/data-url-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/data-url.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/usemap-casing-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/usemap-casing.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/the-object-element/usemap-casing-expected.txt: Added.
* web-platform-tests/html/semantics/embedded-content/the-object-element/usemap-casing.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-object-element/w3c-import.log:
* web-platform-tests/html/semantics/forms/the-input-element/radio-groupname-case-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/radio-groupname-case.html:
* web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-expected.txt:
* web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol.html:
* web-platform-tests/html/semantics/grouping-content/the-ol-element/ol.start-reflection-2-expected.txt:
* web-platform-tests/html/semantics/grouping-content/the-ol-element/ol.start-reflection-2.html:
* web-platform-tests/html/semantics/interactive-elements/the-details-element/w3c-import.log:
* web-platform-tests/html/semantics/scripting-1/the-script-element/data-url-expected.txt: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/data-url.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/w3c-import.log:
* web-platform-tests/html/webappapis/scripting/events/messageevent-constructor-expected.txt: Added.
* web-platform-tests/html/webappapis/scripting/events/messageevent-constructor.html: Added.
* web-platform-tests/html/webappapis/scripting/events/w3c-import.log:
* web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID-expected.txt:
* web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.js:
(run_test):
* web-platform-tests/lint.whitelist:
* web-platform-tests/url/setters_tests.json:
* web-platform-tests/url/url-setters-expected.txt:
* web-platform-tests/url/url-setters.html:
* web-platform-tests/w3c-import.log:
* web-platform-tests/webrtc/OWNERS: Added.
* web-platform-tests/webrtc/datachannel-emptystring.html: Added.
* web-platform-tests/webrtc/no-media-call.html: Added.
* web-platform-tests/webrtc/promises-call.html: Added.
* web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-constructor.html: Added.
* web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl.html: Added.
* web-platform-tests/webrtc/rtcpeerconnection/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/WebIDL/w3c-import.log.
* web-platform-tests/webrtc/simplecall.html: Added.
* web-platform-tests/webrtc/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/WebIDL/w3c-import.log.

LayoutTests:

* TestExpectations: Skipping webrtc tests for now.
* tests-options.json:

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

228 files changed:
LayoutTests/ChangeLog
LayoutTests/TestExpectations
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/resources/ImportExpectations
LayoutTests/imported/w3c/resources/TestRepositories
LayoutTests/imported/w3c/resources/resource-files.json
LayoutTests/imported/w3c/resources/web-platform-tests-modules.json
LayoutTests/imported/w3c/web-platform-tests/WebIDL/current-realm-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebIDL/current-realm.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/WebIDL/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/abort-during-open-expected.txt
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/abort-during-open.js
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/abort-event-abort-expected.txt
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/abort-event-abort.htm
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin.htm [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/open-during-abort-expected.txt
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/open-during-abort.htm
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-blob-with-no-mime-type-expected.txt
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-blob-with-no-mime-type.html
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-data-unexpected-tostring-expected.txt
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-data-unexpected-tostring.htm
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-non-same-origin-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-non-same-origin.htm [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/check_stability.py [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/ci_lint.sh [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/ci_stability.sh [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-click-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-click.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/events/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-contains-expected.txt
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-contains.html
LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-appendChild-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-appendChild.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-appendData-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-appendData.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-dataChange-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-dataChange.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-deleteData-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-deleteData.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-insertBefore-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-insertBefore.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-insertData-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-insertData.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-removeChild-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-removeChild.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-replaceChild-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-replaceChild.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-replaceData-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-replaceData.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-splitText-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-splitText.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations.js [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/ranges/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/drm-mp4-playback-retrieve-destroy-persistent-license.html
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/drm-mp4-playback-temporary-expired.html
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/resources/drm-retrieve-destroy-persistent-license.html
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/clearkey-update-non-ascii-input.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/generate-request-disallowed-input.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/invalid-license.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/onencrypted.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/playback-destroy-persistent-license.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/playback-persistent-license-events.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/playback-persistent-license.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/playback-persistent-usage-record-events.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/playback-persistent-usage-record.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/playback-retrieve-persistent-license.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/playback-retrieve-persistent-usage-record.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/playback-temporary-encrypted-clear-sources.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/playback-temporary-events.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/playback-temporary-expired.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/playback-temporary-multikey-sequential.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/playback-temporary-multisession.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/playback-temporary-setMediaKeys.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/playback-temporary-two-videos.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/playback-temporary-waitingforkey.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/playback-temporary.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/requestmediakeysystemaccess.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/setmediakeys-multiple-times-with-different-mediakeys.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/setmediakeys.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/syntax-mediakeysession.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/syntax-mediakeysystemaccess.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/update-disallowed-input.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/scripts/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/util/drm-messagehandler.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/util/testmediasource.js
LayoutTests/imported/w3c/web-platform-tests/encrypted-media/util/utils.js
LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/error-after-response.html
LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data-expected.txt
LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data-worker-expected.txt
LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/scheme-data.js
LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/text-utf8.html
LayoutTests/imported/w3c/web-platform-tests/fetch/api/basic/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-redirect.js
LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-basic.html
LayoutTests/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-expected.txt
LayoutTests/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count-worker-expected.txt
LayoutTests/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-count.js
LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/multi-globals/current/current.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/multi-globals/current/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/multi-globals/incumbent/incumbent.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/multi-globals/incumbent/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/multi-globals/url-parsing-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/multi-globals/url-parsing.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/multi-globals/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-consume-empty.html
LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/bad-chunk-encoding.py
LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/utils.js
LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/multi-globals/current/current.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/multi-globals/current/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/multi-globals/incumbent/incumbent.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/multi-globals/incumbent/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/multi-globals/relevant/relevant.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/multi-globals/relevant/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/multi-globals/url-parsing-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/multi-globals/url-parsing.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/multi-globals/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-clone-expected.txt
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-clone.html
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-consume-stream-expected.txt
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-consume-stream.html
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-consume.html
LayoutTests/imported/w3c/web-platform-tests/fonts/math/axisheight5000-verticalarrow14000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/fraction-axisheight7000-rulethickness1000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/fraction-denominatordisplaystylegapmin5000-rulethickness1000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/fraction-denominatordisplaystyleshiftdown6000-rulethickness1000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/fraction-denominatorgapmin4000-rulethickness1000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/fraction-denominatorshiftdown3000-rulethickness1000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/fraction-numeratordisplaystylegapmin8000-rulethickness1000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/fraction-numeratordisplaystyleshiftup2000-rulethickness1000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/fraction-numeratorgapmin9000-rulethickness1000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/fraction-numeratorshiftup11000-rulethickness1000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/fraction-rulethickness10000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/largeop-displayoperatorminheight5000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/limits-lowerlimitbaselinedropmin3000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/limits-lowerlimitgapmin11000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/limits-upperlimitbaselinerisemin5000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/limits-upperlimitgapmin7000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/lineheight5000-typolineheight2300.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/radical-degreebottomraisepercent25-rulethickness1000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/radical-displaystyleverticalgap7000-rulethickness1000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/radical-extraascender3000-rulethickness1000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/radical-kernafterdegreeminus5000-rulethickness1000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/radical-kernbeforedegree4000-rulethickness1000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/radical-rulethickness8000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/radical-verticalgap6000-rulethickness1000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/scripts-spaceafterscript3000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/scripts-subscriptbaselinedropmin9000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/scripts-subscriptshiftdown6000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/scripts-subscripttopmax4000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/scripts-subsuperscriptgapmin11000-superscriptbottommaxwithsubscript3000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/scripts-subsuperscriptgapmin11000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/scripts-superscriptbaselinedropmax10000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/scripts-superscriptbottommin8000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/scripts-superscriptshiftup7000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/scripts-superscriptshiftupcramped5000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/stack-axisheight7000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/stack-bottomdisplaystyleshiftdown5000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/stack-bottomshiftdown6000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/stack-displaystylegapmin4000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/stack-gapmin8000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/stack-topdisplaystyleshiftup3000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/stack-topshiftup9000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/stretchstack-bottomshiftdown3000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/stretchstack-gapabovemin7000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/stretchstack-gapbelowmin11000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/stretchstack-topshiftup5000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/underover-accentbaseheight4000-overbarextraascender3000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/underover-accentbaseheight4000-overbarverticalgap11000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/underover-accentbaseheight4000-underbarextradescender5000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/underover-accentbaseheight4000-underbarverticalgap7000.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/fonts/math/xheight500.woff [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/security_location_0-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/security_location_0.htm [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/browsers/history/the-location-interface/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/security-window/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/security-window/window-security-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/security-window/window-security.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/nested-browsing-contexts/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/Document.currentScript-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/Document.currentScript.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-base-element/base_href_specified-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-base-element/base_href_specified.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-base-element/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/data-url-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/data-url.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/usemap-casing-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/usemap-casing.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-object-element/usemap-casing-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-object-element/usemap-casing.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-object-element/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/radio-groupname-case-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/radio-groupname-case.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/grouping-content/the-ol-element/ol.start-reflection-2-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/grouping-content/the-ol-element/ol.start-reflection-2.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-details-element/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/data-url-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/data-url.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/html/webappapis/scripting/events/messageevent-constructor-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/webappapis/scripting/events/messageevent-constructor.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/webappapis/scripting/events/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.js
LayoutTests/imported/w3c/web-platform-tests/lint.whitelist
LayoutTests/imported/w3c/web-platform-tests/url/setters_tests.json
LayoutTests/imported/w3c/web-platform-tests/url/url-setters-expected.txt
LayoutTests/imported/w3c/web-platform-tests/url/url-setters.html
LayoutTests/imported/w3c/web-platform-tests/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/webrtc/OWNERS [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/webrtc/datachannel-emptystring.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/webrtc/no-media-call.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/webrtc/promises-call.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-constructor.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/webrtc/rtcpeerconnection/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/webrtc/simplecall.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/webrtc/w3c-import.log [new file with mode: 0644]
LayoutTests/tests-options.json

index 3ab8989..16cb1af 100644 (file)
@@ -1,3 +1,13 @@
+2016-10-26  Youenn Fablet  <youennf@gmail.com>
+
+        Refresh WPT tests up to 0acd8f6
+        https://bugs.webkit.org/show_bug.cgi?id=164009
+
+        Reviewed by Darin Adler.
+
+        * TestExpectations: Skipping webrtc tests for now.
+        * tests-options.json:
+
 2016-10-26  Chris Dumez  <cdumez@apple.com>
 
         [Web IDL] Add support for having string enumerations in their own IDL file
index 1fc1296..ba55b58 100644 (file)
@@ -976,3 +976,5 @@ imported/blink/http/tests/security/shape-image-cors-port.html [ ImageOnlyFailure
 webkit.org/b/163636 media/modern-media-controls/media-controller/media-controller-resize.html [ Pass Timeout ]
 
 webkit.org/b/163887 svg/as-image/svg-image-with-data-uri-use-data-uri.svg [ Pass Crash ]
+
+imported/w3c/web-platform-tests/webrtc [ Skip ]
index fb28795..9321443 100644 (file)
@@ -1,3 +1,276 @@
+2016-10-26  Youenn Fablet  <youennf@gmail.com>
+
+        Refresh WPT tests up to 0acd8f6
+        https://bugs.webkit.org/show_bug.cgi?id=164009
+
+        Reviewed by Darin Adler.
+
+        * resources/ImportExpectations:
+        * resources/TestRepositories:
+        * resources/resource-files.json:
+        * resources/web-platform-tests-modules.json:
+        * web-platform-tests/WebIDL/current-realm-expected.txt: Added.
+        * web-platform-tests/WebIDL/current-realm.html: Added.
+        * web-platform-tests/WebIDL/w3c-import.log:
+        * web-platform-tests/XMLHttpRequest/abort-during-open-expected.txt:
+        * web-platform-tests/XMLHttpRequest/abort-during-open.js:
+        (test.async_test.test.step):
+        * web-platform-tests/XMLHttpRequest/abort-event-abort-expected.txt:
+        * web-platform-tests/XMLHttpRequest/abort-event-abort.htm:
+        * web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin-expected.txt: Added.
+        * web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin.htm: Added.
+        * web-platform-tests/XMLHttpRequest/open-during-abort-expected.txt:
+        * web-platform-tests/XMLHttpRequest/open-during-abort.htm:
+        * web-platform-tests/XMLHttpRequest/send-blob-with-no-mime-type-expected.txt:
+        * web-platform-tests/XMLHttpRequest/send-blob-with-no-mime-type.html:
+        * web-platform-tests/XMLHttpRequest/send-data-unexpected-tostring-expected.txt:
+        * web-platform-tests/XMLHttpRequest/send-data-unexpected-tostring.htm:
+        * web-platform-tests/XMLHttpRequest/send-non-same-origin-expected.txt: Added.
+        * web-platform-tests/XMLHttpRequest/send-non-same-origin.htm: Added.
+        * web-platform-tests/XMLHttpRequest/w3c-import.log:
+        * web-platform-tests/check_stability.py: Added.
+        * web-platform-tests/ci_lint.sh: Added.
+        * web-platform-tests/ci_stability.sh: Added.
+        * web-platform-tests/config.json: Added.
+        * web-platform-tests/dom/events/Event-dispatch-click-expected.txt: Added.
+        * web-platform-tests/dom/events/Event-dispatch-click.html: Added.
+        * web-platform-tests/dom/events/w3c-import.log:
+        * web-platform-tests/dom/nodes/Node-contains-expected.txt:
+        * web-platform-tests/dom/nodes/Node-contains.html:
+        * web-platform-tests/dom/ranges/Range-mutations-appendChild-expected.txt: Added.
+        * web-platform-tests/dom/ranges/Range-mutations-appendChild.html: Added.
+        * web-platform-tests/dom/ranges/Range-mutations-appendData-expected.txt: Added.
+        * web-platform-tests/dom/ranges/Range-mutations-appendData.html: Added.
+        * web-platform-tests/dom/ranges/Range-mutations-dataChange-expected.txt: Added.
+        * web-platform-tests/dom/ranges/Range-mutations-dataChange.html: Added.
+        * web-platform-tests/dom/ranges/Range-mutations-deleteData-expected.txt: Added.
+        * web-platform-tests/dom/ranges/Range-mutations-deleteData.html: Added.
+        * web-platform-tests/dom/ranges/Range-mutations-insertBefore-expected.txt: Added.
+        * web-platform-tests/dom/ranges/Range-mutations-insertBefore.html: Added.
+        * web-platform-tests/dom/ranges/Range-mutations-insertData-expected.txt: Added.
+        * web-platform-tests/dom/ranges/Range-mutations-insertData.html: Added.
+        * web-platform-tests/dom/ranges/Range-mutations-removeChild-expected.txt: Added.
+        * web-platform-tests/dom/ranges/Range-mutations-removeChild.html: Added.
+        * web-platform-tests/dom/ranges/Range-mutations-replaceChild-expected.txt: Added.
+        * web-platform-tests/dom/ranges/Range-mutations-replaceChild.html: Added.
+        * web-platform-tests/dom/ranges/Range-mutations-replaceData-expected.txt: Added.
+        * web-platform-tests/dom/ranges/Range-mutations-replaceData.html: Added.
+        * web-platform-tests/dom/ranges/Range-mutations-splitText-expected.txt: Added.
+        * web-platform-tests/dom/ranges/Range-mutations-splitText.html: Added.
+        * web-platform-tests/dom/ranges/Range-mutations.js: Added.
+        * web-platform-tests/dom/ranges/w3c-import.log:
+        * web-platform-tests/encrypted-media/content/video_512x288_h264-360k_multikey_key1_dashinit.mp4: Added.
+        * web-platform-tests/encrypted-media/drm-mp4-playback-retrieve-destroy-persistent-license.html:
+        * web-platform-tests/encrypted-media/drm-mp4-playback-temporary-expired.html:
+        * web-platform-tests/encrypted-media/resources/drm-retrieve-destroy-persistent-license.html:
+        * web-platform-tests/encrypted-media/scripts/clearkey-update-non-ascii-input.js:
+        (runTest):
+        * web-platform-tests/encrypted-media/scripts/generate-request-disallowed-input.js:
+        (runTest):
+        * web-platform-tests/encrypted-media/scripts/invalid-license.js:
+        (runTest.):
+        (runTest):
+        * web-platform-tests/encrypted-media/scripts/onencrypted.js:
+        (runTest.):
+        (runTest):
+        * web-platform-tests/encrypted-media/scripts/playback-destroy-persistent-license.js:
+        (runTest):
+        * web-platform-tests/encrypted-media/scripts/playback-persistent-license-events.js:
+        (runTest):
+        * web-platform-tests/encrypted-media/scripts/playback-persistent-license.js:
+        (runTest):
+        * web-platform-tests/encrypted-media/scripts/playback-persistent-usage-record-events.js:
+        (runTest):
+        * web-platform-tests/encrypted-media/scripts/playback-persistent-usage-record.js:
+        (runTest):
+        * web-platform-tests/encrypted-media/scripts/playback-retrieve-persistent-license.js:
+        (runTest):
+        * web-platform-tests/encrypted-media/scripts/playback-retrieve-persistent-usage-record.js:
+        (runTest):
+        * web-platform-tests/encrypted-media/scripts/playback-temporary-encrypted-clear-sources.js:
+        (runTest):
+        * web-platform-tests/encrypted-media/scripts/playback-temporary-events.js:
+        (runTest):
+        * web-platform-tests/encrypted-media/scripts/playback-temporary-expired.js:
+        (runTest):
+        * web-platform-tests/encrypted-media/scripts/playback-temporary-multikey-sequential.js:
+        (runTest):
+        * web-platform-tests/encrypted-media/scripts/playback-temporary-multisession.js:
+        (runTest):
+        * web-platform-tests/encrypted-media/scripts/playback-temporary-setMediaKeys.js:
+        (runTest):
+        * web-platform-tests/encrypted-media/scripts/playback-temporary-two-videos.js:
+        (runTest):
+        * web-platform-tests/encrypted-media/scripts/playback-temporary-waitingforkey.js:
+        (runTest):
+        * web-platform-tests/encrypted-media/scripts/playback-temporary.js:
+        (runTest):
+        * web-platform-tests/encrypted-media/scripts/requestmediakeysystemaccess.js:
+        (expect_error):
+        * web-platform-tests/encrypted-media/scripts/setmediakeys-multiple-times-with-different-mediakeys.js:
+        (runTest):
+        * web-platform-tests/encrypted-media/scripts/setmediakeys.js:
+        (runTest):
+        * web-platform-tests/encrypted-media/scripts/syntax-mediakeysession.js:
+        (runTest.test_generateRequest):
+        (runTest.create_remove_exception_test):
+        * web-platform-tests/encrypted-media/scripts/syntax-mediakeysystemaccess.js:
+        (runTest.func):
+        * web-platform-tests/encrypted-media/scripts/update-disallowed-input.js:
+        (runTest.):
+        (runTest):
+        * web-platform-tests/encrypted-media/scripts/w3c-import.log:
+        * web-platform-tests/encrypted-media/util/drm-messagehandler.js:
+        * web-platform-tests/encrypted-media/util/testmediasource.js:
+        (testmediasource.):
+        (testmediasource):
+        * web-platform-tests/encrypted-media/util/utils.js:
+        * web-platform-tests/fetch/api/basic/error-after-response.html:
+        * web-platform-tests/fetch/api/basic/scheme-data-expected.txt:
+        * web-platform-tests/fetch/api/basic/scheme-data-worker-expected.txt:
+        * web-platform-tests/fetch/api/basic/scheme-data.js:
+        (checkFetchResponse):
+        * web-platform-tests/fetch/api/basic/text-utf8.html:
+        * web-platform-tests/fetch/api/basic/w3c-import.log:
+        * web-platform-tests/fetch/api/cors/cors-redirect.js:
+        (corsRedirect):
+        * web-platform-tests/fetch/api/headers/headers-basic.html:
+        * web-platform-tests/fetch/api/redirect/redirect-count-expected.txt:
+        * web-platform-tests/fetch/api/redirect/redirect-count-worker-expected.txt:
+        * web-platform-tests/fetch/api/redirect/redirect-count.js:
+        (redirectCount):
+        * web-platform-tests/fetch/api/request/multi-globals/current/current.html: Added.
+        * web-platform-tests/fetch/api/request/multi-globals/current/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/security-window/w3c-import.log.
+        * web-platform-tests/fetch/api/request/multi-globals/incumbent/incumbent.html: Added.
+        * web-platform-tests/fetch/api/request/multi-globals/incumbent/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/security-window/w3c-import.log.
+        * web-platform-tests/fetch/api/request/multi-globals/url-parsing-expected.txt: Added.
+        * web-platform-tests/fetch/api/request/multi-globals/url-parsing.html: Added.
+        * web-platform-tests/fetch/api/request/multi-globals/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/security-window/w3c-import.log.
+        * web-platform-tests/fetch/api/request/request-consume-empty.html:
+        * web-platform-tests/fetch/api/request/w3c-import.log:
+        * web-platform-tests/fetch/api/resources/bad-chunk-encoding.py:
+        (main):
+        * web-platform-tests/fetch/api/resources/utils.js:
+        (encode_utf8):
+        * web-platform-tests/fetch/api/resources/w3c-import.log:
+        * web-platform-tests/fetch/api/response/multi-globals/current/current.html: Added.
+        * web-platform-tests/fetch/api/response/multi-globals/current/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/security-window/w3c-import.log.
+        * web-platform-tests/fetch/api/response/multi-globals/incumbent/incumbent.html: Added.
+        * web-platform-tests/fetch/api/response/multi-globals/incumbent/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/security-window/w3c-import.log.
+        * web-platform-tests/fetch/api/response/multi-globals/relevant/relevant.html: Added.
+        * web-platform-tests/fetch/api/response/multi-globals/relevant/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/security-window/w3c-import.log.
+        * web-platform-tests/fetch/api/response/multi-globals/url-parsing-expected.txt: Added.
+        * web-platform-tests/fetch/api/response/multi-globals/url-parsing.html: Added.
+        * web-platform-tests/fetch/api/response/multi-globals/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/browsers/the-window-object/security-window/w3c-import.log.
+        * web-platform-tests/fetch/api/response/response-clone-expected.txt:
+        * web-platform-tests/fetch/api/response/response-clone.html:
+        * web-platform-tests/fetch/api/response/response-consume-stream-expected.txt:
+        * web-platform-tests/fetch/api/response/response-consume-stream.html:
+        * web-platform-tests/fetch/api/response/response-consume.html:
+        * web-platform-tests/fonts/math/axisheight5000-verticalarrow14000.woff: Added.
+        * web-platform-tests/fonts/math/fraction-axisheight7000-rulethickness1000.woff: Added.
+        * web-platform-tests/fonts/math/fraction-denominatordisplaystylegapmin5000-rulethickness1000.woff: Added.
+        * web-platform-tests/fonts/math/fraction-denominatordisplaystyleshiftdown6000-rulethickness1000.woff: Added.
+        * web-platform-tests/fonts/math/fraction-denominatorgapmin4000-rulethickness1000.woff: Added.
+        * web-platform-tests/fonts/math/fraction-denominatorshiftdown3000-rulethickness1000.woff: Added.
+        * web-platform-tests/fonts/math/fraction-numeratordisplaystylegapmin8000-rulethickness1000.woff: Added.
+        * web-platform-tests/fonts/math/fraction-numeratordisplaystyleshiftup2000-rulethickness1000.woff: Added.
+        * web-platform-tests/fonts/math/fraction-numeratorgapmin9000-rulethickness1000.woff: Added.
+        * web-platform-tests/fonts/math/fraction-numeratorshiftup11000-rulethickness1000.woff: Added.
+        * web-platform-tests/fonts/math/fraction-rulethickness10000.woff: Added.
+        * web-platform-tests/fonts/math/largeop-displayoperatorminheight5000.woff: Added.
+        * web-platform-tests/fonts/math/limits-lowerlimitbaselinedropmin3000.woff: Added.
+        * web-platform-tests/fonts/math/limits-lowerlimitgapmin11000.woff: Added.
+        * web-platform-tests/fonts/math/limits-upperlimitbaselinerisemin5000.woff: Added.
+        * web-platform-tests/fonts/math/limits-upperlimitgapmin7000.woff: Added.
+        * web-platform-tests/fonts/math/lineheight5000-typolineheight2300.woff: Added.
+        * web-platform-tests/fonts/math/radical-degreebottomraisepercent25-rulethickness1000.woff: Added.
+        * web-platform-tests/fonts/math/radical-displaystyleverticalgap7000-rulethickness1000.woff: Added.
+        * web-platform-tests/fonts/math/radical-extraascender3000-rulethickness1000.woff: Added.
+        * web-platform-tests/fonts/math/radical-kernafterdegreeminus5000-rulethickness1000.woff: Added.
+        * web-platform-tests/fonts/math/radical-kernbeforedegree4000-rulethickness1000.woff: Added.
+        * web-platform-tests/fonts/math/radical-rulethickness8000.woff: Added.
+        * web-platform-tests/fonts/math/radical-verticalgap6000-rulethickness1000.woff: Added.
+        * web-platform-tests/fonts/math/scripts-spaceafterscript3000.woff: Added.
+        * web-platform-tests/fonts/math/scripts-subscriptbaselinedropmin9000.woff: Added.
+        * web-platform-tests/fonts/math/scripts-subscriptshiftdown6000.woff: Added.
+        * web-platform-tests/fonts/math/scripts-subscripttopmax4000.woff: Added.
+        * web-platform-tests/fonts/math/scripts-subsuperscriptgapmin11000-superscriptbottommaxwithsubscript3000.woff: Added.
+        * web-platform-tests/fonts/math/scripts-subsuperscriptgapmin11000.woff: Added.
+        * web-platform-tests/fonts/math/scripts-superscriptbaselinedropmax10000.woff: Added.
+        * web-platform-tests/fonts/math/scripts-superscriptbottommin8000.woff: Added.
+        * web-platform-tests/fonts/math/scripts-superscriptshiftup7000.woff: Added.
+        * web-platform-tests/fonts/math/scripts-superscriptshiftupcramped5000.woff: Added.
+        * web-platform-tests/fonts/math/stack-axisheight7000.woff: Added.
+        * web-platform-tests/fonts/math/stack-bottomdisplaystyleshiftdown5000.woff: Added.
+        * web-platform-tests/fonts/math/stack-bottomshiftdown6000.woff: Added.
+        * web-platform-tests/fonts/math/stack-displaystylegapmin4000.woff: Added.
+        * web-platform-tests/fonts/math/stack-gapmin8000.woff: Added.
+        * web-platform-tests/fonts/math/stack-topdisplaystyleshiftup3000.woff: Added.
+        * web-platform-tests/fonts/math/stack-topshiftup9000.woff: Added.
+        * web-platform-tests/fonts/math/stretchstack-bottomshiftdown3000.woff: Added.
+        * web-platform-tests/fonts/math/stretchstack-gapabovemin7000.woff: Added.
+        * web-platform-tests/fonts/math/stretchstack-gapbelowmin11000.woff: Added.
+        * web-platform-tests/fonts/math/stretchstack-topshiftup5000.woff: Added.
+        * web-platform-tests/fonts/math/underover-accentbaseheight4000-overbarextraascender3000.woff: Added.
+        * web-platform-tests/fonts/math/underover-accentbaseheight4000-overbarverticalgap11000.woff: Added.
+        * web-platform-tests/fonts/math/underover-accentbaseheight4000-underbarextradescender5000.woff: Added.
+        * web-platform-tests/fonts/math/underover-accentbaseheight4000-underbarverticalgap7000.woff: Added.
+        * web-platform-tests/fonts/math/w3c-import.log: Added.
+        * web-platform-tests/fonts/math/xheight500.woff: Added.
+        * web-platform-tests/html/browsers/history/the-location-interface/security_location_0-expected.txt: Added.
+        * web-platform-tests/html/browsers/history/the-location-interface/security_location_0.htm: Added.
+        * web-platform-tests/html/browsers/history/the-location-interface/w3c-import.log:
+        * web-platform-tests/html/browsers/the-window-object/security-window/w3c-import.log:
+        * web-platform-tests/html/browsers/the-window-object/security-window/window-security-expected.txt: Added.
+        * web-platform-tests/html/browsers/the-window-object/security-window/window-security.html: Added.
+        * web-platform-tests/html/browsers/windows/nested-browsing-contexts/w3c-import.log:
+        * web-platform-tests/html/browsers/windows/w3c-import.log:
+        * web-platform-tests/html/dom/documents/dom-tree-accessors/Document.currentScript-expected.txt: Added.
+        * web-platform-tests/html/dom/documents/dom-tree-accessors/Document.currentScript.html: Added.
+        * web-platform-tests/html/dom/documents/dom-tree-accessors/w3c-import.log:
+        * web-platform-tests/html/semantics/document-metadata/the-base-element/base_href_specified-expected.txt: Added.
+        * web-platform-tests/html/semantics/document-metadata/the-base-element/base_href_specified.html: Added.
+        * web-platform-tests/html/semantics/document-metadata/the-base-element/w3c-import.log:
+        * web-platform-tests/html/semantics/embedded-content/the-img-element/data-url-expected.txt: Added.
+        * web-platform-tests/html/semantics/embedded-content/the-img-element/data-url.html: Added.
+        * web-platform-tests/html/semantics/embedded-content/the-img-element/usemap-casing-expected.txt: Added.
+        * web-platform-tests/html/semantics/embedded-content/the-img-element/usemap-casing.html: Added.
+        * web-platform-tests/html/semantics/embedded-content/the-img-element/w3c-import.log:
+        * web-platform-tests/html/semantics/embedded-content/the-object-element/usemap-casing-expected.txt: Added.
+        * web-platform-tests/html/semantics/embedded-content/the-object-element/usemap-casing.html: Added.
+        * web-platform-tests/html/semantics/embedded-content/the-object-element/w3c-import.log:
+        * web-platform-tests/html/semantics/forms/the-input-element/radio-groupname-case-expected.txt:
+        * web-platform-tests/html/semantics/forms/the-input-element/radio-groupname-case.html:
+        * web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol-expected.txt:
+        * web-platform-tests/html/semantics/grouping-content/the-ol-element/grouping-ol.html:
+        * web-platform-tests/html/semantics/grouping-content/the-ol-element/ol.start-reflection-2-expected.txt:
+        * web-platform-tests/html/semantics/grouping-content/the-ol-element/ol.start-reflection-2.html:
+        * web-platform-tests/html/semantics/interactive-elements/the-details-element/w3c-import.log:
+        * web-platform-tests/html/semantics/scripting-1/the-script-element/data-url-expected.txt: Added.
+        * web-platform-tests/html/semantics/scripting-1/the-script-element/data-url.html: Added.
+        * web-platform-tests/html/semantics/scripting-1/the-script-element/w3c-import.log:
+        * web-platform-tests/html/webappapis/scripting/events/messageevent-constructor-expected.txt: Added.
+        * web-platform-tests/html/webappapis/scripting/events/messageevent-constructor.html: Added.
+        * web-platform-tests/html/webappapis/scripting/events/w3c-import.log:
+        * web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID-expected.txt:
+        * web-platform-tests/html/webappapis/system-state-and-capabilities/the-navigator-object/NavigatorID.js:
+        (run_test):
+        * web-platform-tests/lint.whitelist:
+        * web-platform-tests/url/setters_tests.json:
+        * web-platform-tests/url/url-setters-expected.txt:
+        * web-platform-tests/url/url-setters.html:
+        * web-platform-tests/w3c-import.log:
+        * web-platform-tests/webrtc/OWNERS: Added.
+        * web-platform-tests/webrtc/datachannel-emptystring.html: Added.
+        * web-platform-tests/webrtc/no-media-call.html: Added.
+        * web-platform-tests/webrtc/promises-call.html: Added.
+        * web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-constructor.html: Added.
+        * web-platform-tests/webrtc/rtcpeerconnection/rtcpeerconnection-idl.html: Added.
+        * web-platform-tests/webrtc/rtcpeerconnection/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/WebIDL/w3c-import.log.
+        * web-platform-tests/webrtc/simplecall.html: Added.
+        * web-platform-tests/webrtc/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/WebIDL/w3c-import.log.
+
 2016-10-25  Ryosuke Niwa  <rniwa@webkit.org>
 
         Updating attribute by textContent must create a single mutation record and custom element reaction
index 9914ec7..70bcc97 100644 (file)
@@ -173,6 +173,8 @@ web-platform-tests/html/browsers/history/the-location-interface/location_assign.
 web-platform-tests/html/browsers/offline/application-cache-api [ Skip ]
 web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.sub.html [ Skip ]
 web-platform-tests/html/browsers/windows/browsing-context-first-created.xhtml [ Skip ]
+web-platform-tests/html/browsers/windows/nested-browsing-contexts/frameElement.html [ Skip ]
+web-platform-tests/html/browsers/windows/targeting-cross-origin-nested-browsing-contexts.html [ Skip ]
 web-platform-tests/html/dom/documents/dom-tree-accessors/Document.currentScript.sub.html [ Skip ]
 web-platform-tests/html/dom/elements/requirements-relating-to-bidirectional-algorithm-formatting-characters [ Skip ]
 web-platform-tests/html/dom/reflection-original.html [ Skip ] # Not a test file
@@ -230,6 +232,7 @@ web-platform-tests/infrastructure [ Skip ]
 web-platform-tests/innerText [ Skip ]
 web-platform-tests/input-events [ Skip ]
 web-platform-tests/js [ Skip ]
+web-platform-tests/mathml [ Skip ]
 web-platform-tests/mediacapture-record [ Skip ]
 web-platform-tests/mediacapture-streams [ Skip ]
 web-platform-tests/microdata [ Skip ]
@@ -272,7 +275,7 @@ web-platform-tests/webauthn [ Skip ]
 web-platform-tests/webdriver [ Skip ]
 web-platform-tests/webgl [ Skip ]
 web-platform-tests/webmessaging [ Skip ]
-web-platform-tests/webrtc [ Skip ]
+#web-platform-tests/webrtc [ Pass ]
 web-platform-tests/websockets [ Skip ]
 web-platform-tests/webstorage [ Skip ]
 web-platform-tests/webvtt [ Skip ]
index 10b3c1b..cda00ca 100644 (file)
@@ -15,7 +15,7 @@
     {
         "name": "web-platform-tests",
         "url": "https://github.com/w3c/web-platform-tests.git", 
-        "revision": "33f4da1",
+        "revision": "0acd8f6",
         "paths_to_skip": [
             "conformance-checkers",
             "docs",
index f0e491b..e688284 100644 (file)
         "web-platform-tests/dom/nodes/ParentNode-querySelector-All-content.xht",
         "web-platform-tests/dom/nodes/getElementsByClassNameFrame.htm",
         "web-platform-tests/dom/ranges/Range-test-iframe.html",
+        "web-platform-tests/fetch/api/request/multi-globals/current/current.html",
+        "web-platform-tests/fetch/api/request/multi-globals/incumbent/incumbent.html",
+        "web-platform-tests/fetch/api/response/multi-globals/current/current.html",
+        "web-platform-tests/fetch/api/response/multi-globals/incumbent/incumbent.html",
+        "web-platform-tests/fetch/api/response/multi-globals/relevant/relevant.html",
         "web-platform-tests/html/browsers/browsing-the-web/history-traversal/001-1.html",
         "web-platform-tests/html/browsers/browsing-the-web/history-traversal/001-2.html",
         "web-platform-tests/html/browsers/browsing-the-web/history-traversal/browsing_context_name-1.html",
         "web-platform-tests/html/syntax/parsing/foreign_content_011.html",
         "web-platform-tests/html/syntax/parsing/foreign_content_013.html",
         "web-platform-tests/html/webappapis/scripting/events/onerroreventhandler-frame.html",
+        "web-platform-tests/mathml/relations/html5-tree/unique-identifier-1-iframe.html",
         "web-platform-tests/resource-timing/iframe-setdomain.sub.html"
     ]
 }
\ No newline at end of file
index 7de8d79..0e11ee4 100644 (file)
@@ -3,8 +3,8 @@
         "path": [
             "resources"
         ], 
-        "url": "https://github.com/w3c/testharness.js/archive/e810600306d0612c609c8daab606229a11061627.tar.gz", 
-        "url_subpath": "testharness.js-e810600306d0612c609c8daab606229a11061627"
+        "url": "https://github.com/w3c/testharness.js/archive/873f9680aff66553f84d38f21a038c4534cc2789.tar.gz", 
+        "url_subpath": "testharness.js-873f9680aff66553f84d38f21a038c4534cc2789"
     }, 
     {
         "path": [
@@ -28,8 +28,8 @@
         "path": [
             "tools"
         ], 
-        "url": "https://github.com/w3c/wpt-tools/archive/5b4013ffae79602a0a633b6551d247bccb49ac8a.tar.gz", 
-        "url_subpath": "wpt-tools-5b4013ffae79602a0a633b6551d247bccb49ac8a"
+        "url": "https://github.com/w3c/wpt-tools/archive/cf9748586c2bca14998eda5956be6cf4d6d221d9.tar.gz", 
+        "url_subpath": "wpt-tools-cf9748586c2bca14998eda5956be6cf4d6d221d9"
     }, 
     {
         "path": [
diff --git a/LayoutTests/imported/w3c/web-platform-tests/WebIDL/current-realm-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/WebIDL/current-realm-expected.txt
new file mode 100644 (file)
index 0000000..febedb3
--- /dev/null
@@ -0,0 +1,33 @@
+
+PASS querySelectorAll 
+PASS createElement 
+PASS createElementNS 
+PASS createDocumentFragment 
+PASS createTextNode 
+PASS createComment 
+PASS createProcessingInstruction 
+PASS createAttribute 
+PASS createAttributeNS 
+PASS createEvent 
+PASS createRange 
+PASS createNodeIterator 
+PASS createTreeWalker 
+PASS getElementsByTagName 
+PASS getElementsByTagNameNS 
+PASS getElementsByClassName 
+PASS createDocumentType 
+PASS createDocument 
+PASS createHTMLDocument 
+PASS NamedNodeMap item 
+PASS NamedNodeMap getNamedItem 
+PASS NamedNodeMap getNamedItemNS 
+PASS splitText 
+PASS extractContents 
+PASS cloneContents 
+PASS cloneRange 
+PASS getContext 2d 
+PASS getContext webgl 
+PASS createImageData 
+PASS getImageData 
+FAIL FontFace's load() The string did not match the expected pattern.
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/WebIDL/current-realm.html b/LayoutTests/imported/w3c/web-platform-tests/WebIDL/current-realm.html
new file mode 100644 (file)
index 0000000..370994b
--- /dev/null
@@ -0,0 +1,145 @@
+<!--  This tests the agreed upon outcome for https://www.w3.org/Bugs/Public/show_bug.cgi?id=24652
+     that has not been reflected in the IDL standard yet due to lack of editing resources.
+
+     TODO: https://github.com/w3c/webcrypto/issues/85  -->
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>Current Realm</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<iframe srcdoc="<body test>"></iframe>
+<script>
+ setup({explicit_done:true})
+
+ function isObjectFromGlobal(object, global) {
+   return object instanceof global.Object;
+ }
+ function assert_global(obj) {
+   assert_false(isObjectFromGlobal(obj, self), obj + " should not be from top-level Realm")
+   assert_true(isObjectFromGlobal(obj, self[0]), obj + " should be from <iframe> Realm")
+ }
+
+ onload = function() {
+   [["querySelectorAll", "test"],
+    ["createElement", "x"],
+    ["createElementNS", null, "x"],
+    ["createDocumentFragment"],
+    ["createTextNode", "test"],
+    ["createComment", "test"],
+    ["createProcessingInstruction", "x", "x"],
+    ["createAttribute", "x"],
+    ["createAttributeNS", "x", "x"],
+    ["createEvent", "Event"],
+    ["createRange"],
+    ["createNodeIterator", document.head],
+    ["createTreeWalker", document.head]].forEach(function(val) {
+     test(function() {
+       var obj = self[0].document[val[0]](val[1], val[2])
+       assert_global(obj)
+
+       obj = Document.prototype[val[0]].call(self[0].document, val[1], val[2])
+       assert_global(obj)
+     }, val[0])
+   })
+
+   // Note: these are not [NewObject] and can be cached. But across globals?
+   ;[["getElementsByTagName", "x"],
+     ["getElementsByTagNameNS", null, "x"],
+     ["getElementsByClassName", "x"]].forEach(function(val) {
+     test(function() {
+       var obj = self[0].document[val[0]](val[1], val[2])
+       assert_global(obj)
+
+       var obj2 = Document.prototype[val[0]].call(self[0].document, val[1], val[2])
+       assert_global(obj)
+
+       assert_equals(obj, obj2) // XXX this might be controversial
+     }, val[0])
+   })
+
+   ;[["createDocumentType", "x", "", ""],
+     ["createDocument", null, "", null],
+     ["createHTMLDocument", "x"]].forEach(function(val) {
+     test(function() {
+       var obj = self[0].document.implementation[val[0]](val[1], val[2], val[3])
+       assert_global(obj)
+
+       obj = DOMImplementation.prototype[val[0]].call(self[0].document.implementation, val[1], val[2], val[3])
+       assert_global(obj)
+     }, val[0])
+   })
+
+   ;[["item", 0],
+     ["getNamedItem", "test"],
+     ["getNamedItemNS", null, "test"]].forEach(function(val) {
+     test(function() {
+       var obj = self[0].document.body.attributes[val[0]](val[1], val[2])
+       assert_global(obj)
+
+       var obj2 = NamedNodeMap.prototype[val[0]].call(self[0].document.body.attributes, val[1], val[2])
+       assert_global(obj)
+
+       assert_equals(obj, obj2)
+     }, "NamedNodeMap " + val[0])
+   })
+
+   test(function() {
+     var c = self[0].document.createTextNode(""),
+         obj = c.splitText(0)
+     assert_global(obj)
+
+     obj = Text.prototype.splitText.call(c, "")
+     assert_global(obj)
+   }, "splitText")
+
+   ;["extractContents",
+     "cloneContents",
+     "cloneRange"].forEach(function(val) {
+     test(function() {
+       var c = self[0].document.createRange(),
+           obj = c[val]()
+       assert_global(obj)
+
+       obj = Range.prototype[val].call(c)
+       assert_global(obj)
+     }, val)
+   })
+
+   ;["2d", "webgl"].forEach(function(val) {
+     test(function() {
+       var c = self[0].document.createElement("canvas"),
+           obj = c.getContext(val)
+       assert_global(obj)
+
+       obj = HTMLCanvasElement.prototype.getContext.call(c, val)
+       assert_global(obj)
+     }, "getContext " + val)
+   })
+
+   ;[["createImageData", 5, 5],
+     ["getImageData", 5, 5, 5, 5]].forEach(function(val) {
+     test(function() {
+       var c = self[0].document.createElement("canvas").getContext("2d"),
+           obj = c[val[0]](val[1], val[2], val[3], val[4]);
+       assert_global(obj)
+       assert_global(obj.data)
+
+       obj = CanvasRenderingContext2D.prototype[val[0]].call(c, val[1], val[2], val[3], val[4]);
+       assert_global(obj)
+       assert_global(obj.data)
+     }, val[0])
+   })
+
+   test(function() {
+     var c = new self[0].FontFace("test", "about:blank"),
+         obj = c.load()
+     assert_global(obj)
+
+     obj = FontFace.prototype.load.call(c)
+     assert_global(obj)
+   }, "FontFace's load()")
+
+   done()
+ }
+</script>
index 1f2a1eb..feeb4f2 100644 (file)
@@ -15,5 +15,6 @@ Property values requiring vendor prefixes:
 None
 ------------------------------------------------------------------------
 List of files:
+/LayoutTests/imported/w3c/web-platform-tests/WebIDL/current-realm.html
 /LayoutTests/imported/w3c/web-platform-tests/WebIDL/readme.txt
 /LayoutTests/imported/w3c/web-platform-tests/WebIDL/testable_assertions.txt
index 4ddb84f..381a0bf 100644 (file)
@@ -7,8 +7,8 @@ test.step(function() {
       assert_unreached()
     })
   }
+  assert_equals(client.readyState, 1, "before abort()")
   client.abort()
-  assert_equals(client.readyState, 0)
-  assert_throws("InvalidStateError", function() { client.send("test") }, "calling send() after abort()")
+  assert_equals(client.readyState, 1, "after abort()")
 })
 test.done()
index 9ae6c02..9f48b94 100644 (file)
@@ -1,3 +1,3 @@
 
-PASS XMLHttpRequest: The abort() method: do not fire abort event in OPENED state when send() flag is unset. send() throws after abort(). 
+FAIL XMLHttpRequest: The abort() method: do not fire abort event in OPENED state when send() flag is unset. assert_equals: abort() cannot change readyState when readyState is 1 and send() flag is unset expected 1 but got 0
 
index 2382241..eb2b2b7 100644 (file)
@@ -4,7 +4,7 @@
     <link rel="help" href="https://xhr.spec.whatwg.org/#the-abort()-method" data-tested-assertations="following-sibling::ol/li[4]/ol/li[5]" />
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <title>XMLHttpRequest: The abort() method: do not fire abort event in OPENED state when send() flag is unset. send() throws after abort().</title>
+    <title>XMLHttpRequest: The abort() method: do not fire abort event in OPENED state when send() flag is unset.</title>
 </head>
 
 <body>
@@ -24,6 +24,7 @@
                     if (xhr.readyState == 1)
                     {
                         xhr.abort();
+                        assert_equals(xhr.readyState, 1, "abort() cannot change readyState when readyState is 1 and send() flag is unset")
                     }
                 });
             };
@@ -37,7 +38,7 @@
             };
 
             xhr.open("GET", "./resources/content.py", true); // This should cause a readystatechange event that calls abort()
-            assert_throws("InvalidStateError", function(){ xhr.send() })
+            xhr.send() // should not throw since abort() was a no-op
             test.done()
         });
     </script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin-expected.txt
new file mode 100644 (file)
index 0000000..335a348
--- /dev/null
@@ -0,0 +1,3 @@
+
+PASS XMLHttpRequest: upload progress event for cross-origin requests 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin.htm b/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin.htm
new file mode 100644 (file)
index 0000000..6646168
--- /dev/null
@@ -0,0 +1,27 @@
+<!doctype html>
+<html lang=en>
+<meta charset=utf-8>
+<title>XMLHttpRequest: upload progress event for cross-origin requests</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+    <link rel="help" href="https://xhr.spec.whatwg.org/#handler-xhr-onprogress" data-tested-assertations="../.." />
+    <link rel="help" href="https://xhr.spec.whatwg.org/#the-send()-method" data-tested-assertations="following::*//a[contains(@href,'#make-upload-progress-notifications')] following::ol[1]/li[8]" />
+    <link rel="help" href="https://xhr.spec.whatwg.org/#make-upload-progress-notifications" data-tested-assertations=".. ../following::ul/li[1]" />
+    <link rel="help" href="https://xhr.spec.whatwg.org/#dom-xmlhttprequest-upload" data-tested-assertations=".." />
+
+<div id="log"></div>
+<script src="/common/get-host-info.sub.js"></script>
+<script>
+  var test = async_test();
+  test.step(function() {
+    var client = new XMLHttpRequest();
+    client.upload.onprogress = test.step_func(function() {
+      test.done();
+    });
+    client.onload = test.step_func(function() {
+      assert_unreached("onprogress not called.");
+    });
+    client.open("POST", get_host_info().HTTP_REMOTE_ORIGIN + "/XMLHttpRequest/resources/corsenabled.py");
+    client.send("This is a test string.");
+  });
+</script>
index 1d01415..d03ca7a 100644 (file)
@@ -26,6 +26,7 @@
         abort_flag = true
         client.abort()
         assert_array_equals(result, expected)
+        assert_equals(client.readyState, 1) // abort() should only set state to UNSENT when DONE
       })
     </script>
   </body>
index 24da380..94e9917 100644 (file)
@@ -1,6 +1,10 @@
 
-FAIL Synchronous blob loading with no mime type assert_equals: expected "NO" but got ""
-FAIL Asynchronous blob loading with no mime type assert_equals: expected "NO" but got ""
-FAIL Synchronous blob loading with invalid mime type assert_equals: expected "NO" but got ""
-FAIL Asynchronous blob loading with invalid mime type assert_equals: expected "NO" but got ""
+FAIL Synchronous blob loading with no mime type [POST] assert_equals: expected "NO" but got ""
+FAIL Asynchronous blob loading with no mime type [POST] assert_equals: expected "NO" but got ""
+FAIL Synchronous blob loading with no mime type [PUT] assert_equals: expected "NO" but got ""
+FAIL Asynchronous blob loading with no mime type [PUT] assert_equals: expected "NO" but got ""
+FAIL Synchronous blob loading with invalid mime type [POST] assert_equals: expected "NO" but got ""
+FAIL Asynchronous blob loading with invalid mime type [POST] assert_equals: expected "NO" but got ""
+FAIL Synchronous blob loading with invalid mime type [PUT] assert_equals: expected "NO" but got ""
+FAIL Asynchronous blob loading with invalid mime type [PUT] assert_equals: expected "NO" but got ""
 
index 98fef65..e7ab989 100644 (file)
             ["invalid mime type", new Blob(["data"], {type: "Invalid \r\n mime \r\n type"})]
         ];
 
-        blobTests.forEach(function(item){
+        function doSyncTest(testItem, method) {
             test(function() {
                 var xhr = new XMLHttpRequest();
-                xhr.open("POST", "./resources/content.py", false);
-                xhr.send(item[1]);
+                xhr.open(method, "./resources/content.py", false);
+                xhr.send(testItem[1]);
 
                 assert_equals(xhr.getResponseHeader("X-Request-Content-Length"), "4");
                 assert_equals(xhr.getResponseHeader("X-Request-Content-Type"), "NO");
-            }, "Synchronous blob loading with " + item[0]);
+            }, "Synchronous blob loading with " + testItem[0] + " [" + method + "]");
+        }
 
-            var atest = async_test("Asynchronous blob loading with " + item[0]);
+        function doAsyncTest(testItem, method) {
+            var atest = async_test("Asynchronous blob loading with " + testItem[0] + " [" + method + "]");
             atest.step(function() {
                 var xhr = new XMLHttpRequest();
                 xhr.onreadystatechange = function() {
                         atest.done();
                     }
                 }
-                xhr.open("POST", "./resources/content.py", true);
-                xhr.send(item[1]);
+                xhr.open(method, "./resources/content.py", true);
+                xhr.send(testItem[1]);
             });
+        }
+
+        blobTests.forEach(function(item){
+            doSyncTest(item, "POST");
+            doAsyncTest(item, "POST");
+
+            doSyncTest(item, "PUT");
+            doAsyncTest(item, "PUT");
         });
     </script>
 </body>
index 563198b..aaaa48e 100644 (file)
@@ -1,5 +1,5 @@
 
-PASS abort() called from data stringification 
+FAIL abort() called from data stringification The object is in an invalid state.
 PASS open() called from data stringification 
 PASS send() called from data stringification 
 
index 357a9cf..b8a3b4a 100644 (file)
@@ -17,9 +17,8 @@
       client.abort();
     }}
     client.open('POST', 'resources/content.py')
-    assert_throws("InvalidStateError", function(){
-      client.send(objAbortsOnStringification)
-    })
+    client.send(objAbortsOnStringification)
+    assert_equals(client.readyState, 1)
     test1.done()
   });
 
diff --git a/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-non-same-origin-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-non-same-origin-expected.txt
new file mode 100644 (file)
index 0000000..c3e2a8a
--- /dev/null
@@ -0,0 +1,12 @@
+CONSOLE MESSAGE: line 23: XMLHttpRequest cannot load mailto:test@example.org. Cross origin requests are only supported for HTTP.
+CONSOLE MESSAGE: line 23: XMLHttpRequest cannot load tel:+31600000000. Cross origin requests are only supported for HTTP.
+CONSOLE MESSAGE: line 23: XMLHttpRequest cannot load http://127.0.0.1:8800/. Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
+CONSOLE MESSAGE: line 23: XMLHttpRequest cannot load javascript:alert('FAIL'). Cross origin requests are only supported for HTTP.
+CONSOLE MESSAGE: line 23: XMLHttpRequest cannot load http://127.0.0.1:8800/folder.txt. Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
+
+PASS XMLHttpRequest: send() - non same-origin (mailto:test@example.org) 
+PASS XMLHttpRequest: send() - non same-origin (tel:+31600000000) 
+PASS XMLHttpRequest: send() - non same-origin (http://127.0.0.1:8800) 
+PASS XMLHttpRequest: send() - non same-origin (javascript:alert('FAIL')) 
+PASS XMLHttpRequest: send() - non same-origin (folder.txt) 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-non-same-origin.htm b/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-non-same-origin.htm
new file mode 100644 (file)
index 0000000..91c3845
--- /dev/null
@@ -0,0 +1,33 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <title>XMLHttpRequest: send() - non same-origin</title>
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+    <base>
+    <link rel="help" href="https://xhr.spec.whatwg.org/#cross-origin-request-steps" data-tested-assertations="/following::DL[2]/DT[1] /following::DL[2]/DD[1]" />
+    <link rel="help" href="https://xhr.spec.whatwg.org/#cross-origin-request-event-rules" data-tested-assertations="/following::DL[1]/DT[2] /following::DL[1]/DD[2]" />
+  </head>
+  <body>
+    <div id="log"></div>
+    <script src="/common/get-host-info.sub.js"></script>
+    <script>
+      // Setting base URL before running the tests
+      var host_info = get_host_info();
+      document.getElementsByTagName("base")[0].setAttribute("href", host_info.HTTP_REMOTE_ORIGIN);
+
+      function url(url) {
+        test(function() {
+          var client = new XMLHttpRequest()
+          client.open("GET", url, false)
+          assert_throws("NetworkError", function() { client.send() })
+        }, document.title + " (" + url + ")")
+      }
+      url("mailto:test@example.org")
+      url("tel:+31600000000")
+      url(host_info.HTTP_REMOTE_ORIGIN)
+      url("javascript:alert('FAIL')")
+      url("folder.txt")
+    </script>
+  </body>
+</html>
index a9c2b59..1482714 100644 (file)
@@ -44,6 +44,7 @@ List of files:
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-readystate-sync-open.htm
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-readystatechange-loaded.htm
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-timeout.htm
+/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-upload-progress-crossorigin.htm
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/event-upload-progress.htm
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/folder.txt
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/formdata-blob.htm
@@ -146,7 +147,7 @@ List of files:
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-no-response-event-loadend.htm
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-no-response-event-loadstart.htm
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-no-response-event-order.htm
-/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-non-same-origin.sub.htm
+/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-non-same-origin.htm
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-receive-utf16.htm
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-redirect-bogus-sync.htm
 /LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/send-redirect-bogus.htm
diff --git a/LayoutTests/imported/w3c/web-platform-tests/check_stability.py b/LayoutTests/imported/w3c/web-platform-tests/check_stability.py
new file mode 100644 (file)
index 0000000..7b2f426
--- /dev/null
@@ -0,0 +1,569 @@
+import argparse
+import json
+import logging
+import os
+import re
+import stat
+import subprocess
+import sys
+import tarfile
+import traceback
+import zipfile
+from cStringIO import StringIO
+from collections import defaultdict
+from urlparse import urljoin
+
+import requests
+
+BaseHandler = None
+LogActionFilter = None
+LogHandler = None
+LogLevelFilter = None
+StreamHandler = None
+TbplFormatter = None
+reader = None
+wptcommandline = None
+wptrunner = None
+
+
+logger = logging.getLogger(os.path.splitext(__file__)[0])
+
+
+def do_delayed_imports():
+    global BaseHandler
+    global LogLevelFilter
+    global StreamHandler
+    global TbplFormatter
+    global reader
+    global wptcommandline
+    global wptrunner
+    from mozlog import reader
+    from mozlog.formatters import TbplFormatter
+    from mozlog.handlers import BaseHandler, LogLevelFilter, StreamHandler
+    from wptrunner import wptcommandline, wptrunner
+    setup_log_handler()
+    setup_action_filter()
+
+
+def setup_logging():
+    handler = logging.StreamHandler(sys.stdout)
+    formatter = logging.Formatter(logging.BASIC_FORMAT, None)
+    handler.setFormatter(formatter)
+    logger.addHandler(handler)
+    logger.setLevel(logging.DEBUG)
+
+setup_logging()
+
+
+def setup_action_filter():
+    global LogActionFilter
+
+    class LogActionFilter(BaseHandler):
+        """Handler that filters out messages with action of log and a level
+        lower than some specified level.
+
+        :param inner: Handler to use for messages that pass this filter
+        :param level: Minimum log level to process
+        """
+        def __init__(self, inner, actions):
+            BaseHandler.__init__(self, inner)
+            self.inner = inner
+            self.actions = actions
+
+        def __call__(self, item):
+            if item["action"] in self.actions:
+                return self.inner(item)
+
+
+class GitHub(object):
+    def __init__(self, org, repo, token):
+        self.token = token
+        self.headers = {"Accept": "application/vnd.github.v3+json"}
+        self.auth = (self.token, "x-oauth-basic")
+        self.org = org
+        self.repo = repo
+        self.base_url = "https://api.github.com/repos/%s/%s/" % (org, repo)
+
+    def _headers(self, headers):
+        if headers is None:
+            headers = {}
+        rv = self.headers.copy()
+        rv.update(headers)
+        return rv
+
+    def post(self, url, data, headers=None):
+        logger.debug("POST %s" % url)
+        if data is not None:
+            data = json.dumps(data)
+        resp = requests.post(
+            url,
+            data=data,
+            headers=self._headers(headers),
+            auth=self.auth
+        )
+        resp.raise_for_status()
+        return resp
+
+    def get(self, url, headers=None):
+        logger.debug("GET %s" % url)
+        resp = requests.get(
+            url,
+            headers=self._headers(headers),
+            auth=self.auth
+        )
+        resp.raise_for_status()
+        return resp
+
+    def post_comment(self, issue_number, body):
+        url = urljoin(self.base_url, "issues/%s/comments" % issue_number)
+        return self.post(url, {"body": body})
+
+    def releases(self):
+        url = urljoin(self.base_url, "releases/latest")
+        return self.get(url)
+
+
+class GitHubCommentHandler(logging.Handler):
+    def __init__(self, github, pull_number):
+        logging.Handler.__init__(self)
+        self.github = github
+        self.pull_number = pull_number
+        self.log_data = []
+
+    def emit(self, record):
+        try:
+            msg = self.format(record)
+            self.log_data.append(msg)
+        except Exception:
+            self.handleError(record)
+
+    def send(self):
+        self.github.post_comment(self.pull_number, "\n".join(self.log_data))
+        self.log_data = []
+
+
+class Browser(object):
+    product = None
+
+    def __init__(self, github_token):
+        self.github_token = github_token
+
+
+class Firefox(Browser):
+    product = "firefox"
+
+    def install(self):
+        call("pip", "install", "-r", "w3c/wptrunner/requirements_firefox.txt")
+        resp = get("https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/firefox-52.0a1.en-US.linux-x86_64.tar.bz2")
+        untar(resp.raw)
+
+        if not os.path.exists("profiles"):
+            os.mkdir("profiles")
+        with open(os.path.join("profiles", "prefs_general.js"), "wb") as f:
+            resp = get("https://hg.mozilla.org/mozilla-central/raw-file/tip/testing/profiles/prefs_general.js")
+            f.write(resp.content)
+        call("pip", "install", "-r", os.path.join("w3c", "wptrunner", "requirements_firefox.txt"))
+
+    def _latest_geckodriver_version(self):
+        # This is used rather than an API call to avoid rate limits
+        tags = call("git", "ls-remote", "--tags", "--refs",
+                    "https://github.com/mozilla/geckodriver.git")
+        release_re = re.compile(".*refs/tags/v(\d+)\.(\d+)\.(\d+)")
+        latest_release = 0
+        for item in tags.split("\n"):
+            m = release_re.match(item)
+            if m:
+                version = [int(item) for item in m.groups()]
+                if version > latest_release:
+                    latest_release = version
+        assert latest_release != 0
+        return "v%s.%s.%s" % tuple(str(item) for item in latest_release)
+
+
+    def install_webdriver(self):
+        version = self._latest_geckodriver_version()
+        logger.debug("Latest geckodriver release %s" % version)
+        url = "https://github.com/mozilla/geckodriver/releases/download/%s/geckodriver-%s-linux64.tar.gz" % (version, version)
+        untar(get(url).raw)
+
+    def wptrunner_args(self, root):
+        return {
+            "product": "firefox",
+            "binary": "%s/firefox/firefox" % root,
+            "certutil_binary": "certutil",
+            "webdriver_binary": "%s/geckodriver" % root,
+            "prefs_root": "%s/profiles" % root,
+        }
+
+
+class Chrome(Browser):
+    product = "chrome"
+
+    def install(self):
+        latest = get("https://www.googleapis.com/download/storage/v1/b/chromium-browser-snapshots/o/Linux_x64%2FLAST_CHANGE?alt=media").text.strip()
+        url = "https://www.googleapis.com/download/storage/v1/b/chromium-browser-snapshots/o/Linux_x64%%2F%s%%2Fchrome-linux.zip?alt=media" % latest
+        unzip(get(url).raw)
+        logger.debug(call("ls", "-lhrt", "chrome-linux"))
+        call("pip", "install", "-r", os.path.join("w3c", "wptrunner", "requirements_chrome.txt"))
+
+    def install_webdriver(self):
+        latest = get("http://chromedriver.storage.googleapis.com/LATEST_RELEASE").text.strip()
+        url = "http://chromedriver.storage.googleapis.com/%s/chromedriver_linux64.zip" % latest
+        unzip(get(url).raw)
+        st = os.stat('chromedriver')
+        os.chmod('chromedriver', st.st_mode | stat.S_IEXEC)
+
+    def wptrunner_args(self, root):
+        return {
+            "product": "chrome",
+            "binary": "%s/chrome-linux/chrome" % root,
+            "webdriver_binary": "%s/chromedriver" % root,
+            "test_types": ["testharness", "reftest"]
+        }
+
+
+def get(url):
+    logger.debug("GET %s" % url)
+    resp = requests.get(url, stream=True)
+    resp.raise_for_status()
+    return resp
+
+
+def call(*args):
+    logger.debug("%s" % " ".join(args))
+    return subprocess.check_output(args)
+
+
+def get_git_cmd(repo_path):
+    def git(cmd, *args):
+        full_cmd = ["git", cmd] + list(args)
+        try:
+            return subprocess.check_output(full_cmd, cwd=repo_path, stderr=subprocess.STDOUT)
+        except subprocess.CalledProcessError as e:
+            logger.error("Git command exited with status %i" % e.returncode)
+            logger.error(e.output)
+            sys.exit(1)
+    return git
+
+
+def seekable(fileobj):
+    try:
+        fileobj.seek(fileobj.tell())
+    except Exception:
+        return StringIO(fileobj.read())
+    else:
+        return fileobj
+
+
+def untar(fileobj):
+    logger.debug("untar")
+    fileobj = seekable(fileobj)
+    with tarfile.open(fileobj=fileobj) as tar_data:
+        tar_data.extractall()
+
+
+def unzip(fileobj):
+    logger.debug("unzip")
+    fileobj = seekable(fileobj)
+    with zipfile.ZipFile(fileobj) as zip_data:
+        for info in zip_data.infolist():
+            zip_data.extract(info)
+            perm = info.external_attr >> 16 & 0x1FF
+            os.chmod(info.filename, perm)
+
+
+def setup_github_logging(args):
+    gh_handler = None
+    if args.comment_pr:
+        github = GitHub("w3c", "web-platform-tests", args.gh_token)
+        try:
+            pr_number = int(args.comment_pr)
+        except ValueError:
+            pass
+        else:
+            gh_handler = GitHubCommentHandler(github, pr_number)
+            gh_handler.setLevel(logging.INFO)
+            logger.debug("Setting up GitHub logging")
+            logger.addHandler(gh_handler)
+    else:
+        logger.warning("No PR number found; not posting to GitHub")
+    return gh_handler
+
+
+class pwd(object):
+    def __init__(self, dir):
+        self.dir = dir
+        self.old_dir = None
+
+    def __enter__(self):
+        self.old_dir = os.path.abspath(os.curdir)
+        os.chdir(self.dir)
+
+    def __exit__(self, *args, **kwargs):
+        os.chdir(self.old_dir)
+        self.old_dir = None
+
+
+def fetch_wpt_master():
+    git = get_git_cmd(os.path.join(os.path.abspath(os.curdir), "w3c", "web-platform-tests"))
+    git("fetch", "https://github.com/w3c/web-platform-tests.git", "master:master")
+
+
+def get_sha1():
+    git = get_git_cmd(os.path.join(os.path.abspath(os.curdir), "w3c", "web-platform-tests"))
+    return git("rev-parse", "HEAD").strip()
+
+def build_manifest():
+    with pwd(os.path.join(os.path.abspath(os.curdir), "w3c", "web-platform-tests")):
+        # TODO: Call the manifest code directly
+        call("python", "manifest")
+
+
+def install_wptrunner():
+    call("git", "clone", "--depth=1", "https://github.com/w3c/wptrunner.git", "w3c/wptrunner")
+    git = get_git_cmd(os.path.join(os.path.abspath(os.curdir), "w3c", "wptrunner"))
+    git("submodule", "update", "--init", "--recursive")
+    call("pip", "install", os.path.join("w3c", "wptrunner"))
+
+
+def get_files_changed():
+    root = os.path.abspath(os.curdir)
+    git = get_git_cmd("%s/w3c/web-platform-tests" % root)
+    branch_point = git("merge-base", "HEAD", "master").strip()
+    logger.debug("Branch point from master: %s" % branch_point)
+    logger.debug(git("log", "--oneline", "%s.." % branch_point))
+    files = git("diff", "--name-only", "-z", "%s.." % branch_point)
+    if not files:
+        return []
+    assert files[-1] == "\0"
+    return ["%s/w3c/web-platform-tests/%s" % (root, item)
+            for item in files[:-1].split("\0")]
+
+
+def wptrunner_args(root, files_changed, iterations, browser):
+    parser = wptcommandline.create_parser([browser.product])
+    args = vars(parser.parse_args([]))
+    wpt_root = os.path.join(root, "w3c", "web-platform-tests")
+    args.update(browser.wptrunner_args(root))
+    args.update({
+        "tests_root": wpt_root,
+        "metadata_root": wpt_root,
+        "repeat": iterations,
+        "config": "%s/w3c/wptrunner/wptrunner.default.ini" % root,
+        "test_list": files_changed,
+        "restart_on_unexpected": False,
+        "pause_after_test": False
+    })
+    wptcommandline.check_args(args)
+    return args
+
+
+def setup_log_handler():
+    global LogHandler
+
+    class LogHandler(reader.LogHandler):
+        def __init__(self):
+            self.results = defaultdict(lambda: defaultdict(lambda: defaultdict(int)))
+
+        def test_status(self, data):
+            self.results[data["test"]][data.get("subtest")][data["status"]] += 1
+
+        def test_end(self, data):
+            self.results[data["test"]][None][data["status"]] += 1
+
+
+def is_inconsistent(results_dict, iterations):
+    return len(results_dict) > 1 or sum(results_dict.values()) != iterations
+
+
+def err_string(results_dict, iterations):
+    rv = []
+    total_results = sum(results_dict.values())
+    for key, value in sorted(results_dict.items()):
+        rv.append("%s%s" %
+                  (key, ": %s/%s" % (value, iterations) if value != iterations else ""))
+    rv = ", ".join(rv)
+    if total_results < iterations:
+        rv.append("MISSING: %s/%s" % (iterations - total_results, iterations))
+    if len(results_dict) > 1 or total_results != iterations:
+        rv = "**%s**" % rv
+    return rv
+
+
+def process_results(log, iterations):
+    inconsistent = []
+    handler = LogHandler()
+    reader.handle_log(reader.read(log), handler)
+    results = handler.results
+    for test, test_results in results.iteritems():
+        for subtest, result in test_results.iteritems():
+            if is_inconsistent(result, iterations):
+                inconsistent.append((test, subtest, result))
+    return results, inconsistent
+
+
+def table(headings, data, log):
+    cols = range(len(headings))
+    assert all(len(item) == len(cols) for item in data)
+    max_widths = reduce(lambda prev, cur: [(len(cur[i]) + 2)
+                                           if (len(cur[i]) + 2) > prev[i]
+                                           else prev[i]
+                                           for i in cols],
+                        data,
+                        [len(item) + 2 for item in headings])
+    log("|%s|" % "|".join(item.center(max_widths[i]) for i, item in enumerate(headings)))
+    log("|%s|" % "|".join("-" * max_widths[i] for i in cols))
+    for row in data:
+        log("|%s|" % "|".join(" %s" % row[i].ljust(max_widths[i] - 1) for i in cols))
+
+
+def write_inconsistent(inconsistent, iterations):
+    logger.error("## Unstable results ##\n")
+    strings = [(test, subtest if subtest else "", err_string(results, iterations))
+                for test, subtest, results in inconsistent]
+    table(["Test", "Subtest", "Results"], strings, logger.error)
+
+
+def write_results(results, iterations):
+    logger.info("## All results ##\n")
+    for test, test_results in results.iteritems():
+        logger.info("### %s ###" % test)
+        parent = test_results.pop(None)
+        strings = [("", err_string(parent, iterations))]
+        strings.extend(((subtest if subtest else "", err_string(results, iterations))
+                        for subtest, results in test_results.iteritems()))
+        table(["Subtest", "Results"], strings, logger.info)
+
+
+def get_parser():
+    parser = argparse.ArgumentParser()
+    parser.add_argument("--root",
+                        action="store",
+                        default=os.path.join(os.path.expanduser("~"), "build"),
+                        help="Root path")
+    parser.add_argument("--iterations",
+                        action="store",
+                        default=10,
+                        type=int,
+                        help="Number of times to run tests")
+    parser.add_argument("--gh-token",
+                        action="store",
+                        default=os.environ.get("GH_TOKEN"),
+                        help="OAuth token to use for accessing GitHub api")
+    parser.add_argument("--comment-pr",
+                        action="store",
+                        default=os.environ.get("TRAVIS_PULL_REQUEST"),
+                        help="PR to comment on with stability results")
+    parser.add_argument("browser",
+                        action="store",
+                        help="Browser to run against")
+    return parser
+
+
+def main():
+    retcode = 0
+    parser = get_parser()
+    args = parser.parse_args()
+
+    if not os.path.exists(args.root):
+        logger.critical("Root directory %s does not exist" % args.root)
+        return 1
+
+    os.chdir(args.root)
+
+    if args.gh_token:
+        gh_handler = setup_github_logging(args)
+    else:
+        logger.warning("Can't log to GitHub")
+        gh_handler = None
+
+    print >> sys.stderr, "travis_fold:start:browser_setup"
+    logger.info("# %s #" % args.browser.title())
+
+    browser_cls = {"firefox": Firefox,
+                   "chrome": Chrome}.get(args.browser)
+    if browser_cls is None:
+        logger.critical("Unrecognised browser %s" % args.browser)
+        return 1
+
+    fetch_wpt_master()
+
+    head_sha1 = get_sha1()
+    logger.info("Testing revision %s" % head_sha1)
+
+    # For now just pass the whole list of changed files to wptrunner and
+    # assume that it will run everything that's actually a test
+    files_changed = get_files_changed()
+
+    if not files_changed:
+        logger.info("No files changed")
+        return 0
+
+    build_manifest()
+    install_wptrunner()
+    do_delayed_imports()
+
+    logger.debug("Files changed:\n%s" % "".join(" * %s\n" % item for item in files_changed))
+
+    browser = browser_cls(args.gh_token)
+
+    browser.install()
+    browser.install_webdriver()
+
+    kwargs = wptrunner_args(args.root,
+                            files_changed,
+                            args.iterations,
+                            browser)
+
+    print >> sys.stderr, "travis_fold:end:browser_setup"
+    print >> sys.stderr, "travis_fold:start:running_tests"
+    logger.info("Starting %i test iterations" % args.iterations)
+    with open("raw.log", "wb") as log:
+        wptrunner.setup_logging(kwargs,
+                                {"raw": log})
+        # Setup logging for wptrunner that keeps process output and
+        # warning+ level logs only
+        wptrunner.logger.add_handler(
+            LogActionFilter(
+                LogLevelFilter(
+                    StreamHandler(
+                        sys.stdout,
+                        TbplFormatter()
+                    ),
+                    "WARNING"),
+                ["log", "process_output"]))
+
+        wptrunner.run_tests(**kwargs)
+
+    with open("raw.log", "rb") as log:
+        results, inconsistent = process_results(log, args.iterations)
+
+    print >> sys.stderr, "travis_fold:end:running_tests"
+
+    if results:
+        if inconsistent:
+            write_inconsistent(inconsistent, args.iterations)
+            retcode = 2
+        else:
+            logger.info("All results were stable\n")
+        print >> sys.stderr, "travis_fold:start:full_results"
+        write_results(results, args.iterations)
+        print >> sys.stderr, "travis_fold:end:full_results"
+    else:
+        logger.info("No tests run.")
+
+    try:
+        if gh_handler:
+            gh_handler.send()
+    except Exception:
+        logger.error(traceback.format_exc())
+    return retcode
+
+
+if __name__ == "__main__":
+    try:
+        retcode = main()
+    except:
+        raise
+    else:
+        sys.exit(retcode)
diff --git a/LayoutTests/imported/w3c/web-platform-tests/ci_lint.sh b/LayoutTests/imported/w3c/web-platform-tests/ci_lint.sh
new file mode 100644 (file)
index 0000000..ebcd5c0
--- /dev/null
@@ -0,0 +1,5 @@
+set -ex
+
+./manifest
+./lint
+./diff-manifest.py
diff --git a/LayoutTests/imported/w3c/web-platform-tests/ci_stability.sh b/LayoutTests/imported/w3c/web-platform-tests/ci_stability.sh
new file mode 100644 (file)
index 0000000..8e03c18
--- /dev/null
@@ -0,0 +1,33 @@
+set -e
+
+hosts_fixup() {
+    echo "travis_fold:start:hosts_fixup"
+    echo "Rewriting hosts file"
+    echo "## /etc/hosts ##"
+    cat /etc/hosts
+    sudo sed -i 's/^::1\s*localhost/::1/' /etc/hosts
+    sudo sh -c 'echo "
+127.0.0.1 web-platform.test
+127.0.0.1 www.web-platform.test
+127.0.0.1 www1.web-platform.test
+127.0.0.1 www2.web-platform.test
+127.0.0.1 xn--n8j6ds53lwwkrqhv28a.web-platform.test
+127.0.0.1 xn--lve-6lad.web-platform.test
+" >> /etc/hosts'
+    echo "== /etc/hosts =="
+    cat /etc/hosts
+    echo "----------------"
+    echo "travis_fold:end:hosts_fixup"
+}
+
+
+test_stability() {
+    python check_stability.py $PRODUCT
+}
+
+main() {
+    hosts_fixup
+    test_stability
+}
+
+main
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-click-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-click-expected.txt
new file mode 100644 (file)
index 0000000..f7d9f7e
--- /dev/null
@@ -0,0 +1,16 @@
+
+PASS basic with click() 
+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 <a href> 
+PASS event state during post-click handling 
+PASS redispatch during post-click handling 
+PASS disabled checkbox still has activation behavior 
+PASS disabled checkbox still has activation behavior, part 2 
+PASS disconnected checkbox should be checked 
+PASS disconnected radio should be checked 
+FAIL disconnected form should not submit assert_false: expected false got true
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-click.html b/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-click.html
new file mode 100644 (file)
index 0000000..760116b
--- /dev/null
@@ -0,0 +1,204 @@
+<!doctype html>
+<title>Synthetic click event "magic"</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id=log></div>
+<div id=dump style=display:none></div>
+<script>
+var dump = document.getElementById("dump")
+
+async_test(function(t) {
+  var input = document.createElement("input")
+  input.type = "checkbox"
+  dump.appendChild(input)
+  input.onclick = t.step_func_done(function() {
+    assert_true(input.checked)
+  })
+  input.click()
+}, "basic with click()")
+
+async_test(function(t) {
+  var input = document.createElement("input")
+  input.type = "checkbox"
+  dump.appendChild(input)
+  input.onclick = t.step_func_done(function() {
+    assert_true(input.checked)
+  })
+  input.dispatchEvent(new MouseEvent("click", {bubbles:true})) // equivalent to the above
+}, "basic with dispatchEvent()")
+
+async_test(function(t) {
+  var input = document.createElement("input")
+  input.type = "checkbox"
+  dump.appendChild(input)
+  input.onclick = t.step_func_done(function() {
+    assert_false(input.checked)
+  })
+  input.dispatchEvent(new Event("click", {bubbles:true})) // no MouseEvent
+}, "basic with wrong event class")
+
+async_test(function(t) {
+  var input = document.createElement("input")
+  input.type = "checkbox"
+  dump.appendChild(input)
+  var child = input.appendChild(new Text("does not matter"))
+  child.dispatchEvent(new MouseEvent("click")) // does not bubble
+  assert_false(input.checked)
+  t.done()
+}, "look at parents only when event bubbles")
+
+async_test(function(t) {
+  var input = document.createElement("input")
+  input.type = "checkbox"
+  dump.appendChild(input)
+  input.onclick = t.step_func_done(function() {
+    assert_true(input.checked)
+  })
+  var child = input.appendChild(new Text("does not matter"))
+  child.dispatchEvent(new MouseEvent("click", {bubbles:true}))
+}, "look at parents when event bubbles")
+
+async_test(function(t) {
+  var input = document.createElement("input")
+  input.type = "checkbox"
+  dump.appendChild(input)
+  input.onclick = t.step_func(function() {
+    assert_false(input.checked, "input pre-click must not be triggered")
+  })
+  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")
+  })
+  child.dispatchEvent(new MouseEvent("click", {bubbles:true}))
+  t.done()
+}, "pick the first with activation behavior <input type=checkbox>")
+
+var globalCounter = 0 // sorry
+async_test(function(t) { // as above with <a>
+  var i = 0
+  var link = document.createElement("a")
+  link.href = "javascript:(function(){globalCounter--})()" // must not be triggered
+  dump.appendChild(link)
+  var child = link.appendChild(document.createElement("a"))
+  child.href = "javascript:(function(){globalCounter++})()"
+  child.dispatchEvent(new MouseEvent("click", {bubbles:true}))
+  assert_equals(globalCounter, 1)
+  t.done()
+}, "pick the first with activation behavior <a href>")
+
+async_test(function(t) {
+  var input = document.createElement("input")
+  input.type = "checkbox"
+  dump.appendChild(input)
+  var clickEvent = new MouseEvent("click")
+  input.onchange = t.step_func_done(function() {
+    assert_false(clickEvent.defaultPrevented)
+    assert_equals(clickEvent.eventPhase, 0)
+    assert_equals(clickEvent.currentTarget, null)
+    assert_equals(clickEvent.target, input)
+    assert_equals(clickEvent.composedPath().length, 0)
+  })
+  input.dispatchEvent(clickEvent)
+}, "event state during post-click handling")
+
+async_test(function(t) {
+  var input = document.createElement("input")
+  input.type = "checkbox"
+  dump.appendChild(input)
+  var clickEvent = new MouseEvent("click")
+  var finalTarget = document.createElement("doesnotmatter")
+  finalTarget.onclick = t.step_func_done(function() {
+    assert_equals(clickEvent.target, finalTarget)
+  })
+  input.onchange = t.step_func(function() {
+    finalTarget.dispatchEvent(clickEvent)
+  })
+  input.dispatchEvent(clickEvent)
+}, "redispatch during post-click handling")
+
+async_test(function(t) {
+  var input = document.createElement("input")
+  input.type = "checkbox"
+  dump.appendChild(input)
+  var child = input.appendChild(document.createElement("input"))
+  child.type = "checkbox"
+  child.disabled = true
+  child.click()
+  assert_false(input.checked)
+  assert_false(child.checked)
+  t.done()
+}, "disabled checkbox still has activation behavior")
+
+async_test(function(t) {
+  var state = "start"
+
+  var form = document.createElement("form")
+  form.onsubmit = t.step_func(() => {
+    if(state == "start" || state == "checkbox") {
+      state = "failure"
+    } else if(state == "form") {
+      state = "done"
+    }
+    return false
+  })
+  dump.appendChild(form)
+  var button = form.appendChild(document.createElement("button"))
+  button.type = "submit"
+  var checkbox = button.appendChild(document.createElement("input"))
+  checkbox.type = "checkbox"
+  checkbox.onclick = t.step_func(() => {
+    if(state == "start") {
+      assert_unreached()
+    } else if(state == "checkbox") {
+      assert_true(checkbox.checked)
+    }
+  })
+  checkbox.disabled = true
+  checkbox.click()
+  assert_equals(state, "start")
+
+  state = "checkbox"
+  checkbox.disabled = false
+  checkbox.click()
+  assert_equals(state, "checkbox")
+
+  state = "form"
+  button.click()
+  assert_equals(state, "done")
+
+  t.done()
+}, "disabled checkbox still has activation behavior, part 2")
+
+async_test(function(t) {
+  var input = document.createElement("input")
+  input.type = "checkbox"
+  input.onclick = t.step_func_done(function() {
+    assert_true(input.checked)
+  })
+  input.click()
+}, "disconnected checkbox should be checked")
+
+async_test(function(t) {
+  var input = document.createElement("input")
+  input.type = "radio"
+  input.onclick = t.step_func_done(function() {
+    assert_true(input.checked)
+  })
+  input.click()
+}, "disconnected radio should be checked")
+
+async_test(function(t) {
+  var form = document.createElement("form")
+  var didSubmit = false
+  form.onsubmit = t.step_func(() => {
+    didSubmit = true
+    return false
+  })
+  var input = form.appendChild(document.createElement("input"))
+  input.type = "submit"
+  input.click()
+  assert_false(didSubmit)
+  t.done()
+}, "disconnected form should not submit")
+</script>
index c918c2a..db5e4ca 100644 (file)
@@ -24,6 +24,7 @@ List of files:
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-defaultPrevented.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-bubbles-false.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-bubbles-true.html
+/LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-click.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-detached-click.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-handlers-changed.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/events/Event-dispatch-multiple-stopPropagation.html
index 284920a..1eaae5c 100644 (file)
 
 PASS paras[0].contains(null) 
-PASS paras[0].compareDocumentPosition(paras[0]) 
-PASS paras[0].compareDocumentPosition(paras[0].firstChild) 
-PASS paras[0].compareDocumentPosition(paras[1].firstChild) 
-PASS paras[0].compareDocumentPosition(foreignPara1) 
-PASS paras[0].compareDocumentPosition(foreignPara1.firstChild) 
-PASS paras[0].compareDocumentPosition(detachedPara1) 
-PASS paras[0].compareDocumentPosition(detachedPara1.firstChild) 
-PASS paras[0].compareDocumentPosition(document) 
-PASS paras[0].compareDocumentPosition(detachedDiv) 
-PASS paras[0].compareDocumentPosition(foreignDoc) 
-PASS paras[0].compareDocumentPosition(foreignPara2) 
-PASS paras[0].compareDocumentPosition(xmlDoc) 
-PASS paras[0].compareDocumentPosition(xmlElement) 
-PASS paras[0].compareDocumentPosition(detachedTextNode) 
-PASS paras[0].compareDocumentPosition(foreignTextNode) 
-PASS paras[0].compareDocumentPosition(processingInstruction) 
-PASS paras[0].compareDocumentPosition(detachedProcessingInstruction) 
-PASS paras[0].compareDocumentPosition(comment) 
-PASS paras[0].compareDocumentPosition(detachedComment) 
-PASS paras[0].compareDocumentPosition(docfrag) 
-PASS paras[0].compareDocumentPosition(doctype) 
-PASS paras[0].compareDocumentPosition(foreignDoctype) 
-PASS paras[0].compareDocumentPosition(paras[1]) 
-PASS paras[0].compareDocumentPosition(detachedPara2) 
-PASS paras[0].compareDocumentPosition(detachedPara2.firstChild) 
-PASS paras[0].compareDocumentPosition(testDiv) 
-PASS paras[0].compareDocumentPosition(detachedXmlElement) 
-PASS paras[0].compareDocumentPosition(detachedForeignTextNode) 
-PASS paras[0].compareDocumentPosition(xmlTextNode) 
-PASS paras[0].compareDocumentPosition(detachedXmlTextNode) 
-PASS paras[0].compareDocumentPosition(xmlComment) 
-PASS paras[0].compareDocumentPosition(foreignComment) 
-PASS paras[0].compareDocumentPosition(detachedForeignComment) 
-PASS paras[0].compareDocumentPosition(detachedXmlComment) 
-PASS paras[0].compareDocumentPosition(foreignDocfrag) 
-PASS paras[0].compareDocumentPosition(xmlDocfrag) 
-PASS paras[0].compareDocumentPosition(xmlDoctype) 
+PASS paras[0].contains(paras[0]) 
+PASS paras[0].contains(paras[0].firstChild) 
+PASS paras[0].contains(paras[1].firstChild) 
+PASS paras[0].contains(foreignPara1) 
+PASS paras[0].contains(foreignPara1.firstChild) 
+PASS paras[0].contains(detachedPara1) 
+PASS paras[0].contains(detachedPara1.firstChild) 
+PASS paras[0].contains(document) 
+PASS paras[0].contains(detachedDiv) 
+PASS paras[0].contains(foreignDoc) 
+PASS paras[0].contains(foreignPara2) 
+PASS paras[0].contains(xmlDoc) 
+PASS paras[0].contains(xmlElement) 
+PASS paras[0].contains(detachedTextNode) 
+PASS paras[0].contains(foreignTextNode) 
+PASS paras[0].contains(processingInstruction) 
+PASS paras[0].contains(detachedProcessingInstruction) 
+PASS paras[0].contains(comment) 
+PASS paras[0].contains(detachedComment) 
+PASS paras[0].contains(docfrag) 
+PASS paras[0].contains(doctype) 
+PASS paras[0].contains(foreignDoctype) 
+PASS paras[0].contains(paras[1]) 
+PASS paras[0].contains(detachedPara2) 
+PASS paras[0].contains(detachedPara2.firstChild) 
+PASS paras[0].contains(testDiv) 
+PASS paras[0].contains(detachedXmlElement) 
+PASS paras[0].contains(detachedForeignTextNode) 
+PASS paras[0].contains(xmlTextNode) 
+PASS paras[0].contains(detachedXmlTextNode) 
+PASS paras[0].contains(xmlComment) 
+PASS paras[0].contains(foreignComment) 
+PASS paras[0].contains(detachedForeignComment) 
+PASS paras[0].contains(detachedXmlComment) 
+PASS paras[0].contains(foreignDocfrag) 
+PASS paras[0].contains(xmlDocfrag) 
+PASS paras[0].contains(xmlDoctype) 
 PASS paras[0].firstChild.contains(null) 
-PASS paras[0].firstChild.compareDocumentPosition(paras[0]) 
-PASS paras[0].firstChild.compareDocumentPosition(paras[0].firstChild) 
-PASS paras[0].firstChild.compareDocumentPosition(paras[1].firstChild) 
-PASS paras[0].firstChild.compareDocumentPosition(foreignPara1) 
-PASS paras[0].firstChild.compareDocumentPosition(foreignPara1.firstChild) 
-PASS paras[0].firstChild.compareDocumentPosition(detachedPara1) 
-PASS paras[0].firstChild.compareDocumentPosition(detachedPara1.firstChild) 
-PASS paras[0].firstChild.compareDocumentPosition(document) 
-PASS paras[0].firstChild.compareDocumentPosition(detachedDiv) 
-PASS paras[0].firstChild.compareDocumentPosition(foreignDoc) 
-PASS paras[0].firstChild.compareDocumentPosition(foreignPara2) 
-PASS paras[0].firstChild.compareDocumentPosition(xmlDoc) 
-PASS paras[0].firstChild.compareDocumentPosition(xmlElement) 
-PASS paras[0].firstChild.compareDocumentPosition(detachedTextNode) 
-PASS paras[0].firstChild.compareDocumentPosition(foreignTextNode) 
-PASS paras[0].firstChild.compareDocumentPosition(processingInstruction) 
-PASS paras[0].firstChild.compareDocumentPosition(detachedProcessingInstruction) 
-PASS paras[0].firstChild.compareDocumentPosition(comment) 
-PASS paras[0].firstChild.compareDocumentPosition(detachedComment) 
-PASS paras[0].firstChild.compareDocumentPosition(docfrag) 
-PASS paras[0].firstChild.compareDocumentPosition(doctype) 
-PASS paras[0].firstChild.compareDocumentPosition(foreignDoctype) 
-PASS paras[0].firstChild.compareDocumentPosition(paras[1]) 
-PASS paras[0].firstChild.compareDocumentPosition(detachedPara2) 
-PASS paras[0].firstChild.compareDocumentPosition(detachedPara2.firstChild) 
-PASS paras[0].firstChild.compareDocumentPosition(testDiv) 
-PASS paras[0].firstChild.compareDocumentPosition(detachedXmlElement) 
-PASS paras[0].firstChild.compareDocumentPosition(detachedForeignTextNode) 
-PASS paras[0].firstChild.compareDocumentPosition(xmlTextNode) 
-PASS paras[0].firstChild.compareDocumentPosition(detachedXmlTextNode) 
-PASS paras[0].firstChild.compareDocumentPosition(xmlComment) 
-PASS paras[0].firstChild.compareDocumentPosition(foreignComment) 
-PASS paras[0].firstChild.compareDocumentPosition(detachedForeignComment) 
-PASS paras[0].firstChild.compareDocumentPosition(detachedXmlComment) 
-PASS paras[0].firstChild.compareDocumentPosition(foreignDocfrag) 
-PASS paras[0].firstChild.compareDocumentPosition(xmlDocfrag) 
-PASS paras[0].firstChild.compareDocumentPosition(xmlDoctype) 
+PASS paras[0].firstChild.contains(paras[0]) 
+PASS paras[0].firstChild.contains(paras[0].firstChild) 
+PASS paras[0].firstChild.contains(paras[1].firstChild) 
+PASS paras[0].firstChild.contains(foreignPara1) 
+PASS paras[0].firstChild.contains(foreignPara1.firstChild) 
+PASS paras[0].firstChild.contains(detachedPara1) 
+PASS paras[0].firstChild.contains(detachedPara1.firstChild) 
+PASS paras[0].firstChild.contains(document) 
+PASS paras[0].firstChild.contains(detachedDiv) 
+PASS paras[0].firstChild.contains(foreignDoc) 
+PASS paras[0].firstChild.contains(foreignPara2) 
+PASS paras[0].firstChild.contains(xmlDoc) 
+PASS paras[0].firstChild.contains(xmlElement) 
+PASS paras[0].firstChild.contains(detachedTextNode) 
+PASS paras[0].firstChild.contains(foreignTextNode) 
+PASS paras[0].firstChild.contains(processingInstruction) 
+PASS paras[0].firstChild.contains(detachedProcessingInstruction) 
+PASS paras[0].firstChild.contains(comment) 
+PASS paras[0].firstChild.contains(detachedComment) 
+PASS paras[0].firstChild.contains(docfrag) 
+PASS paras[0].firstChild.contains(doctype) 
+PASS paras[0].firstChild.contains(foreignDoctype) 
+PASS paras[0].firstChild.contains(paras[1]) 
+PASS paras[0].firstChild.contains(detachedPara2) 
+PASS paras[0].firstChild.contains(detachedPara2.firstChild) 
+PASS paras[0].firstChild.contains(testDiv) 
+PASS paras[0].firstChild.contains(detachedXmlElement) 
+PASS paras[0].firstChild.contains(detachedForeignTextNode) 
+PASS paras[0].firstChild.contains(xmlTextNode) 
+PASS paras[0].firstChild.contains(detachedXmlTextNode) 
+PASS paras[0].firstChild.contains(xmlComment) 
+PASS paras[0].firstChild.contains(foreignComment) 
+PASS paras[0].firstChild.contains(detachedForeignComment) 
+PASS paras[0].firstChild.contains(detachedXmlComment) 
+PASS paras[0].firstChild.contains(foreignDocfrag) 
+PASS paras[0].firstChild.contains(xmlDocfrag) 
+PASS paras[0].firstChild.contains(xmlDoctype) 
 PASS paras[1].firstChild.contains(null) 
-PASS paras[1].firstChild.compareDocumentPosition(paras[0]) 
-PASS paras[1].firstChild.compareDocumentPosition(paras[0].firstChild) 
-PASS paras[1].firstChild.compareDocumentPosition(paras[1].firstChild) 
-PASS paras[1].firstChild.compareDocumentPosition(foreignPara1) 
-PASS paras[1].firstChild.compareDocumentPosition(foreignPara1.firstChild) 
-PASS paras[1].firstChild.compareDocumentPosition(detachedPara1) 
-PASS paras[1].firstChild.compareDocumentPosition(detachedPara1.firstChild) 
-PASS paras[1].firstChild.compareDocumentPosition(document) 
-PASS paras[1].firstChild.compareDocumentPosition(detachedDiv) 
-PASS paras[1].firstChild.compareDocumentPosition(foreignDoc) 
-PASS paras[1].firstChild.compareDocumentPosition(foreignPara2) 
-PASS paras[1].firstChild.compareDocumentPosition(xmlDoc) 
-PASS paras[1].firstChild.compareDocumentPosition(xmlElement) 
-PASS paras[1].firstChild.compareDocumentPosition(detachedTextNode) 
-PASS paras[1].firstChild.compareDocumentPosition(foreignTextNode) 
-PASS paras[1].firstChild.compareDocumentPosition(processingInstruction) 
-PASS paras[1].firstChild.compareDocumentPosition(detachedProcessingInstruction) 
-PASS paras[1].firstChild.compareDocumentPosition(comment) 
-PASS paras[1].firstChild.compareDocumentPosition(detachedComment) 
-PASS paras[1].firstChild.compareDocumentPosition(docfrag) 
-PASS paras[1].firstChild.compareDocumentPosition(doctype) 
-PASS paras[1].firstChild.compareDocumentPosition(foreignDoctype) 
-PASS paras[1].firstChild.compareDocumentPosition(paras[1]) 
-PASS paras[1].firstChild.compareDocumentPosition(detachedPara2) 
-PASS paras[1].firstChild.compareDocumentPosition(detachedPara2.firstChild) 
-PASS paras[1].firstChild.compareDocumentPosition(testDiv) 
-PASS paras[1].firstChild.compareDocumentPosition(detachedXmlElement) 
-PASS paras[1].firstChild.compareDocumentPosition(detachedForeignTextNode) 
-PASS paras[1].firstChild.compareDocumentPosition(xmlTextNode) 
-PASS paras[1].firstChild.compareDocumentPosition(detachedXmlTextNode) 
-PASS paras[1].firstChild.compareDocumentPosition(xmlComment) 
-PASS paras[1].firstChild.compareDocumentPosition(foreignComment) 
-PASS paras[1].firstChild.compareDocumentPosition(detachedForeignComment) 
-PASS paras[1].firstChild.compareDocumentPosition(detachedXmlComment) 
-PASS paras[1].firstChild.compareDocumentPosition(foreignDocfrag) 
-PASS paras[1].firstChild.compareDocumentPosition(xmlDocfrag) 
-PASS paras[1].firstChild.compareDocumentPosition(xmlDoctype) 
+PASS paras[1].firstChild.contains(paras[0]) 
+PASS paras[1].firstChild.contains(paras[0].firstChild) 
+PASS paras[1].firstChild.contains(paras[1].firstChild) 
+PASS paras[1].firstChild.contains(foreignPara1) 
+PASS paras[1].firstChild.contains(foreignPara1.firstChild) 
+PASS paras[1].firstChild.contains(detachedPara1) 
+PASS paras[1].firstChild.contains(detachedPara1.firstChild) 
+PASS paras[1].firstChild.contains(document) 
+PASS paras[1].firstChild.contains(detachedDiv) 
+PASS paras[1].firstChild.contains(foreignDoc) 
+PASS paras[1].firstChild.contains(foreignPara2) 
+PASS paras[1].firstChild.contains(xmlDoc) 
+PASS paras[1].firstChild.contains(xmlElement) 
+PASS paras[1].firstChild.contains(detachedTextNode) 
+PASS paras[1].firstChild.contains(foreignTextNode) 
+PASS paras[1].firstChild.contains(processingInstruction) 
+PASS paras[1].firstChild.contains(detachedProcessingInstruction) 
+PASS paras[1].firstChild.contains(comment) 
+PASS paras[1].firstChild.contains(detachedComment) 
+PASS paras[1].firstChild.contains(docfrag) 
+PASS paras[1].firstChild.contains(doctype) 
+PASS paras[1].firstChild.contains(foreignDoctype) 
+PASS paras[1].firstChild.contains(paras[1]) 
+PASS paras[1].firstChild.contains(detachedPara2) 
+PASS paras[1].firstChild.contains(detachedPara2.firstChild) 
+PASS paras[1].firstChild.contains(testDiv) 
+PASS paras[1].firstChild.contains(detachedXmlElement) 
+PASS paras[1].firstChild.contains(detachedForeignTextNode) 
+PASS paras[1].firstChild.contains(xmlTextNode) 
+PASS paras[1].firstChild.contains(detachedXmlTextNode) 
+PASS paras[1].firstChild.contains(xmlComment) 
+PASS paras[1].firstChild.contains(foreignComment) 
+PASS paras[1].firstChild.contains(detachedForeignComment) 
+PASS paras[1].firstChild.contains(detachedXmlComment) 
+PASS paras[1].firstChild.contains(foreignDocfrag) 
+PASS paras[1].firstChild.contains(xmlDocfrag) 
+PASS paras[1].firstChild.contains(xmlDoctype) 
 PASS foreignPara1.contains(null) 
-PASS foreignPara1.compareDocumentPosition(paras[0]) 
-PASS foreignPara1.compareDocumentPosition(paras[0].firstChild) 
-PASS foreignPara1.compareDocumentPosition(paras[1].firstChild) 
-PASS foreignPara1.compareDocumentPosition(foreignPara1) 
-PASS foreignPara1.compareDocumentPosition(foreignPara1.firstChild) 
-PASS foreignPara1.compareDocumentPosition(detachedPara1) 
-PASS foreignPara1.compareDocumentPosition(detachedPara1.firstChild) 
-PASS foreignPara1.compareDocumentPosition(document) 
-PASS foreignPara1.compareDocumentPosition(detachedDiv) 
-PASS foreignPara1.compareDocumentPosition(foreignDoc) 
-PASS foreignPara1.compareDocumentPosition(foreignPara2) 
-PASS foreignPara1.compareDocumentPosition(xmlDoc) 
-PASS foreignPara1.compareDocumentPosition(xmlElement) 
-PASS foreignPara1.compareDocumentPosition(detachedTextNode) 
-PASS foreignPara1.compareDocumentPosition(foreignTextNode) 
-PASS foreignPara1.compareDocumentPosition(processingInstruction) 
-PASS foreignPara1.compareDocumentPosition(detachedProcessingInstruction) 
-PASS foreignPara1.compareDocumentPosition(comment) 
-PASS foreignPara1.compareDocumentPosition(detachedComment) 
-PASS foreignPara1.compareDocumentPosition(docfrag) 
-PASS foreignPara1.compareDocumentPosition(doctype) 
-PASS foreignPara1.compareDocumentPosition(foreignDoctype) 
-PASS foreignPara1.compareDocumentPosition(paras[1]) 
-PASS foreignPara1.compareDocumentPosition(detachedPara2) 
-PASS foreignPara1.compareDocumentPosition(detachedPara2.firstChild) 
-PASS foreignPara1.compareDocumentPosition(testDiv) 
-PASS foreignPara1.compareDocumentPosition(detachedXmlElement) 
-PASS foreignPara1.compareDocumentPosition(detachedForeignTextNode) 
-PASS foreignPara1.compareDocumentPosition(xmlTextNode) 
-PASS foreignPara1.compareDocumentPosition(detachedXmlTextNode) 
-PASS foreignPara1.compareDocumentPosition(xmlComment) 
-PASS foreignPara1.compareDocumentPosition(foreignComment) 
-PASS foreignPara1.compareDocumentPosition(detachedForeignComment) 
-PASS foreignPara1.compareDocumentPosition(detachedXmlComment) 
-PASS foreignPara1.compareDocumentPosition(foreignDocfrag) 
-PASS foreignPara1.compareDocumentPosition(xmlDocfrag) 
-PASS foreignPara1.compareDocumentPosition(xmlDoctype) 
+PASS foreignPara1.contains(paras[0]) 
+PASS foreignPara1.contains(paras[0].firstChild) 
+PASS foreignPara1.contains(paras[1].firstChild) 
+PASS foreignPara1.contains(foreignPara1) 
+PASS foreignPara1.contains(foreignPara1.firstChild) 
+PASS foreignPara1.contains(detachedPara1) 
+PASS foreignPara1.contains(detachedPara1.firstChild) 
+PASS foreignPara1.contains(document) 
+PASS foreignPara1.contains(detachedDiv) 
+PASS foreignPara1.contains(foreignDoc) 
+PASS foreignPara1.contains(foreignPara2) 
+PASS foreignPara1.contains(xmlDoc) 
+PASS foreignPara1.contains(xmlElement) 
+PASS foreignPara1.contains(detachedTextNode) 
+PASS foreignPara1.contains(foreignTextNode) 
+PASS foreignPara1.contains(processingInstruction) 
+PASS foreignPara1.contains(detachedProcessingInstruction) 
+PASS foreignPara1.contains(comment) 
+PASS foreignPara1.contains(detachedComment) 
+PASS foreignPara1.contains(docfrag) 
+PASS foreignPara1.contains(doctype) 
+PASS foreignPara1.contains(foreignDoctype) 
+PASS foreignPara1.contains(paras[1]) 
+PASS foreignPara1.contains(detachedPara2) 
+PASS foreignPara1.contains(detachedPara2.firstChild) 
+PASS foreignPara1.contains(testDiv) 
+PASS foreignPara1.contains(detachedXmlElement) 
+PASS foreignPara1.contains(detachedForeignTextNode) 
+PASS foreignPara1.contains(xmlTextNode) 
+PASS foreignPara1.contains(detachedXmlTextNode) 
+PASS foreignPara1.contains(xmlComment) 
+PASS foreignPara1.contains(foreignComment) 
+PASS foreignPara1.contains(detachedForeignComment) 
+PASS foreignPara1.contains(detachedXmlComment) 
+PASS foreignPara1.contains(foreignDocfrag) 
+PASS foreignPara1.contains(xmlDocfrag) 
+PASS foreignPara1.contains(xmlDoctype) 
 PASS foreignPara1.firstChild.contains(null) 
-PASS foreignPara1.firstChild.compareDocumentPosition(paras[0]) 
-PASS foreignPara1.firstChild.compareDocumentPosition(paras[0].firstChild) 
-PASS foreignPara1.firstChild.compareDocumentPosition(paras[1].firstChild) 
-PASS foreignPara1.firstChild.compareDocumentPosition(foreignPara1) 
-PASS foreignPara1.firstChild.compareDocumentPosition(foreignPara1.firstChild) 
-PASS foreignPara1.firstChild.compareDocumentPosition(detachedPara1) 
-PASS foreignPara1.firstChild.compareDocumentPosition(detachedPara1.firstChild) 
-PASS foreignPara1.firstChild.compareDocumentPosition(document) 
-PASS foreignPara1.firstChild.compareDocumentPosition(detachedDiv) 
-PASS foreignPara1.firstChild.compareDocumentPosition(foreignDoc) 
-PASS foreignPara1.firstChild.compareDocumentPosition(foreignPara2) 
-PASS foreignPara1.firstChild.compareDocumentPosition(xmlDoc) 
-PASS foreignPara1.firstChild.compareDocumentPosition(xmlElement) 
-PASS foreignPara1.firstChild.compareDocumentPosition(detachedTextNode) 
-PASS foreignPara1.firstChild.compareDocumentPosition(foreignTextNode) 
-PASS foreignPara1.firstChild.compareDocumentPosition(processingInstruction) 
-PASS foreignPara1.firstChild.compareDocumentPosition(detachedProcessingInstruction) 
-PASS foreignPara1.firstChild.compareDocumentPosition(comment) 
-PASS foreignPara1.firstChild.compareDocumentPosition(detachedComment) 
-PASS foreignPara1.firstChild.compareDocumentPosition(docfrag) 
-PASS foreignPara1.firstChild.compareDocumentPosition(doctype) 
-PASS foreignPara1.firstChild.compareDocumentPosition(foreignDoctype) 
-PASS foreignPara1.firstChild.compareDocumentPosition(paras[1]) 
-PASS foreignPara1.firstChild.compareDocumentPosition(detachedPara2) 
-PASS foreignPara1.firstChild.compareDocumentPosition(detachedPara2.firstChild) 
-PASS foreignPara1.firstChild.compareDocumentPosition(testDiv) 
-PASS foreignPara1.firstChild.compareDocumentPosition(detachedXmlElement) 
-PASS foreignPara1.firstChild.compareDocumentPosition(detachedForeignTextNode) 
-PASS foreignPara1.firstChild.compareDocumentPosition(xmlTextNode) 
-PASS foreignPara1.firstChild.compareDocumentPosition(detachedXmlTextNode) 
-PASS foreignPara1.firstChild.compareDocumentPosition(xmlComment) 
-PASS foreignPara1.firstChild.compareDocumentPosition(foreignComment) 
-PASS foreignPara1.firstChild.compareDocumentPosition(detachedForeignComment) 
-PASS foreignPara1.firstChild.compareDocumentPosition(detachedXmlComment) 
-PASS foreignPara1.firstChild.compareDocumentPosition(foreignDocfrag) 
-PASS foreignPara1.firstChild.compareDocumentPosition(xmlDocfrag) 
-PASS foreignPara1.firstChild.compareDocumentPosition(xmlDoctype) 
+PASS foreignPara1.firstChild.contains(paras[0]) 
+PASS foreignPara1.firstChild.contains(paras[0].firstChild) 
+PASS foreignPara1.firstChild.contains(paras[1].firstChild) 
+PASS foreignPara1.firstChild.contains(foreignPara1) 
+PASS foreignPara1.firstChild.contains(foreignPara1.firstChild) 
+PASS foreignPara1.firstChild.contains(detachedPara1) 
+PASS foreignPara1.firstChild.contains(detachedPara1.firstChild) 
+PASS foreignPara1.firstChild.contains(document) 
+PASS foreignPara1.firstChild.contains(detachedDiv) 
+PASS foreignPara1.firstChild.contains(foreignDoc) 
+PASS foreignPara1.firstChild.contains(foreignPara2) 
+PASS foreignPara1.firstChild.contains(xmlDoc) 
+PASS foreignPara1.firstChild.contains(xmlElement) 
+PASS foreignPara1.firstChild.contains(detachedTextNode) 
+PASS foreignPara1.firstChild.contains(foreignTextNode) 
+PASS foreignPara1.firstChild.contains(processingInstruction) 
+PASS foreignPara1.firstChild.contains(detachedProcessingInstruction) 
+PASS foreignPara1.firstChild.contains(comment) 
+PASS foreignPara1.firstChild.contains(detachedComment) 
+PASS foreignPara1.firstChild.contains(docfrag) 
+PASS foreignPara1.firstChild.contains(doctype) 
+PASS foreignPara1.firstChild.contains(foreignDoctype) 
+PASS foreignPara1.firstChild.contains(paras[1]) 
+PASS foreignPara1.firstChild.contains(detachedPara2) 
+PASS foreignPara1.firstChild.contains(detachedPara2.firstChild) 
+PASS foreignPara1.firstChild.contains(testDiv) 
+PASS foreignPara1.firstChild.contains(detachedXmlElement) 
+PASS foreignPara1.firstChild.contains(detachedForeignTextNode) 
+PASS foreignPara1.firstChild.contains(xmlTextNode) 
+PASS foreignPara1.firstChild.contains(detachedXmlTextNode) 
+PASS foreignPara1.firstChild.contains(xmlComment) 
+PASS foreignPara1.firstChild.contains(foreignComment) 
+PASS foreignPara1.firstChild.contains(detachedForeignComment) 
+PASS foreignPara1.firstChild.contains(detachedXmlComment) 
+PASS foreignPara1.firstChild.contains(foreignDocfrag) 
+PASS foreignPara1.firstChild.contains(xmlDocfrag) 
+PASS foreignPara1.firstChild.contains(xmlDoctype) 
 PASS detachedPara1.contains(null) 
-PASS detachedPara1.compareDocumentPosition(paras[0]) 
-PASS detachedPara1.compareDocumentPosition(paras[0].firstChild) 
-PASS detachedPara1.compareDocumentPosition(paras[1].firstChild) 
-PASS detachedPara1.compareDocumentPosition(foreignPara1) 
-PASS detachedPara1.compareDocumentPosition(foreignPara1.firstChild) 
-PASS detachedPara1.compareDocumentPosition(detachedPara1) 
-PASS detachedPara1.compareDocumentPosition(detachedPara1.firstChild) 
-PASS detachedPara1.compareDocumentPosition(document) 
-PASS detachedPara1.compareDocumentPosition(detachedDiv) 
-PASS detachedPara1.compareDocumentPosition(foreignDoc) 
-PASS detachedPara1.compareDocumentPosition(foreignPara2) 
-PASS detachedPara1.compareDocumentPosition(xmlDoc) 
-PASS detachedPara1.compareDocumentPosition(xmlElement) 
-PASS detachedPara1.compareDocumentPosition(detachedTextNode) 
-PASS detachedPara1.compareDocumentPosition(foreignTextNode) 
-PASS detachedPara1.compareDocumentPosition(processingInstruction) 
-PASS detachedPara1.compareDocumentPosition(detachedProcessingInstruction) 
-PASS detachedPara1.compareDocumentPosition(comment) 
-PASS detachedPara1.compareDocumentPosition(detachedComment) 
-PASS detachedPara1.compareDocumentPosition(docfrag) 
-PASS detachedPara1.compareDocumentPosition(doctype) 
-PASS detachedPara1.compareDocumentPosition(foreignDoctype) 
-PASS detachedPara1.compareDocumentPosition(paras[1]) 
-PASS detachedPara1.compareDocumentPosition(detachedPara2) 
-PASS detachedPara1.compareDocumentPosition(detachedPara2.firstChild) 
-PASS detachedPara1.compareDocumentPosition(testDiv) 
-PASS detachedPara1.compareDocumentPosition(detachedXmlElement) 
-PASS detachedPara1.compareDocumentPosition(detachedForeignTextNode) 
-PASS detachedPara1.compareDocumentPosition(xmlTextNode) 
-PASS detachedPara1.compareDocumentPosition(detachedXmlTextNode) 
-PASS detachedPara1.compareDocumentPosition(xmlComment) 
-PASS detachedPara1.compareDocumentPosition(foreignComment) 
-PASS detachedPara1.compareDocumentPosition(detachedForeignComment) 
-PASS detachedPara1.compareDocumentPosition(detachedXmlComment) 
-PASS detachedPara1.compareDocumentPosition(foreignDocfrag) 
-PASS detachedPara1.compareDocumentPosition(xmlDocfrag) 
-PASS detachedPara1.compareDocumentPosition(xmlDoctype) 
+PASS detachedPara1.contains(paras[0]) 
+PASS detachedPara1.contains(paras[0].firstChild) 
+PASS detachedPara1.contains(paras[1].firstChild) 
+PASS detachedPara1.contains(foreignPara1) 
+PASS detachedPara1.contains(foreignPara1.firstChild) 
+PASS detachedPara1.contains(detachedPara1) 
+PASS detachedPara1.contains(detachedPara1.firstChild) 
+PASS detachedPara1.contains(document) 
+PASS detachedPara1.contains(detachedDiv) 
+PASS detachedPara1.contains(foreignDoc) 
+PASS detachedPara1.contains(foreignPara2) 
+PASS detachedPara1.contains(xmlDoc) 
+PASS detachedPara1.contains(xmlElement) 
+PASS detachedPara1.contains(detachedTextNode) 
+PASS detachedPara1.contains(foreignTextNode) 
+PASS detachedPara1.contains(processingInstruction) 
+PASS detachedPara1.contains(detachedProcessingInstruction) 
+PASS detachedPara1.contains(comment) 
+PASS detachedPara1.contains(detachedComment) 
+PASS detachedPara1.contains(docfrag) 
+PASS detachedPara1.contains(doctype) 
+PASS detachedPara1.contains(foreignDoctype) 
+PASS detachedPara1.contains(paras[1]) 
+PASS detachedPara1.contains(detachedPara2) 
+PASS detachedPara1.contains(detachedPara2.firstChild) 
+PASS detachedPara1.contains(testDiv) 
+PASS detachedPara1.contains(detachedXmlElement) 
+PASS detachedPara1.contains(detachedForeignTextNode) 
+PASS detachedPara1.contains(xmlTextNode) 
+PASS detachedPara1.contains(detachedXmlTextNode) 
+PASS detachedPara1.contains(xmlComment) 
+PASS detachedPara1.contains(foreignComment) 
+PASS detachedPara1.contains(detachedForeignComment) 
+PASS detachedPara1.contains(detachedXmlComment) 
+PASS detachedPara1.contains(foreignDocfrag) 
+PASS detachedPara1.contains(xmlDocfrag) 
+PASS detachedPara1.contains(xmlDoctype) 
 PASS detachedPara1.firstChild.contains(null) 
-PASS detachedPara1.firstChild.compareDocumentPosition(paras[0]) 
-PASS detachedPara1.firstChild.compareDocumentPosition(paras[0].firstChild) 
-PASS detachedPara1.firstChild.compareDocumentPosition(paras[1].firstChild) 
-PASS detachedPara1.firstChild.compareDocumentPosition(foreignPara1) 
-PASS detachedPara1.firstChild.compareDocumentPosition(foreignPara1.firstChild) 
-PASS detachedPara1.firstChild.compareDocumentPosition(detachedPara1) 
-PASS detachedPara1.firstChild.compareDocumentPosition(detachedPara1.firstChild) 
-PASS detachedPara1.firstChild.compareDocumentPosition(document) 
-PASS detachedPara1.firstChild.compareDocumentPosition(detachedDiv) 
-PASS detachedPara1.firstChild.compareDocumentPosition(foreignDoc) 
-PASS detachedPara1.firstChild.compareDocumentPosition(foreignPara2) 
-PASS detachedPara1.firstChild.compareDocumentPosition(xmlDoc) 
-PASS detachedPara1.firstChild.compareDocumentPosition(xmlElement) 
-PASS detachedPara1.firstChild.compareDocumentPosition(detachedTextNode) 
-PASS detachedPara1.firstChild.compareDocumentPosition(foreignTextNode) 
-PASS detachedPara1.firstChild.compareDocumentPosition(processingInstruction) 
-PASS detachedPara1.firstChild.compareDocumentPosition(detachedProcessingInstruction) 
-PASS detachedPara1.firstChild.compareDocumentPosition(comment) 
-PASS detachedPara1.firstChild.compareDocumentPosition(detachedComment) 
-PASS detachedPara1.firstChild.compareDocumentPosition(docfrag) 
-PASS detachedPara1.firstChild.compareDocumentPosition(doctype) 
-PASS detachedPara1.firstChild.compareDocumentPosition(foreignDoctype) 
-PASS detachedPara1.firstChild.compareDocumentPosition(paras[1]) 
-PASS detachedPara1.firstChild.compareDocumentPosition(detachedPara2) 
-PASS detachedPara1.firstChild.compareDocumentPosition(detachedPara2.firstChild) 
-PASS detachedPara1.firstChild.compareDocumentPosition(testDiv) 
-PASS detachedPara1.firstChild.compareDocumentPosition(detachedXmlElement) 
-PASS detachedPara1.firstChild.compareDocumentPosition(detachedForeignTextNode) 
-PASS detachedPara1.firstChild.compareDocumentPosition(xmlTextNode) 
-PASS detachedPara1.firstChild.compareDocumentPosition(detachedXmlTextNode) 
-PASS detachedPara1.firstChild.compareDocumentPosition(xmlComment) 
-PASS detachedPara1.firstChild.compareDocumentPosition(foreignComment) 
-PASS detachedPara1.firstChild.compareDocumentPosition(detachedForeignComment) 
-PASS detachedPara1.firstChild.compareDocumentPosition(detachedXmlComment) 
-PASS detachedPara1.firstChild.compareDocumentPosition(foreignDocfrag) 
-PASS detachedPara1.firstChild.compareDocumentPosition(xmlDocfrag) 
-PASS detachedPara1.firstChild.compareDocumentPosition(xmlDoctype) 
+PASS detachedPara1.firstChild.contains(paras[0]) 
+PASS detachedPara1.firstChild.contains(paras[0].firstChild) 
+PASS detachedPara1.firstChild.contains(paras[1].firstChild) 
+PASS detachedPara1.firstChild.contains(foreignPara1) 
+PASS detachedPara1.firstChild.contains(foreignPara1.firstChild) 
+PASS detachedPara1.firstChild.contains(detachedPara1) 
+PASS detachedPara1.firstChild.contains(detachedPara1.firstChild) 
+PASS detachedPara1.firstChild.contains(document) 
+PASS detachedPara1.firstChild.contains(detachedDiv) 
+PASS detachedPara1.firstChild.contains(foreignDoc) 
+PASS detachedPara1.firstChild.contains(foreignPara2) 
+PASS detachedPara1.firstChild.contains(xmlDoc) 
+PASS detachedPara1.firstChild.contains(xmlElement) 
+PASS detachedPara1.firstChild.contains(detachedTextNode) 
+PASS detachedPara1.firstChild.contains(foreignTextNode) 
+PASS detachedPara1.firstChild.contains(processingInstruction) 
+PASS detachedPara1.firstChild.contains(detachedProcessingInstruction) 
+PASS detachedPara1.firstChild.contains(comment) 
+PASS detachedPara1.firstChild.contains(detachedComment) 
+PASS detachedPara1.firstChild.contains(docfrag) 
+PASS detachedPara1.firstChild.contains(doctype) 
+PASS detachedPara1.firstChild.contains(foreignDoctype) 
+PASS detachedPara1.firstChild.contains(paras[1]) 
+PASS detachedPara1.firstChild.contains(detachedPara2) 
+PASS detachedPara1.firstChild.contains(detachedPara2.firstChild) 
+PASS detachedPara1.firstChild.contains(testDiv) 
+PASS detachedPara1.firstChild.contains(detachedXmlElement) 
+PASS detachedPara1.firstChild.contains(detachedForeignTextNode) 
+PASS detachedPara1.firstChild.contains(xmlTextNode) 
+PASS detachedPara1.firstChild.contains(detachedXmlTextNode) 
+PASS detachedPara1.firstChild.contains(xmlComment) 
+PASS detachedPara1.firstChild.contains(foreignComment) 
+PASS detachedPara1.firstChild.contains(detachedForeignComment) 
+PASS detachedPara1.firstChild.contains(detachedXmlComment) 
+PASS detachedPara1.firstChild.contains(foreignDocfrag) 
+PASS detachedPara1.firstChild.contains(xmlDocfrag) 
+PASS detachedPara1.firstChild.contains(xmlDoctype) 
 PASS document.contains(null) 
-PASS document.compareDocumentPosition(paras[0]) 
-PASS document.compareDocumentPosition(paras[0].firstChild) 
-PASS document.compareDocumentPosition(paras[1].firstChild) 
-PASS document.compareDocumentPosition(foreignPara1) 
-PASS document.compareDocumentPosition(foreignPara1.firstChild) 
-PASS document.compareDocumentPosition(detachedPara1) 
-PASS document.compareDocumentPosition(detachedPara1.firstChild) 
-PASS document.compareDocumentPosition(document) 
-PASS document.compareDocumentPosition(detachedDiv) 
-PASS document.compareDocumentPosition(foreignDoc) 
-PASS document.compareDocumentPosition(foreignPara2) 
-PASS document.compareDocumentPosition(xmlDoc) 
-PASS document.compareDocumentPosition(xmlElement) 
-PASS document.compareDocumentPosition(detachedTextNode) 
-PASS document.compareDocumentPosition(foreignTextNode) 
-PASS document.compareDocumentPosition(processingInstruction) 
-PASS document.compareDocumentPosition(detachedProcessingInstruction) 
-PASS document.compareDocumentPosition(comment) 
-PASS document.compareDocumentPosition(detachedComment) 
-PASS document.compareDocumentPosition(docfrag) 
-PASS document.compareDocumentPosition(doctype) 
-PASS document.compareDocumentPosition(foreignDoctype) 
-PASS document.compareDocumentPosition(paras[1]) 
-PASS document.compareDocumentPosition(detachedPara2) 
-PASS document.compareDocumentPosition(detachedPara2.firstChild) 
-PASS document.compareDocumentPosition(testDiv) 
-PASS document.compareDocumentPosition(detachedXmlElement) 
-PASS document.compareDocumentPosition(detachedForeignTextNode) 
-PASS document.compareDocumentPosition(xmlTextNode) 
-PASS document.compareDocumentPosition(detachedXmlTextNode) 
-PASS document.compareDocumentPosition(xmlComment) 
-PASS document.compareDocumentPosition(foreignComment) 
-PASS document.compareDocumentPosition(detachedForeignComment) 
-PASS document.compareDocumentPosition(detachedXmlComment) 
-PASS document.compareDocumentPosition(foreignDocfrag) 
-PASS document.compareDocumentPosition(xmlDocfrag) 
-PASS document.compareDocumentPosition(xmlDoctype) 
+PASS document.contains(paras[0]) 
+PASS document.contains(paras[0].firstChild) 
+PASS document.contains(paras[1].firstChild) 
+PASS document.contains(foreignPara1) 
+PASS document.contains(foreignPara1.firstChild) 
+PASS document.contains(detachedPara1) 
+PASS document.contains(detachedPara1.firstChild) 
+PASS document.contains(document) 
+PASS document.contains(detachedDiv) 
+PASS document.contains(foreignDoc) 
+PASS document.contains(foreignPara2) 
+PASS document.contains(xmlDoc) 
+PASS document.contains(xmlElement) 
+PASS document.contains(detachedTextNode) 
+PASS document.contains(foreignTextNode) 
+PASS document.contains(processingInstruction) 
+PASS document.contains(detachedProcessingInstruction) 
+PASS document.contains(comment) 
+PASS document.contains(detachedComment) 
+PASS document.contains(docfrag) 
+PASS document.contains(doctype) 
+PASS document.contains(foreignDoctype) 
+PASS document.contains(paras[1]) 
+PASS document.contains(detachedPara2) 
+PASS document.contains(detachedPara2.firstChild) 
+PASS document.contains(testDiv) 
+PASS document.contains(detachedXmlElement) 
+PASS document.contains(detachedForeignTextNode) 
+PASS document.contains(xmlTextNode) 
+PASS document.contains(detachedXmlTextNode) 
+PASS document.contains(xmlComment) 
+PASS document.contains(foreignComment) 
+PASS document.contains(detachedForeignComment) 
+PASS document.contains(detachedXmlComment) 
+PASS document.contains(foreignDocfrag) 
+PASS document.contains(xmlDocfrag) 
+PASS document.contains(xmlDoctype) 
 PASS detachedDiv.contains(null) 
-PASS detachedDiv.compareDocumentPosition(paras[0]) 
-PASS detachedDiv.compareDocumentPosition(paras[0].firstChild) 
-PASS detachedDiv.compareDocumentPosition(paras[1].firstChild) 
-PASS detachedDiv.compareDocumentPosition(foreignPara1) 
-PASS detachedDiv.compareDocumentPosition(foreignPara1.firstChild) 
-PASS detachedDiv.compareDocumentPosition(detachedPara1) 
-PASS detachedDiv.compareDocumentPosition(detachedPara1.firstChild) 
-PASS detachedDiv.compareDocumentPosition(document) 
-PASS detachedDiv.compareDocumentPosition(detachedDiv) 
-PASS detachedDiv.compareDocumentPosition(foreignDoc) 
-PASS detachedDiv.compareDocumentPosition(foreignPara2) 
-PASS detachedDiv.compareDocumentPosition(xmlDoc) 
-PASS detachedDiv.compareDocumentPosition(xmlElement) 
-PASS detachedDiv.compareDocumentPosition(detachedTextNode) 
-PASS detachedDiv.compareDocumentPosition(foreignTextNode) 
-PASS detachedDiv.compareDocumentPosition(processingInstruction) 
-PASS detachedDiv.compareDocumentPosition(detachedProcessingInstruction) 
-PASS detachedDiv.compareDocumentPosition(comment) 
-PASS detachedDiv.compareDocumentPosition(detachedComment) 
-PASS detachedDiv.compareDocumentPosition(docfrag) 
-PASS detachedDiv.compareDocumentPosition(doctype) 
-PASS detachedDiv.compareDocumentPosition(foreignDoctype) 
-PASS detachedDiv.compareDocumentPosition(paras[1]) 
-PASS detachedDiv.compareDocumentPosition(detachedPara2) 
-PASS detachedDiv.compareDocumentPosition(detachedPara2.firstChild) 
-PASS detachedDiv.compareDocumentPosition(testDiv) 
-PASS detachedDiv.compareDocumentPosition(detachedXmlElement) 
-PASS detachedDiv.compareDocumentPosition(detachedForeignTextNode) 
-PASS detachedDiv.compareDocumentPosition(xmlTextNode) 
-PASS detachedDiv.compareDocumentPosition(detachedXmlTextNode) 
-PASS detachedDiv.compareDocumentPosition(xmlComment) 
-PASS detachedDiv.compareDocumentPosition(foreignComment) 
-PASS detachedDiv.compareDocumentPosition(detachedForeignComment) 
-PASS detachedDiv.compareDocumentPosition(detachedXmlComment) 
-PASS detachedDiv.compareDocumentPosition(foreignDocfrag) 
-PASS detachedDiv.compareDocumentPosition(xmlDocfrag) 
-PASS detachedDiv.compareDocumentPosition(xmlDoctype) 
+PASS detachedDiv.contains(paras[0]) 
+PASS detachedDiv.contains(paras[0].firstChild) 
+PASS detachedDiv.contains(paras[1].firstChild) 
+PASS detachedDiv.contains(foreignPara1) 
+PASS detachedDiv.contains(foreignPara1.firstChild) 
+PASS detachedDiv.contains(detachedPara1) 
+PASS detachedDiv.contains(detachedPara1.firstChild) 
+PASS detachedDiv.contains(document) 
+PASS detachedDiv.contains(detachedDiv) 
+PASS detachedDiv.contains(foreignDoc) 
+PASS detachedDiv.contains(foreignPara2) 
+PASS detachedDiv.contains(xmlDoc) 
+PASS detachedDiv.contains(xmlElement) 
+PASS detachedDiv.contains(detachedTextNode) 
+PASS detachedDiv.contains(foreignTextNode) 
+PASS detachedDiv.contains(processingInstruction) 
+PASS detachedDiv.contains(detachedProcessingInstruction) 
+PASS detachedDiv.contains(comment) 
+PASS detachedDiv.contains(detachedComment) 
+PASS detachedDiv.contains(docfrag) 
+PASS detachedDiv.contains(doctype) 
+PASS detachedDiv.contains(foreignDoctype) 
+PASS detachedDiv.contains(paras[1]) 
+PASS detachedDiv.contains(detachedPara2) 
+PASS detachedDiv.contains(detachedPara2.firstChild) 
+PASS detachedDiv.contains(testDiv) 
+PASS detachedDiv.contains(detachedXmlElement) 
+PASS detachedDiv.contains(detachedForeignTextNode) 
+PASS detachedDiv.contains(xmlTextNode) 
+PASS detachedDiv.contains(detachedXmlTextNode) 
+PASS detachedDiv.contains(xmlComment) 
+PASS detachedDiv.contains(foreignComment) 
+PASS detachedDiv.contains(detachedForeignComment) 
+PASS detachedDiv.contains(detachedXmlComment) 
+PASS detachedDiv.contains(foreignDocfrag) 
+PASS detachedDiv.contains(xmlDocfrag) 
+PASS detachedDiv.contains(xmlDoctype) 
 PASS foreignDoc.contains(null) 
-PASS foreignDoc.compareDocumentPosition(paras[0]) 
-PASS foreignDoc.compareDocumentPosition(paras[0].firstChild) 
-PASS foreignDoc.compareDocumentPosition(paras[1].firstChild) 
-PASS foreignDoc.compareDocumentPosition(foreignPara1) 
-PASS foreignDoc.compareDocumentPosition(foreignPara1.firstChild) 
-PASS foreignDoc.compareDocumentPosition(detachedPara1) 
-PASS foreignDoc.compareDocumentPosition(detachedPara1.firstChild) 
-PASS foreignDoc.compareDocumentPosition(document) 
-PASS foreignDoc.compareDocumentPosition(detachedDiv) 
-PASS foreignDoc.compareDocumentPosition(foreignDoc) 
-PASS foreignDoc.compareDocumentPosition(foreignPara2) 
-PASS foreignDoc.compareDocumentPosition(xmlDoc) 
-PASS foreignDoc.compareDocumentPosition(xmlElement) 
-PASS foreignDoc.compareDocumentPosition(detachedTextNode) 
-PASS foreignDoc.compareDocumentPosition(foreignTextNode) 
-PASS foreignDoc.compareDocumentPosition(processingInstruction) 
-PASS foreignDoc.compareDocumentPosition(detachedProcessingInstruction) 
-PASS foreignDoc.compareDocumentPosition(comment) 
-PASS foreignDoc.compareDocumentPosition(detachedComment) 
-PASS foreignDoc.compareDocumentPosition(docfrag) 
-PASS foreignDoc.compareDocumentPosition(doctype) 
-PASS foreignDoc.compareDocumentPosition(foreignDoctype) 
-PASS foreignDoc.compareDocumentPosition(paras[1]) 
-PASS foreignDoc.compareDocumentPosition(detachedPara2) 
-PASS foreignDoc.compareDocumentPosition(detachedPara2.firstChild) 
-PASS foreignDoc.compareDocumentPosition(testDiv) 
-PASS foreignDoc.compareDocumentPosition(detachedXmlElement) 
-PASS foreignDoc.compareDocumentPosition(detachedForeignTextNode) 
-PASS foreignDoc.compareDocumentPosition(xmlTextNode) 
-PASS foreignDoc.compareDocumentPosition(detachedXmlTextNode) 
-PASS foreignDoc.compareDocumentPosition(xmlComment) 
-PASS foreignDoc.compareDocumentPosition(foreignComment) 
-PASS foreignDoc.compareDocumentPosition(detachedForeignComment) 
-PASS foreignDoc.compareDocumentPosition(detachedXmlComment) 
-PASS foreignDoc.compareDocumentPosition(foreignDocfrag) 
-PASS foreignDoc.compareDocumentPosition(xmlDocfrag) 
-PASS foreignDoc.compareDocumentPosition(xmlDoctype) 
+PASS foreignDoc.contains(paras[0]) 
+PASS foreignDoc.contains(paras[0].firstChild) 
+PASS foreignDoc.contains(paras[1].firstChild) 
+PASS foreignDoc.contains(foreignPara1) 
+PASS foreignDoc.contains(foreignPara1.firstChild) 
+PASS foreignDoc.contains(detachedPara1) 
+PASS foreignDoc.contains(detachedPara1.firstChild) 
+PASS foreignDoc.contains(document) 
+PASS foreignDoc.contains(detachedDiv) 
+PASS foreignDoc.contains(foreignDoc) 
+PASS foreignDoc.contains(foreignPara2) 
+PASS foreignDoc.contains(xmlDoc) 
+PASS foreignDoc.contains(xmlElement) 
+PASS foreignDoc.contains(detachedTextNode) 
+PASS foreignDoc.contains(foreignTextNode) 
+PASS foreignDoc.contains(processingInstruction) 
+PASS foreignDoc.contains(detachedProcessingInstruction) 
+PASS foreignDoc.contains(comment) 
+PASS foreignDoc.contains(detachedComment) 
+PASS foreignDoc.contains(docfrag) 
+PASS foreignDoc.contains(doctype) 
+PASS foreignDoc.contains(foreignDoctype) 
+PASS foreignDoc.contains(paras[1]) 
+PASS foreignDoc.contains(detachedPara2) 
+PASS foreignDoc.contains(detachedPara2.firstChild) 
+PASS foreignDoc.contains(testDiv) 
+PASS foreignDoc.contains(detachedXmlElement) 
+PASS foreignDoc.contains(detachedForeignTextNode) 
+PASS foreignDoc.contains(xmlTextNode) 
+PASS foreignDoc.contains(detachedXmlTextNode) 
+PASS foreignDoc.contains(xmlComment) 
+PASS foreignDoc.contains(foreignComment) 
+PASS foreignDoc.contains(detachedForeignComment) 
+PASS foreignDoc.contains(detachedXmlComment) 
+PASS foreignDoc.contains(foreignDocfrag) 
+PASS foreignDoc.contains(xmlDocfrag) 
+PASS foreignDoc.contains(xmlDoctype) 
 PASS foreignPara2.contains(null) 
-PASS foreignPara2.compareDocumentPosition(paras[0]) 
-PASS foreignPara2.compareDocumentPosition(paras[0].firstChild) 
-PASS foreignPara2.compareDocumentPosition(paras[1].firstChild) 
-PASS foreignPara2.compareDocumentPosition(foreignPara1) 
-PASS foreignPara2.compareDocumentPosition(foreignPara1.firstChild) 
-PASS foreignPara2.compareDocumentPosition(detachedPara1) 
-PASS foreignPara2.compareDocumentPosition(detachedPara1.firstChild) 
-PASS foreignPara2.compareDocumentPosition(document) 
-PASS foreignPara2.compareDocumentPosition(detachedDiv) 
-PASS foreignPara2.compareDocumentPosition(foreignDoc) 
-PASS foreignPara2.compareDocumentPosition(foreignPara2) 
-PASS foreignPara2.compareDocumentPosition(xmlDoc) 
-PASS foreignPara2.compareDocumentPosition(xmlElement) 
-PASS foreignPara2.compareDocumentPosition(detachedTextNode) 
-PASS foreignPara2.compareDocumentPosition(foreignTextNode) 
-PASS foreignPara2.compareDocumentPosition(processingInstruction) 
-PASS foreignPara2.compareDocumentPosition(detachedProcessingInstruction) 
-PASS foreignPara2.compareDocumentPosition(comment) 
-PASS foreignPara2.compareDocumentPosition(detachedComment) 
-PASS foreignPara2.compareDocumentPosition(docfrag) 
-PASS foreignPara2.compareDocumentPosition(doctype) 
-PASS foreignPara2.compareDocumentPosition(foreignDoctype) 
-PASS foreignPara2.compareDocumentPosition(paras[1]) 
-PASS foreignPara2.compareDocumentPosition(detachedPara2) 
-PASS foreignPara2.compareDocumentPosition(detachedPara2.firstChild) 
-PASS foreignPara2.compareDocumentPosition(testDiv) 
-PASS foreignPara2.compareDocumentPosition(detachedXmlElement) 
-PASS foreignPara2.compareDocumentPosition(detachedForeignTextNode) 
-PASS foreignPara2.compareDocumentPosition(xmlTextNode) 
-PASS foreignPara2.compareDocumentPosition(detachedXmlTextNode) 
-PASS foreignPara2.compareDocumentPosition(xmlComment) 
-PASS foreignPara2.compareDocumentPosition(foreignComment) 
-PASS foreignPara2.compareDocumentPosition(detachedForeignComment) 
-PASS foreignPara2.compareDocumentPosition(detachedXmlComment) 
-PASS foreignPara2.compareDocumentPosition(foreignDocfrag) 
-PASS foreignPara2.compareDocumentPosition(xmlDocfrag) 
-PASS foreignPara2.compareDocumentPosition(xmlDoctype) 
+PASS foreignPara2.contains(paras[0]) 
+PASS foreignPara2.contains(paras[0].firstChild) 
+PASS foreignPara2.contains(paras[1].firstChild) 
+PASS foreignPara2.contains(foreignPara1) 
+PASS foreignPara2.contains(foreignPara1.firstChild) 
+PASS foreignPara2.contains(detachedPara1) 
+PASS foreignPara2.contains(detachedPara1.firstChild) 
+PASS foreignPara2.contains(document) 
+PASS foreignPara2.contains(detachedDiv) 
+PASS foreignPara2.contains(foreignDoc) 
+PASS foreignPara2.contains(foreignPara2) 
+PASS foreignPara2.contains(xmlDoc) 
+PASS foreignPara2.contains(xmlElement) 
+PASS foreignPara2.contains(detachedTextNode) 
+PASS foreignPara2.contains(foreignTextNode) 
+PASS foreignPara2.contains(processingInstruction) 
+PASS foreignPara2.contains(detachedProcessingInstruction) 
+PASS foreignPara2.contains(comment) 
+PASS foreignPara2.contains(detachedComment) 
+PASS foreignPara2.contains(docfrag) 
+PASS foreignPara2.contains(doctype) 
+PASS foreignPara2.contains(foreignDoctype) 
+PASS foreignPara2.contains(paras[1]) 
+PASS foreignPara2.contains(detachedPara2) 
+PASS foreignPara2.contains(detachedPara2.firstChild) 
+PASS foreignPara2.contains(testDiv) 
+PASS foreignPara2.contains(detachedXmlElement) 
+PASS foreignPara2.contains(detachedForeignTextNode) 
+PASS foreignPara2.contains(xmlTextNode) 
+PASS foreignPara2.contains(detachedXmlTextNode) 
+PASS foreignPara2.contains(xmlComment) 
+PASS foreignPara2.contains(foreignComment) 
+PASS foreignPara2.contains(detachedForeignComment) 
+PASS foreignPara2.contains(detachedXmlComment) 
+PASS foreignPara2.contains(foreignDocfrag) 
+PASS foreignPara2.contains(xmlDocfrag) 
+PASS foreignPara2.contains(xmlDoctype) 
 PASS xmlDoc.contains(null) 
-PASS xmlDoc.compareDocumentPosition(paras[0]) 
-PASS xmlDoc.compareDocumentPosition(paras[0].firstChild) 
-PASS xmlDoc.compareDocumentPosition(paras[1].firstChild) 
-PASS xmlDoc.compareDocumentPosition(foreignPara1) 
-PASS xmlDoc.compareDocumentPosition(foreignPara1.firstChild) 
-PASS xmlDoc.compareDocumentPosition(detachedPara1) 
-PASS xmlDoc.compareDocumentPosition(detachedPara1.firstChild) 
-PASS xmlDoc.compareDocumentPosition(document) 
-PASS xmlDoc.compareDocumentPosition(detachedDiv) 
-PASS xmlDoc.compareDocumentPosition(foreignDoc) 
-PASS xmlDoc.compareDocumentPosition(foreignPara2) 
-PASS xmlDoc.compareDocumentPosition(xmlDoc) 
-PASS xmlDoc.compareDocumentPosition(xmlElement) 
-PASS xmlDoc.compareDocumentPosition(detachedTextNode) 
-PASS xmlDoc.compareDocumentPosition(foreignTextNode) 
-PASS xmlDoc.compareDocumentPosition(processingInstruction) 
-PASS xmlDoc.compareDocumentPosition(detachedProcessingInstruction) 
-PASS xmlDoc.compareDocumentPosition(comment) 
-PASS xmlDoc.compareDocumentPosition(detachedComment) 
-PASS xmlDoc.compareDocumentPosition(docfrag) 
-PASS xmlDoc.compareDocumentPosition(doctype) 
-PASS xmlDoc.compareDocumentPosition(foreignDoctype) 
-PASS xmlDoc.compareDocumentPosition(paras[1]) 
-PASS xmlDoc.compareDocumentPosition(detachedPara2) 
-PASS xmlDoc.compareDocumentPosition(detachedPara2.firstChild) 
-PASS xmlDoc.compareDocumentPosition(testDiv) 
-PASS xmlDoc.compareDocumentPosition(detachedXmlElement) 
-PASS xmlDoc.compareDocumentPosition(detachedForeignTextNode) 
-PASS xmlDoc.compareDocumentPosition(xmlTextNode) 
-PASS xmlDoc.compareDocumentPosition(detachedXmlTextNode) 
-PASS xmlDoc.compareDocumentPosition(xmlComment) 
-PASS xmlDoc.compareDocumentPosition(foreignComment) 
-PASS xmlDoc.compareDocumentPosition(detachedForeignComment) 
-PASS xmlDoc.compareDocumentPosition(detachedXmlComment) 
-PASS xmlDoc.compareDocumentPosition(foreignDocfrag) 
-PASS xmlDoc.compareDocumentPosition(xmlDocfrag) 
-PASS xmlDoc.compareDocumentPosition(xmlDoctype) 
+PASS xmlDoc.contains(paras[0]) 
+PASS xmlDoc.contains(paras[0].firstChild) 
+PASS xmlDoc.contains(paras[1].firstChild) 
+PASS xmlDoc.contains(foreignPara1) 
+PASS xmlDoc.contains(foreignPara1.firstChild) 
+PASS xmlDoc.contains(detachedPara1) 
+PASS xmlDoc.contains(detachedPara1.firstChild) 
+PASS xmlDoc.contains(document) 
+PASS xmlDoc.contains(detachedDiv) 
+PASS xmlDoc.contains(foreignDoc) 
+PASS xmlDoc.contains(foreignPara2) 
+PASS xmlDoc.contains(xmlDoc) 
+PASS xmlDoc.contains(xmlElement) 
+PASS xmlDoc.contains(detachedTextNode) 
+PASS xmlDoc.contains(foreignTextNode) 
+PASS xmlDoc.contains(processingInstruction) 
+PASS xmlDoc.contains(detachedProcessingInstruction) 
+PASS xmlDoc.contains(comment) 
+PASS xmlDoc.contains(detachedComment) 
+PASS xmlDoc.contains(docfrag) 
+PASS xmlDoc.contains(doctype) 
+PASS xmlDoc.contains(foreignDoctype) 
+PASS xmlDoc.contains(paras[1]) 
+PASS xmlDoc.contains(detachedPara2) 
+PASS xmlDoc.contains(detachedPara2.firstChild) 
+PASS xmlDoc.contains(testDiv) 
+PASS xmlDoc.contains(detachedXmlElement) 
+PASS xmlDoc.contains(detachedForeignTextNode) 
+PASS xmlDoc.contains(xmlTextNode) 
+PASS xmlDoc.contains(detachedXmlTextNode) 
+PASS xmlDoc.contains(xmlComment) 
+PASS xmlDoc.contains(foreignComment) 
+PASS xmlDoc.contains(detachedForeignComment) 
+PASS xmlDoc.contains(detachedXmlComment) 
+PASS xmlDoc.contains(foreignDocfrag) 
+PASS xmlDoc.contains(xmlDocfrag) 
+PASS xmlDoc.contains(xmlDoctype) 
 PASS xmlElement.contains(null) 
-PASS xmlElement.compareDocumentPosition(paras[0]) 
-PASS xmlElement.compareDocumentPosition(paras[0].firstChild) 
-PASS xmlElement.compareDocumentPosition(paras[1].firstChild) 
-PASS xmlElement.compareDocumentPosition(foreignPara1) 
-PASS xmlElement.compareDocumentPosition(foreignPara1.firstChild) 
-PASS xmlElement.compareDocumentPosition(detachedPara1) 
-PASS xmlElement.compareDocumentPosition(detachedPara1.firstChild) 
-PASS xmlElement.compareDocumentPosition(document) 
-PASS xmlElement.compareDocumentPosition(detachedDiv) 
-PASS xmlElement.compareDocumentPosition(foreignDoc) 
-PASS xmlElement.compareDocumentPosition(foreignPara2) 
-PASS xmlElement.compareDocumentPosition(xmlDoc) 
-PASS xmlElement.compareDocumentPosition(xmlElement) 
-PASS xmlElement.compareDocumentPosition(detachedTextNode) 
-PASS xmlElement.compareDocumentPosition(foreignTextNode) 
-PASS xmlElement.compareDocumentPosition(processingInstruction) 
-PASS xmlElement.compareDocumentPosition(detachedProcessingInstruction) 
-PASS xmlElement.compareDocumentPosition(comment) 
-PASS xmlElement.compareDocumentPosition(detachedComment) 
-PASS xmlElement.compareDocumentPosition(docfrag) 
-PASS xmlElement.compareDocumentPosition(doctype) 
-PASS xmlElement.compareDocumentPosition(foreignDoctype) 
-PASS xmlElement.compareDocumentPosition(paras[1]) 
-PASS xmlElement.compareDocumentPosition(detachedPara2) 
-PASS xmlElement.compareDocumentPosition(detachedPara2.firstChild) 
-PASS xmlElement.compareDocumentPosition(testDiv) 
-PASS xmlElement.compareDocumentPosition(detachedXmlElement) 
-PASS xmlElement.compareDocumentPosition(detachedForeignTextNode) 
-PASS xmlElement.compareDocumentPosition(xmlTextNode) 
-PASS xmlElement.compareDocumentPosition(detachedXmlTextNode) 
-PASS xmlElement.compareDocumentPosition(xmlComment) 
-PASS xmlElement.compareDocumentPosition(foreignComment) 
-PASS xmlElement.compareDocumentPosition(detachedForeignComment) 
-PASS xmlElement.compareDocumentPosition(detachedXmlComment) 
-PASS xmlElement.compareDocumentPosition(foreignDocfrag) 
-PASS xmlElement.compareDocumentPosition(xmlDocfrag) 
-PASS xmlElement.compareDocumentPosition(xmlDoctype) 
+PASS xmlElement.contains(paras[0]) 
+PASS xmlElement.contains(paras[0].firstChild) 
+PASS xmlElement.contains(paras[1].firstChild) 
+PASS xmlElement.contains(foreignPara1) 
+PASS xmlElement.contains(foreignPara1.firstChild) 
+PASS xmlElement.contains(detachedPara1) 
+PASS xmlElement.contains(detachedPara1.firstChild) 
+PASS xmlElement.contains(document) 
+PASS xmlElement.contains(detachedDiv) 
+PASS xmlElement.contains(foreignDoc) 
+PASS xmlElement.contains(foreignPara2) 
+PASS xmlElement.contains(xmlDoc) 
+PASS xmlElement.contains(xmlElement) 
+PASS xmlElement.contains(detachedTextNode) 
+PASS xmlElement.contains(foreignTextNode) 
+PASS xmlElement.contains(processingInstruction) 
+PASS xmlElement.contains(detachedProcessingInstruction) 
+PASS xmlElement.contains(comment) 
+PASS xmlElement.contains(detachedComment) 
+PASS xmlElement.contains(docfrag) 
+PASS xmlElement.contains(doctype) 
+PASS xmlElement.contains(foreignDoctype) 
+PASS xmlElement.contains(paras[1]) 
+PASS xmlElement.contains(detachedPara2) 
+PASS xmlElement.contains(detachedPara2.firstChild) 
+PASS xmlElement.contains(testDiv) 
+PASS xmlElement.contains(detachedXmlElement) 
+PASS xmlElement.contains(detachedForeignTextNode) 
+PASS xmlElement.contains(xmlTextNode) 
+PASS xmlElement.contains(detachedXmlTextNode) 
+PASS xmlElement.contains(xmlComment) 
+PASS xmlElement.contains(foreignComment) 
+PASS xmlElement.contains(detachedForeignComment) 
+PASS xmlElement.contains(detachedXmlComment) 
+PASS xmlElement.contains(foreignDocfrag) 
+PASS xmlElement.contains(xmlDocfrag) 
+PASS xmlElement.contains(xmlDoctype) 
 PASS detachedTextNode.contains(null) 
-PASS detachedTextNode.compareDocumentPosition(paras[0]) 
-PASS detachedTextNode.compareDocumentPosition(paras[0].firstChild) 
-PASS detachedTextNode.compareDocumentPosition(paras[1].firstChild) 
-PASS detachedTextNode.compareDocumentPosition(foreignPara1) 
-PASS detachedTextNode.compareDocumentPosition(foreignPara1.firstChild) 
-PASS detachedTextNode.compareDocumentPosition(detachedPara1) 
-PASS detachedTextNode.compareDocumentPosition(detachedPara1.firstChild) 
-PASS detachedTextNode.compareDocumentPosition(document) 
-PASS detachedTextNode.compareDocumentPosition(detachedDiv) 
-PASS detachedTextNode.compareDocumentPosition(foreignDoc) 
-PASS detachedTextNode.compareDocumentPosition(foreignPara2) 
-PASS detachedTextNode.compareDocumentPosition(xmlDoc) 
-PASS detachedTextNode.compareDocumentPosition(xmlElement) 
-PASS detachedTextNode.compareDocumentPosition(detachedTextNode) 
-PASS detachedTextNode.compareDocumentPosition(foreignTextNode) 
-PASS detachedTextNode.compareDocumentPosition(processingInstruction) 
-PASS detachedTextNode.compareDocumentPosition(detachedProcessingInstruction) 
-PASS detachedTextNode.compareDocumentPosition(comment) 
-PASS detachedTextNode.compareDocumentPosition(detachedComment) 
-PASS detachedTextNode.compareDocumentPosition(docfrag) 
-PASS detachedTextNode.compareDocumentPosition(doctype) 
-PASS detachedTextNode.compareDocumentPosition(foreignDoctype) 
-PASS detachedTextNode.compareDocumentPosition(paras[1]) 
-PASS detachedTextNode.compareDocumentPosition(detachedPara2) 
-PASS detachedTextNode.compareDocumentPosition(detachedPara2.firstChild) 
-PASS detachedTextNode.compareDocumentPosition(testDiv) 
-PASS detachedTextNode.compareDocumentPosition(detachedXmlElement) 
-PASS detachedTextNode.compareDocumentPosition(detachedForeignTextNode) 
-PASS detachedTextNode.compareDocumentPosition(xmlTextNode) 
-PASS detachedTextNode.compareDocumentPosition(detachedXmlTextNode) 
-PASS detachedTextNode.compareDocumentPosition(xmlComment) 
-PASS detachedTextNode.compareDocumentPosition(foreignComment) 
-PASS detachedTextNode.compareDocumentPosition(detachedForeignComment) 
-PASS detachedTextNode.compareDocumentPosition(detachedXmlComment) 
-PASS detachedTextNode.compareDocumentPosition(foreignDocfrag) 
-PASS detachedTextNode.compareDocumentPosition(xmlDocfrag) 
-PASS detachedTextNode.compareDocumentPosition(xmlDoctype) 
+PASS detachedTextNode.contains(paras[0]) 
+PASS detachedTextNode.contains(paras[0].firstChild) 
+PASS detachedTextNode.contains(paras[1].firstChild) 
+PASS detachedTextNode.contains(foreignPara1) 
+PASS detachedTextNode.contains(foreignPara1.firstChild) 
+PASS detachedTextNode.contains(detachedPara1) 
+PASS detachedTextNode.contains(detachedPara1.firstChild) 
+PASS detachedTextNode.contains(document) 
+PASS detachedTextNode.contains(detachedDiv) 
+PASS detachedTextNode.contains(foreignDoc) 
+PASS detachedTextNode.contains(foreignPara2) 
+PASS detachedTextNode.contains(xmlDoc) 
+PASS detachedTextNode.contains(xmlElement) 
+PASS detachedTextNode.contains(detachedTextNode) 
+PASS detachedTextNode.contains(foreignTextNode) 
+PASS detachedTextNode.contains(processingInstruction) 
+PASS detachedTextNode.contains(detachedProcessingInstruction) 
+PASS detachedTextNode.contains(comment) 
+PASS detachedTextNode.contains(detachedComment) 
+PASS detachedTextNode.contains(docfrag) 
+PASS detachedTextNode.contains(doctype) 
+PASS detachedTextNode.contains(foreignDoctype) 
+PASS detachedTextNode.contains(paras[1]) 
+PASS detachedTextNode.contains(detachedPara2) 
+PASS detachedTextNode.contains(detachedPara2.firstChild) 
+PASS detachedTextNode.contains(testDiv) 
+PASS detachedTextNode.contains(detachedXmlElement) 
+PASS detachedTextNode.contains(detachedForeignTextNode) 
+PASS detachedTextNode.contains(xmlTextNode) 
+PASS detachedTextNode.contains(detachedXmlTextNode) 
+PASS detachedTextNode.contains(xmlComment) 
+PASS detachedTextNode.contains(foreignComment) 
+PASS detachedTextNode.contains(detachedForeignComment) 
+PASS detachedTextNode.contains(detachedXmlComment) 
+PASS detachedTextNode.contains(foreignDocfrag) 
+PASS detachedTextNode.contains(xmlDocfrag) 
+PASS detachedTextNode.contains(xmlDoctype) 
 PASS foreignTextNode.contains(null) 
-PASS foreignTextNode.compareDocumentPosition(paras[0]) 
-PASS foreignTextNode.compareDocumentPosition(paras[0].firstChild) 
-PASS foreignTextNode.compareDocumentPosition(paras[1].firstChild) 
-PASS foreignTextNode.compareDocumentPosition(foreignPara1) 
-PASS foreignTextNode.compareDocumentPosition(foreignPara1.firstChild) 
-PASS foreignTextNode.compareDocumentPosition(detachedPara1) 
-PASS foreignTextNode.compareDocumentPosition(detachedPara1.firstChild) 
-PASS foreignTextNode.compareDocumentPosition(document) 
-PASS foreignTextNode.compareDocumentPosition(detachedDiv) 
-PASS foreignTextNode.compareDocumentPosition(foreignDoc) 
-PASS foreignTextNode.compareDocumentPosition(foreignPara2) 
-PASS foreignTextNode.compareDocumentPosition(xmlDoc) 
-PASS foreignTextNode.compareDocumentPosition(xmlElement) 
-PASS foreignTextNode.compareDocumentPosition(detachedTextNode) 
-PASS foreignTextNode.compareDocumentPosition(foreignTextNode) 
-PASS foreignTextNode.compareDocumentPosition(processingInstruction) 
-PASS foreignTextNode.compareDocumentPosition(detachedProcessingInstruction) 
-PASS foreignTextNode.compareDocumentPosition(comment) 
-PASS foreignTextNode.compareDocumentPosition(detachedComment) 
-PASS foreignTextNode.compareDocumentPosition(docfrag) 
-PASS foreignTextNode.compareDocumentPosition(doctype) 
-PASS foreignTextNode.compareDocumentPosition(foreignDoctype) 
-PASS foreignTextNode.compareDocumentPosition(paras[1]) 
-PASS foreignTextNode.compareDocumentPosition(detachedPara2) 
-PASS foreignTextNode.compareDocumentPosition(detachedPara2.firstChild) 
-PASS foreignTextNode.compareDocumentPosition(testDiv) 
-PASS foreignTextNode.compareDocumentPosition(detachedXmlElement) 
-PASS foreignTextNode.compareDocumentPosition(detachedForeignTextNode) 
-PASS foreignTextNode.compareDocumentPosition(xmlTextNode) 
-PASS foreignTextNode.compareDocumentPosition(detachedXmlTextNode) 
-PASS foreignTextNode.compareDocumentPosition(xmlComment) 
-PASS foreignTextNode.compareDocumentPosition(foreignComment) 
-PASS foreignTextNode.compareDocumentPosition(detachedForeignComment) 
-PASS foreignTextNode.compareDocumentPosition(detachedXmlComment) 
-PASS foreignTextNode.compareDocumentPosition(foreignDocfrag) 
-PASS foreignTextNode.compareDocumentPosition(xmlDocfrag) 
-PASS foreignTextNode.compareDocumentPosition(xmlDoctype) 
+PASS foreignTextNode.contains(paras[0]) 
+PASS foreignTextNode.contains(paras[0].firstChild) 
+PASS foreignTextNode.contains(paras[1].firstChild) 
+PASS foreignTextNode.contains(foreignPara1) 
+PASS foreignTextNode.contains(foreignPara1.firstChild) 
+PASS foreignTextNode.contains(detachedPara1) 
+PASS foreignTextNode.contains(detachedPara1.firstChild) 
+PASS foreignTextNode.contains(document) 
+PASS foreignTextNode.contains(detachedDiv) 
+PASS foreignTextNode.contains(foreignDoc) 
+PASS foreignTextNode.contains(foreignPara2) 
+PASS foreignTextNode.contains(xmlDoc) 
+PASS foreignTextNode.contains(xmlElement) 
+PASS foreignTextNode.contains(detachedTextNode) 
+PASS foreignTextNode.contains(foreignTextNode) 
+PASS foreignTextNode.contains(processingInstruction) 
+PASS foreignTextNode.contains(detachedProcessingInstruction) 
+PASS foreignTextNode.contains(comment) 
+PASS foreignTextNode.contains(detachedComment) 
+PASS foreignTextNode.contains(docfrag) 
+PASS foreignTextNode.contains(doctype) 
+PASS foreignTextNode.contains(foreignDoctype) 
+PASS foreignTextNode.contains(paras[1]) 
+PASS foreignTextNode.contains(detachedPara2) 
+PASS foreignTextNode.contains(detachedPara2.firstChild) 
+PASS foreignTextNode.contains(testDiv) 
+PASS foreignTextNode.contains(detachedXmlElement) 
+PASS foreignTextNode.contains(detachedForeignTextNode) 
+PASS foreignTextNode.contains(xmlTextNode) 
+PASS foreignTextNode.contains(detachedXmlTextNode) 
+PASS foreignTextNode.contains(xmlComment) 
+PASS foreignTextNode.contains(foreignComment) 
+PASS foreignTextNode.contains(detachedForeignComment) 
+PASS foreignTextNode.contains(detachedXmlComment) 
+PASS foreignTextNode.contains(foreignDocfrag) 
+PASS foreignTextNode.contains(xmlDocfrag) 
+PASS foreignTextNode.contains(xmlDoctype) 
 PASS processingInstruction.contains(null) 
-PASS processingInstruction.compareDocumentPosition(paras[0]) 
-PASS processingInstruction.compareDocumentPosition(paras[0].firstChild) 
-PASS processingInstruction.compareDocumentPosition(paras[1].firstChild) 
-PASS processingInstruction.compareDocumentPosition(foreignPara1) 
-PASS processingInstruction.compareDocumentPosition(foreignPara1.firstChild) 
-PASS processingInstruction.compareDocumentPosition(detachedPara1) 
-PASS processingInstruction.compareDocumentPosition(detachedPara1.firstChild) 
-PASS processingInstruction.compareDocumentPosition(document) 
-PASS processingInstruction.compareDocumentPosition(detachedDiv) 
-PASS processingInstruction.compareDocumentPosition(foreignDoc) 
-PASS processingInstruction.compareDocumentPosition(foreignPara2) 
-PASS processingInstruction.compareDocumentPosition(xmlDoc) 
-PASS processingInstruction.compareDocumentPosition(xmlElement) 
-PASS processingInstruction.compareDocumentPosition(detachedTextNode) 
-PASS processingInstruction.compareDocumentPosition(foreignTextNode) 
-PASS processingInstruction.compareDocumentPosition(processingInstruction) 
-PASS processingInstruction.compareDocumentPosition(detachedProcessingInstruction) 
-PASS processingInstruction.compareDocumentPosition(comment) 
-PASS processingInstruction.compareDocumentPosition(detachedComment) 
-PASS processingInstruction.compareDocumentPosition(docfrag) 
-PASS processingInstruction.compareDocumentPosition(doctype) 
-PASS processingInstruction.compareDocumentPosition(foreignDoctype) 
-PASS processingInstruction.compareDocumentPosition(paras[1]) 
-PASS processingInstruction.compareDocumentPosition(detachedPara2) 
-PASS processingInstruction.compareDocumentPosition(detachedPara2.firstChild) 
-PASS processingInstruction.compareDocumentPosition(testDiv) 
-PASS processingInstruction.compareDocumentPosition(detachedXmlElement) 
-PASS processingInstruction.compareDocumentPosition(detachedForeignTextNode) 
-PASS processingInstruction.compareDocumentPosition(xmlTextNode) 
-PASS processingInstruction.compareDocumentPosition(detachedXmlTextNode) 
-PASS processingInstruction.compareDocumentPosition(xmlComment) 
-PASS processingInstruction.compareDocumentPosition(foreignComment) 
-PASS processingInstruction.compareDocumentPosition(detachedForeignComment) 
-PASS processingInstruction.compareDocumentPosition(detachedXmlComment) 
-PASS processingInstruction.compareDocumentPosition(foreignDocfrag) 
-PASS processingInstruction.compareDocumentPosition(xmlDocfrag) 
-PASS processingInstruction.compareDocumentPosition(xmlDoctype) 
+PASS processingInstruction.contains(paras[0]) 
+PASS processingInstruction.contains(paras[0].firstChild) 
+PASS processingInstruction.contains(paras[1].firstChild) 
+PASS processingInstruction.contains(foreignPara1) 
+PASS processingInstruction.contains(foreignPara1.firstChild) 
+PASS processingInstruction.contains(detachedPara1) 
+PASS processingInstruction.contains(detachedPara1.firstChild) 
+PASS processingInstruction.contains(document) 
+PASS processingInstruction.contains(detachedDiv) 
+PASS processingInstruction.contains(foreignDoc) 
+PASS processingInstruction.contains(foreignPara2) 
+PASS processingInstruction.contains(xmlDoc) 
+PASS processingInstruction.contains(xmlElement) 
+PASS processingInstruction.contains(detachedTextNode) 
+PASS processingInstruction.contains(foreignTextNode) 
+PASS processingInstruction.contains(processingInstruction) 
+PASS processingInstruction.contains(detachedProcessingInstruction) 
+PASS processingInstruction.contains(comment) 
+PASS processingInstruction.contains(detachedComment) 
+PASS processingInstruction.contains(docfrag) 
+PASS processingInstruction.contains(doctype) 
+PASS processingInstruction.contains(foreignDoctype) 
+PASS processingInstruction.contains(paras[1]) 
+PASS processingInstruction.contains(detachedPara2) 
+PASS processingInstruction.contains(detachedPara2.firstChild) 
+PASS processingInstruction.contains(testDiv) 
+PASS processingInstruction.contains(detachedXmlElement) 
+PASS processingInstruction.contains(detachedForeignTextNode) 
+PASS processingInstruction.contains(xmlTextNode) 
+PASS processingInstruction.contains(detachedXmlTextNode) 
+PASS processingInstruction.contains(xmlComment) 
+PASS processingInstruction.contains(foreignComment) 
+PASS processingInstruction.contains(detachedForeignComment) 
+PASS processingInstruction.contains(detachedXmlComment) 
+PASS processingInstruction.contains(foreignDocfrag) 
+PASS processingInstruction.contains(xmlDocfrag) 
+PASS processingInstruction.contains(xmlDoctype) 
 PASS detachedProcessingInstruction.contains(null) 
-PASS detachedProcessingInstruction.compareDocumentPosition(paras[0]) 
-PASS detachedProcessingInstruction.compareDocumentPosition(paras[0].firstChild) 
-PASS detachedProcessingInstruction.compareDocumentPosition(paras[1].firstChild) 
-PASS detachedProcessingInstruction.compareDocumentPosition(foreignPara1) 
-PASS detachedProcessingInstruction.compareDocumentPosition(foreignPara1.firstChild) 
-PASS detachedProcessingInstruction.compareDocumentPosition(detachedPara1) 
-PASS detachedProcessingInstruction.compareDocumentPosition(detachedPara1.firstChild) 
-PASS detachedProcessingInstruction.compareDocumentPosition(document) 
-PASS detachedProcessingInstruction.compareDocumentPosition(detachedDiv) 
-PASS detachedProcessingInstruction.compareDocumentPosition(foreignDoc) 
-PASS detachedProcessingInstruction.compareDocumentPosition(foreignPara2) 
-PASS detachedProcessingInstruction.compareDocumentPosition(xmlDoc) 
-PASS detachedProcessingInstruction.compareDocumentPosition(xmlElement) 
-PASS detachedProcessingInstruction.compareDocumentPosition(detachedTextNode) 
-PASS detachedProcessingInstruction.compareDocumentPosition(foreignTextNode) 
-PASS detachedProcessingInstruction.compareDocumentPosition(processingInstruction) 
-PASS detachedProcessingInstruction.compareDocumentPosition(detachedProcessingInstruction) 
-PASS detachedProcessingInstruction.compareDocumentPosition(comment) 
-PASS detachedProcessingInstruction.compareDocumentPosition(detachedComment) 
-PASS detachedProcessingInstruction.compareDocumentPosition(docfrag) 
-PASS detachedProcessingInstruction.compareDocumentPosition(doctype) 
-PASS detachedProcessingInstruction.compareDocumentPosition(foreignDoctype) 
-PASS detachedProcessingInstruction.compareDocumentPosition(paras[1]) 
-PASS detachedProcessingInstruction.compareDocumentPosition(detachedPara2) 
-PASS detachedProcessingInstruction.compareDocumentPosition(detachedPara2.firstChild) 
-PASS detachedProcessingInstruction.compareDocumentPosition(testDiv) 
-PASS detachedProcessingInstruction.compareDocumentPosition(detachedXmlElement) 
-PASS detachedProcessingInstruction.compareDocumentPosition(detachedForeignTextNode) 
-PASS detachedProcessingInstruction.compareDocumentPosition(xmlTextNode) 
-PASS detachedProcessingInstruction.compareDocumentPosition(detachedXmlTextNode) 
-PASS detachedProcessingInstruction.compareDocumentPosition(xmlComment) 
-PASS detachedProcessingInstruction.compareDocumentPosition(foreignComment) 
-PASS detachedProcessingInstruction.compareDocumentPosition(detachedForeignComment) 
-PASS detachedProcessingInstruction.compareDocumentPosition(detachedXmlComment) 
-PASS detachedProcessingInstruction.compareDocumentPosition(foreignDocfrag) 
-PASS detachedProcessingInstruction.compareDocumentPosition(xmlDocfrag) 
-PASS detachedProcessingInstruction.compareDocumentPosition(xmlDoctype) 
+PASS detachedProcessingInstruction.contains(paras[0]) 
+PASS detachedProcessingInstruction.contains(paras[0].firstChild) 
+PASS detachedProcessingInstruction.contains(paras[1].firstChild) 
+PASS detachedProcessingInstruction.contains(foreignPara1) 
+PASS detachedProcessingInstruction.contains(foreignPara1.firstChild) 
+PASS detachedProcessingInstruction.contains(detachedPara1) 
+PASS detachedProcessingInstruction.contains(detachedPara1.firstChild) 
+PASS detachedProcessingInstruction.contains(document) 
+PASS detachedProcessingInstruction.contains(detachedDiv) 
+PASS detachedProcessingInstruction.contains(foreignDoc) 
+PASS detachedProcessingInstruction.contains(foreignPara2) 
+PASS detachedProcessingInstruction.contains(xmlDoc) 
+PASS detachedProcessingInstruction.contains(xmlElement) 
+PASS detachedProcessingInstruction.contains(detachedTextNode) 
+PASS detachedProcessingInstruction.contains(foreignTextNode) 
+PASS detachedProcessingInstruction.contains(processingInstruction) 
+PASS detachedProcessingInstruction.contains(detachedProcessingInstruction) 
+PASS detachedProcessingInstruction.contains(comment) 
+PASS detachedProcessingInstruction.contains(detachedComment) 
+PASS detachedProcessingInstruction.contains(docfrag) 
+PASS detachedProcessingInstruction.contains(doctype) 
+PASS detachedProcessingInstruction.contains(foreignDoctype) 
+PASS detachedProcessingInstruction.contains(paras[1]) 
+PASS detachedProcessingInstruction.contains(detachedPara2) 
+PASS detachedProcessingInstruction.contains(detachedPara2.firstChild) 
+PASS detachedProcessingInstruction.contains(testDiv) 
+PASS detachedProcessingInstruction.contains(detachedXmlElement) 
+PASS detachedProcessingInstruction.contains(detachedForeignTextNode) 
+PASS detachedProcessingInstruction.contains(xmlTextNode) 
+PASS detachedProcessingInstruction.contains(detachedXmlTextNode) 
+PASS detachedProcessingInstruction.contains(xmlComment) 
+PASS detachedProcessingInstruction.contains(foreignComment) 
+PASS detachedProcessingInstruction.contains(detachedForeignComment) 
+PASS detachedProcessingInstruction.contains(detachedXmlComment) 
+PASS detachedProcessingInstruction.contains(foreignDocfrag) 
+PASS detachedProcessingInstruction.contains(xmlDocfrag) 
+PASS detachedProcessingInstruction.contains(xmlDoctype) 
 PASS comment.contains(null) 
-PASS comment.compareDocumentPosition(paras[0]) 
-PASS comment.compareDocumentPosition(paras[0].firstChild) 
-PASS comment.compareDocumentPosition(paras[1].firstChild) 
-PASS comment.compareDocumentPosition(foreignPara1) 
-PASS comment.compareDocumentPosition(foreignPara1.firstChild) 
-PASS comment.compareDocumentPosition(detachedPara1) 
-PASS comment.compareDocumentPosition(detachedPara1.firstChild) 
-PASS comment.compareDocumentPosition(document) 
-PASS comment.compareDocumentPosition(detachedDiv) 
-PASS comment.compareDocumentPosition(foreignDoc) 
-PASS comment.compareDocumentPosition(foreignPara2) 
-PASS comment.compareDocumentPosition(xmlDoc) 
-PASS comment.compareDocumentPosition(xmlElement) 
-PASS comment.compareDocumentPosition(detachedTextNode) 
-PASS comment.compareDocumentPosition(foreignTextNode) 
-PASS comment.compareDocumentPosition(processingInstruction) 
-PASS comment.compareDocumentPosition(detachedProcessingInstruction) 
-PASS comment.compareDocumentPosition(comment) 
-PASS comment.compareDocumentPosition(detachedComment) 
-PASS comment.compareDocumentPosition(docfrag) 
-PASS comment.compareDocumentPosition(doctype) 
-PASS comment.compareDocumentPosition(foreignDoctype) 
-PASS comment.compareDocumentPosition(paras[1]) 
-PASS comment.compareDocumentPosition(detachedPara2) 
-PASS comment.compareDocumentPosition(detachedPara2.firstChild) 
-PASS comment.compareDocumentPosition(testDiv) 
-PASS comment.compareDocumentPosition(detachedXmlElement) 
-PASS comment.compareDocumentPosition(detachedForeignTextNode) 
-PASS comment.compareDocumentPosition(xmlTextNode) 
-PASS comment.compareDocumentPosition(detachedXmlTextNode) 
-PASS comment.compareDocumentPosition(xmlComment) 
-PASS comment.compareDocumentPosition(foreignComment) 
-PASS comment.compareDocumentPosition(detachedForeignComment) 
-PASS comment.compareDocumentPosition(detachedXmlComment) 
-PASS comment.compareDocumentPosition(foreignDocfrag) 
-PASS comment.compareDocumentPosition(xmlDocfrag) 
-PASS comment.compareDocumentPosition(xmlDoctype) 
+PASS comment.contains(paras[0]) 
+PASS comment.contains(paras[0].firstChild) 
+PASS comment.contains(paras[1].firstChild) 
+PASS comment.contains(foreignPara1) 
+PASS comment.contains(foreignPara1.firstChild) 
+PASS comment.contains(detachedPara1) 
+PASS comment.contains(detachedPara1.firstChild) 
+PASS comment.contains(document) 
+PASS comment.contains(detachedDiv) 
+PASS comment.contains(foreignDoc) 
+PASS comment.contains(foreignPara2) 
+PASS comment.contains(xmlDoc) 
+PASS comment.contains(xmlElement) 
+PASS comment.contains(detachedTextNode) 
+PASS comment.contains(foreignTextNode) 
+PASS comment.contains(processingInstruction) 
+PASS comment.contains(detachedProcessingInstruction) 
+PASS comment.contains(comment) 
+PASS comment.contains(detachedComment) 
+PASS comment.contains(docfrag) 
+PASS comment.contains(doctype) 
+PASS comment.contains(foreignDoctype) 
+PASS comment.contains(paras[1]) 
+PASS comment.contains(detachedPara2) 
+PASS comment.contains(detachedPara2.firstChild) 
+PASS comment.contains(testDiv) 
+PASS comment.contains(detachedXmlElement) 
+PASS comment.contains(detachedForeignTextNode) 
+PASS comment.contains(xmlTextNode) 
+PASS comment.contains(detachedXmlTextNode) 
+PASS comment.contains(xmlComment) 
+PASS comment.contains(foreignComment) 
+PASS comment.contains(detachedForeignComment) 
+PASS comment.contains(detachedXmlComment) 
+PASS comment.contains(foreignDocfrag) 
+PASS comment.contains(xmlDocfrag) 
+PASS comment.contains(xmlDoctype) 
 PASS detachedComment.contains(null) 
-PASS detachedComment.compareDocumentPosition(paras[0]) 
-PASS detachedComment.compareDocumentPosition(paras[0].firstChild) 
-PASS detachedComment.compareDocumentPosition(paras[1].firstChild) 
-PASS detachedComment.compareDocumentPosition(foreignPara1) 
-PASS detachedComment.compareDocumentPosition(foreignPara1.firstChild) 
-PASS detachedComment.compareDocumentPosition(detachedPara1) 
-PASS detachedComment.compareDocumentPosition(detachedPara1.firstChild) 
-PASS detachedComment.compareDocumentPosition(document) 
-PASS detachedComment.compareDocumentPosition(detachedDiv) 
-PASS detachedComment.compareDocumentPosition(foreignDoc) 
-PASS detachedComment.compareDocumentPosition(foreignPara2) 
-PASS detachedComment.compareDocumentPosition(xmlDoc) 
-PASS detachedComment.compareDocumentPosition(xmlElement) 
-PASS detachedComment.compareDocumentPosition(detachedTextNode) 
-PASS detachedComment.compareDocumentPosition(foreignTextNode) 
-PASS detachedComment.compareDocumentPosition(processingInstruction) 
-PASS detachedComment.compareDocumentPosition(detachedProcessingInstruction) 
-PASS detachedComment.compareDocumentPosition(comment) 
-PASS detachedComment.compareDocumentPosition(detachedComment) 
-PASS detachedComment.compareDocumentPosition(docfrag) 
-PASS detachedComment.compareDocumentPosition(doctype) 
-PASS detachedComment.compareDocumentPosition(foreignDoctype) 
-PASS detachedComment.compareDocumentPosition(paras[1]) 
-PASS detachedComment.compareDocumentPosition(detachedPara2) 
-PASS detachedComment.compareDocumentPosition(detachedPara2.firstChild) 
-PASS detachedComment.compareDocumentPosition(testDiv) 
-PASS detachedComment.compareDocumentPosition(detachedXmlElement) 
-PASS detachedComment.compareDocumentPosition(detachedForeignTextNode) 
-PASS detachedComment.compareDocumentPosition(xmlTextNode) 
-PASS detachedComment.compareDocumentPosition(detachedXmlTextNode) 
-PASS detachedComment.compareDocumentPosition(xmlComment) 
-PASS detachedComment.compareDocumentPosition(foreignComment) 
-PASS detachedComment.compareDocumentPosition(detachedForeignComment) 
-PASS detachedComment.compareDocumentPosition(detachedXmlComment) 
-PASS detachedComment.compareDocumentPosition(foreignDocfrag) 
-PASS detachedComment.compareDocumentPosition(xmlDocfrag) 
-PASS detachedComment.compareDocumentPosition(xmlDoctype) 
+PASS detachedComment.contains(paras[0]) 
+PASS detachedComment.contains(paras[0].firstChild) 
+PASS detachedComment.contains(paras[1].firstChild) 
+PASS detachedComment.contains(foreignPara1) 
+PASS detachedComment.contains(foreignPara1.firstChild) 
+PASS detachedComment.contains(detachedPara1) 
+PASS detachedComment.contains(detachedPara1.firstChild) 
+PASS detachedComment.contains(document) 
+PASS detachedComment.contains(detachedDiv) 
+PASS detachedComment.contains(foreignDoc) 
+PASS detachedComment.contains(foreignPara2) 
+PASS detachedComment.contains(xmlDoc) 
+PASS detachedComment.contains(xmlElement) 
+PASS detachedComment.contains(detachedTextNode) 
+PASS detachedComment.contains(foreignTextNode) 
+PASS detachedComment.contains(processingInstruction) 
+PASS detachedComment.contains(detachedProcessingInstruction) 
+PASS detachedComment.contains(comment) 
+PASS detachedComment.contains(detachedComment) 
+PASS detachedComment.contains(docfrag) 
+PASS detachedComment.contains(doctype) 
+PASS detachedComment.contains(foreignDoctype) 
+PASS detachedComment.contains(paras[1]) 
+PASS detachedComment.contains(detachedPara2) 
+PASS detachedComment.contains(detachedPara2.firstChild) 
+PASS detachedComment.contains(testDiv) 
+PASS detachedComment.contains(detachedXmlElement) 
+PASS detachedComment.contains(detachedForeignTextNode) 
+PASS detachedComment.contains(xmlTextNode) 
+PASS detachedComment.contains(detachedXmlTextNode) 
+PASS detachedComment.contains(xmlComment) 
+PASS detachedComment.contains(foreignComment) 
+PASS detachedComment.contains(detachedForeignComment) 
+PASS detachedComment.contains(detachedXmlComment) 
+PASS detachedComment.contains(foreignDocfrag) 
+PASS detachedComment.contains(xmlDocfrag) 
+PASS detachedComment.contains(xmlDoctype) 
 PASS docfrag.contains(null) 
-PASS docfrag.compareDocumentPosition(paras[0]) 
-PASS docfrag.compareDocumentPosition(paras[0].firstChild) 
-PASS docfrag.compareDocumentPosition(paras[1].firstChild) 
-PASS docfrag.compareDocumentPosition(foreignPara1) 
-PASS docfrag.compareDocumentPosition(foreignPara1.firstChild) 
-PASS docfrag.compareDocumentPosition(detachedPara1) 
-PASS docfrag.compareDocumentPosition(detachedPara1.firstChild) 
-PASS docfrag.compareDocumentPosition(document) 
-PASS docfrag.compareDocumentPosition(detachedDiv) 
-PASS docfrag.compareDocumentPosition(foreignDoc) 
-PASS docfrag.compareDocumentPosition(foreignPara2) 
-PASS docfrag.compareDocumentPosition(xmlDoc) 
-PASS docfrag.compareDocumentPosition(xmlElement) 
-PASS docfrag.compareDocumentPosition(detachedTextNode) 
-PASS docfrag.compareDocumentPosition(foreignTextNode) 
-PASS docfrag.compareDocumentPosition(processingInstruction) 
-PASS docfrag.compareDocumentPosition(detachedProcessingInstruction) 
-PASS docfrag.compareDocumentPosition(comment) 
-PASS docfrag.compareDocumentPosition(detachedComment) 
-PASS docfrag.compareDocumentPosition(docfrag) 
-PASS docfrag.compareDocumentPosition(doctype) 
-PASS docfrag.compareDocumentPosition(foreignDoctype) 
-PASS docfrag.compareDocumentPosition(paras[1]) 
-PASS docfrag.compareDocumentPosition(detachedPara2) 
-PASS docfrag.compareDocumentPosition(detachedPara2.firstChild) 
-PASS docfrag.compareDocumentPosition(testDiv) 
-PASS docfrag.compareDocumentPosition(detachedXmlElement) 
-PASS docfrag.compareDocumentPosition(detachedForeignTextNode) 
-PASS docfrag.compareDocumentPosition(xmlTextNode) 
-PASS docfrag.compareDocumentPosition(detachedXmlTextNode) 
-PASS docfrag.compareDocumentPosition(xmlComment) 
-PASS docfrag.compareDocumentPosition(foreignComment) 
-PASS docfrag.compareDocumentPosition(detachedForeignComment) 
-PASS docfrag.compareDocumentPosition(detachedXmlComment) 
-PASS docfrag.compareDocumentPosition(foreignDocfrag) 
-PASS docfrag.compareDocumentPosition(xmlDocfrag) 
-PASS docfrag.compareDocumentPosition(xmlDoctype) 
+PASS docfrag.contains(paras[0]) 
+PASS docfrag.contains(paras[0].firstChild) 
+PASS docfrag.contains(paras[1].firstChild) 
+PASS docfrag.contains(foreignPara1) 
+PASS docfrag.contains(foreignPara1.firstChild) 
+PASS docfrag.contains(detachedPara1) 
+PASS docfrag.contains(detachedPara1.firstChild) 
+PASS docfrag.contains(document) 
+PASS docfrag.contains(detachedDiv) 
+PASS docfrag.contains(foreignDoc) 
+PASS docfrag.contains(foreignPara2) 
+PASS docfrag.contains(xmlDoc) 
+PASS docfrag.contains(xmlElement) 
+PASS docfrag.contains(detachedTextNode) 
+PASS docfrag.contains(foreignTextNode) 
+PASS docfrag.contains(processingInstruction) 
+PASS docfrag.contains(detachedProcessingInstruction) 
+PASS docfrag.contains(comment) 
+PASS docfrag.contains(detachedComment) 
+PASS docfrag.contains(docfrag) 
+PASS docfrag.contains(doctype) 
+PASS docfrag.contains(foreignDoctype) 
+PASS docfrag.contains(paras[1]) 
+PASS docfrag.contains(detachedPara2) 
+PASS docfrag.contains(detachedPara2.firstChild) 
+PASS docfrag.contains(testDiv) 
+PASS docfrag.contains(detachedXmlElement) 
+PASS docfrag.contains(detachedForeignTextNode) 
+PASS docfrag.contains(xmlTextNode) 
+PASS docfrag.contains(detachedXmlTextNode) 
+PASS docfrag.contains(xmlComment) 
+PASS docfrag.contains(foreignComment) 
+PASS docfrag.contains(detachedForeignComment) 
+PASS docfrag.contains(detachedXmlComment) 
+PASS docfrag.contains(foreignDocfrag) 
+PASS docfrag.contains(xmlDocfrag) 
+PASS docfrag.contains(xmlDoctype) 
 PASS doctype.contains(null) 
-PASS doctype.compareDocumentPosition(paras[0]) 
-PASS doctype.compareDocumentPosition(paras[0].firstChild) 
-PASS doctype.compareDocumentPosition(paras[1].firstChild) 
-PASS doctype.compareDocumentPosition(foreignPara1) 
-PASS doctype.compareDocumentPosition(foreignPara1.firstChild) 
-PASS doctype.compareDocumentPosition(detachedPara1) 
-PASS doctype.compareDocumentPosition(detachedPara1.firstChild) 
-PASS doctype.compareDocumentPosition(document) 
-PASS doctype.compareDocumentPosition(detachedDiv) 
-PASS doctype.compareDocumentPosition(foreignDoc) 
-PASS doctype.compareDocumentPosition(foreignPara2) 
-PASS doctype.compareDocumentPosition(xmlDoc) 
-PASS doctype.compareDocumentPosition(xmlElement) 
-PASS doctype.compareDocumentPosition(detachedTextNode) 
-PASS doctype.compareDocumentPosition(foreignTextNode) 
-PASS doctype.compareDocumentPosition(processingInstruction) 
-PASS doctype.compareDocumentPosition(detachedProcessingInstruction) 
-PASS doctype.compareDocumentPosition(comment) 
-PASS doctype.compareDocumentPosition(detachedComment) 
-PASS doctype.compareDocumentPosition(docfrag) 
-PASS doctype.compareDocumentPosition(doctype) 
-PASS doctype.compareDocumentPosition(foreignDoctype) 
-PASS doctype.compareDocumentPosition(paras[1]) 
-PASS doctype.compareDocumentPosition(detachedPara2) 
-PASS doctype.compareDocumentPosition(detachedPara2.firstChild) 
-PASS doctype.compareDocumentPosition(testDiv) 
-PASS doctype.compareDocumentPosition(detachedXmlElement) 
-PASS doctype.compareDocumentPosition(detachedForeignTextNode) 
-PASS doctype.compareDocumentPosition(xmlTextNode) 
-PASS doctype.compareDocumentPosition(detachedXmlTextNode) 
-PASS doctype.compareDocumentPosition(xmlComment) 
-PASS doctype.compareDocumentPosition(foreignComment) 
-PASS doctype.compareDocumentPosition(detachedForeignComment) 
-PASS doctype.compareDocumentPosition(detachedXmlComment) 
-PASS doctype.compareDocumentPosition(foreignDocfrag) 
-PASS doctype.compareDocumentPosition(xmlDocfrag) 
-PASS doctype.compareDocumentPosition(xmlDoctype) 
+PASS doctype.contains(paras[0]) 
+PASS doctype.contains(paras[0].firstChild) 
+PASS doctype.contains(paras[1].firstChild) 
+PASS doctype.contains(foreignPara1) 
+PASS doctype.contains(foreignPara1.firstChild) 
+PASS doctype.contains(detachedPara1) 
+PASS doctype.contains(detachedPara1.firstChild) 
+PASS doctype.contains(document) 
+PASS doctype.contains(detachedDiv) 
+PASS doctype.contains(foreignDoc) 
+PASS doctype.contains(foreignPara2) 
+PASS doctype.contains(xmlDoc) 
+PASS doctype.contains(xmlElement) 
+PASS doctype.contains(detachedTextNode) 
+PASS doctype.contains(foreignTextNode) 
+PASS doctype.contains(processingInstruction) 
+PASS doctype.contains(detachedProcessingInstruction) 
+PASS doctype.contains(comment) 
+PASS doctype.contains(detachedComment) 
+PASS doctype.contains(docfrag) 
+PASS doctype.contains(doctype) 
+PASS doctype.contains(foreignDoctype) 
+PASS doctype.contains(paras[1]) 
+PASS doctype.contains(detachedPara2) 
+PASS doctype.contains(detachedPara2.firstChild) 
+PASS doctype.contains(testDiv) 
+PASS doctype.contains(detachedXmlElement) 
+PASS doctype.contains(detachedForeignTextNode) 
+PASS doctype.contains(xmlTextNode) 
+PASS doctype.contains(detachedXmlTextNode) 
+PASS doctype.contains(xmlComment) 
+PASS doctype.contains(foreignComment) 
+PASS doctype.contains(detachedForeignComment) 
+PASS doctype.contains(detachedXmlComment) 
+PASS doctype.contains(foreignDocfrag) 
+PASS doctype.contains(xmlDocfrag) 
+PASS doctype.contains(xmlDoctype) 
 PASS foreignDoctype.contains(null) 
-PASS foreignDoctype.compareDocumentPosition(paras[0]) 
-PASS foreignDoctype.compareDocumentPosition(paras[0].firstChild) 
-PASS foreignDoctype.compareDocumentPosition(paras[1].firstChild) 
-PASS foreignDoctype.compareDocumentPosition(foreignPara1) 
-PASS foreignDoctype.compareDocumentPosition(foreignPara1.firstChild) 
-PASS foreignDoctype.compareDocumentPosition(detachedPara1) 
-PASS foreignDoctype.compareDocumentPosition(detachedPara1.firstChild) 
-PASS foreignDoctype.compareDocumentPosition(document) 
-PASS foreignDoctype.compareDocumentPosition(detachedDiv) 
-PASS foreignDoctype.compareDocumentPosition(foreignDoc) 
-PASS foreignDoctype.compareDocumentPosition(foreignPara2) 
-PASS foreignDoctype.compareDocumentPosition(xmlDoc) 
-PASS foreignDoctype.compareDocumentPosition(xmlElement) 
-PASS foreignDoctype.compareDocumentPosition(detachedTextNode) 
-PASS foreignDoctype.compareDocumentPosition(foreignTextNode) 
-PASS foreignDoctype.compareDocumentPosition(processingInstruction) 
-PASS foreignDoctype.compareDocumentPosition(detachedProcessingInstruction) 
-PASS foreignDoctype.compareDocumentPosition(comment) 
-PASS foreignDoctype.compareDocumentPosition(detachedComment) 
-PASS foreignDoctype.compareDocumentPosition(docfrag) 
-PASS foreignDoctype.compareDocumentPosition(doctype) 
-PASS foreignDoctype.compareDocumentPosition(foreignDoctype) 
-PASS foreignDoctype.compareDocumentPosition(paras[1]) 
-PASS foreignDoctype.compareDocumentPosition(detachedPara2) 
-PASS foreignDoctype.compareDocumentPosition(detachedPara2.firstChild) 
-PASS foreignDoctype.compareDocumentPosition(testDiv) 
-PASS foreignDoctype.compareDocumentPosition(detachedXmlElement) 
-PASS foreignDoctype.compareDocumentPosition(detachedForeignTextNode) 
-PASS foreignDoctype.compareDocumentPosition(xmlTextNode) 
-PASS foreignDoctype.compareDocumentPosition(detachedXmlTextNode) 
-PASS foreignDoctype.compareDocumentPosition(xmlComment) 
-PASS foreignDoctype.compareDocumentPosition(foreignComment) 
-PASS foreignDoctype.compareDocumentPosition(detachedForeignComment) 
-PASS foreignDoctype.compareDocumentPosition(detachedXmlComment) 
-PASS foreignDoctype.compareDocumentPosition(foreignDocfrag) 
-PASS foreignDoctype.compareDocumentPosition(xmlDocfrag) 
-PASS foreignDoctype.compareDocumentPosition(xmlDoctype) 
+PASS foreignDoctype.contains(paras[0]) 
+PASS foreignDoctype.contains(paras[0].firstChild) 
+PASS foreignDoctype.contains(paras[1].firstChild) 
+PASS foreignDoctype.contains(foreignPara1) 
+PASS foreignDoctype.contains(foreignPara1.firstChild) 
+PASS foreignDoctype.contains(detachedPara1) 
+PASS foreignDoctype.contains(detachedPara1.firstChild) 
+PASS foreignDoctype.contains(document) 
+PASS foreignDoctype.contains(detachedDiv) 
+PASS foreignDoctype.contains(foreignDoc) 
+PASS foreignDoctype.contains(foreignPara2) 
+PASS foreignDoctype.contains(xmlDoc) 
+PASS foreignDoctype.contains(xmlElement) 
+PASS foreignDoctype.contains(detachedTextNode) 
+PASS foreignDoctype.contains(foreignTextNode) 
+PASS foreignDoctype.contains(processingInstruction) 
+PASS foreignDoctype.contains(detachedProcessingInstruction) 
+PASS foreignDoctype.contains(comment) 
+PASS foreignDoctype.contains(detachedComment) 
+PASS foreignDoctype.contains(docfrag) 
+PASS foreignDoctype.contains(doctype) 
+PASS foreignDoctype.contains(foreignDoctype) 
+PASS foreignDoctype.contains(paras[1]) 
+PASS foreignDoctype.contains(detachedPara2) 
+PASS foreignDoctype.contains(detachedPara2.firstChild) 
+PASS foreignDoctype.contains(testDiv) 
+PASS foreignDoctype.contains(detachedXmlElement) 
+PASS foreignDoctype.contains(detachedForeignTextNode) 
+PASS foreignDoctype.contains(xmlTextNode) 
+PASS foreignDoctype.contains(detachedXmlTextNode) 
+PASS foreignDoctype.contains(xmlComment) 
+PASS foreignDoctype.contains(foreignComment) 
+PASS foreignDoctype.contains(detachedForeignComment) 
+PASS foreignDoctype.contains(detachedXmlComment) 
+PASS foreignDoctype.contains(foreignDocfrag) 
+PASS foreignDoctype.contains(xmlDocfrag) 
+PASS foreignDoctype.contains(xmlDoctype) 
 PASS paras[1].contains(null) 
-PASS paras[1].compareDocumentPosition(paras[0]) 
-PASS paras[1].compareDocumentPosition(paras[0].firstChild) 
-PASS paras[1].compareDocumentPosition(paras[1].firstChild) 
-PASS paras[1].compareDocumentPosition(foreignPara1) 
-PASS paras[1].compareDocumentPosition(foreignPara1.firstChild) 
-PASS paras[1].compareDocumentPosition(detachedPara1) 
-PASS paras[1].compareDocumentPosition(detachedPara1.firstChild) 
-PASS paras[1].compareDocumentPosition(document) 
-PASS paras[1].compareDocumentPosition(detachedDiv) 
-PASS paras[1].compareDocumentPosition(foreignDoc) 
-PASS paras[1].compareDocumentPosition(foreignPara2) 
-PASS paras[1].compareDocumentPosition(xmlDoc) 
-PASS paras[1].compareDocumentPosition(xmlElement) 
-PASS paras[1].compareDocumentPosition(detachedTextNode) 
-PASS paras[1].compareDocumentPosition(foreignTextNode) 
-PASS paras[1].compareDocumentPosition(processingInstruction) 
-PASS paras[1].compareDocumentPosition(detachedProcessingInstruction) 
-PASS paras[1].compareDocumentPosition(comment) 
-PASS paras[1].compareDocumentPosition(detachedComment) 
-PASS paras[1].compareDocumentPosition(docfrag) 
-PASS paras[1].compareDocumentPosition(doctype) 
-PASS paras[1].compareDocumentPosition(foreignDoctype) 
-PASS paras[1].compareDocumentPosition(paras[1]) 
-PASS paras[1].compareDocumentPosition(detachedPara2) 
-PASS paras[1].compareDocumentPosition(detachedPara2.firstChild) 
-PASS paras[1].compareDocumentPosition(testDiv) 
-PASS paras[1].compareDocumentPosition(detachedXmlElement) 
-PASS paras[1].compareDocumentPosition(detachedForeignTextNode) 
-PASS paras[1].compareDocumentPosition(xmlTextNode) 
-PASS paras[1].compareDocumentPosition(detachedXmlTextNode) 
-PASS paras[1].compareDocumentPosition(xmlComment) 
-PASS paras[1].compareDocumentPosition(foreignComment) 
-PASS paras[1].compareDocumentPosition(detachedForeignComment) 
-PASS paras[1].compareDocumentPosition(detachedXmlComment) 
-PASS paras[1].compareDocumentPosition(foreignDocfrag) 
-PASS paras[1].compareDocumentPosition(xmlDocfrag) 
-PASS paras[1].compareDocumentPosition(xmlDoctype) 
+PASS paras[1].contains(paras[0]) 
+PASS paras[1].contains(paras[0].firstChild) 
+PASS paras[1].contains(paras[1].firstChild) 
+PASS paras[1].contains(foreignPara1) 
+PASS paras[1].contains(foreignPara1.firstChild) 
+PASS paras[1].contains(detachedPara1) 
+PASS paras[1].contains(detachedPara1.firstChild) 
+PASS paras[1].contains(document) 
+PASS paras[1].contains(detachedDiv) 
+PASS paras[1].contains(foreignDoc) 
+PASS paras[1].contains(foreignPara2) 
+PASS paras[1].contains(xmlDoc) 
+PASS paras[1].contains(xmlElement) 
+PASS paras[1].contains(detachedTextNode) 
+PASS paras[1].contains(foreignTextNode) 
+PASS paras[1].contains(processingInstruction) 
+PASS paras[1].contains(detachedProcessingInstruction) 
+PASS paras[1].contains(comment) 
+PASS paras[1].contains(detachedComment) 
+PASS paras[1].contains(docfrag) 
+PASS paras[1].contains(doctype) 
+PASS paras[1].contains(foreignDoctype) 
+PASS paras[1].contains(paras[1]) 
+PASS paras[1].contains(detachedPara2) 
+PASS paras[1].contains(detachedPara2.firstChild) 
+PASS paras[1].contains(testDiv) 
+PASS paras[1].contains(detachedXmlElement) 
+PASS paras[1].contains(detachedForeignTextNode) 
+PASS paras[1].contains(xmlTextNode) 
+PASS paras[1].contains(detachedXmlTextNode) 
+PASS paras[1].contains(xmlComment) 
+PASS paras[1].contains(foreignComment) 
+PASS paras[1].contains(detachedForeignComment) 
+PASS paras[1].contains(detachedXmlComment) 
+PASS paras[1].contains(foreignDocfrag) 
+PASS paras[1].contains(xmlDocfrag) 
+PASS paras[1].contains(xmlDoctype) 
 PASS detachedPara2.contains(null) 
-PASS detachedPara2.compareDocumentPosition(paras[0]) 
-PASS detachedPara2.compareDocumentPosition(paras[0].firstChild) 
-PASS detachedPara2.compareDocumentPosition(paras[1].firstChild) 
-PASS detachedPara2.compareDocumentPosition(foreignPara1) 
-PASS detachedPara2.compareDocumentPosition(foreignPara1.firstChild) 
-PASS detachedPara2.compareDocumentPosition(detachedPara1) 
-PASS detachedPara2.compareDocumentPosition(detachedPara1.firstChild) 
-PASS detachedPara2.compareDocumentPosition(document) 
-PASS detachedPara2.compareDocumentPosition(detachedDiv) 
-PASS detachedPara2.compareDocumentPosition(foreignDoc) 
-PASS detachedPara2.compareDocumentPosition(foreignPara2) 
-PASS detachedPara2.compareDocumentPosition(xmlDoc) 
-PASS detachedPara2.compareDocumentPosition(xmlElement) 
-PASS detachedPara2.compareDocumentPosition(detachedTextNode) 
-PASS detachedPara2.compareDocumentPosition(foreignTextNode) 
-PASS detachedPara2.compareDocumentPosition(processingInstruction) 
-PASS detachedPara2.compareDocumentPosition(detachedProcessingInstruction) 
-PASS detachedPara2.compareDocumentPosition(comment) 
-PASS detachedPara2.compareDocumentPosition(detachedComment) 
-PASS detachedPara2.compareDocumentPosition(docfrag) 
-PASS detachedPara2.compareDocumentPosition(doctype) 
-PASS detachedPara2.compareDocumentPosition(foreignDoctype) 
-PASS detachedPara2.compareDocumentPosition(paras[1]) 
-PASS detachedPara2.compareDocumentPosition(detachedPara2) 
-PASS detachedPara2.compareDocumentPosition(detachedPara2.firstChild) 
-PASS detachedPara2.compareDocumentPosition(testDiv) 
-PASS detachedPara2.compareDocumentPosition(detachedXmlElement) 
-PASS detachedPara2.compareDocumentPosition(detachedForeignTextNode) 
-PASS detachedPara2.compareDocumentPosition(xmlTextNode) 
-PASS detachedPara2.compareDocumentPosition(detachedXmlTextNode) 
-PASS detachedPara2.compareDocumentPosition(xmlComment) 
-PASS detachedPara2.compareDocumentPosition(foreignComment) 
-PASS detachedPara2.compareDocumentPosition(detachedForeignComment) 
-PASS detachedPara2.compareDocumentPosition(detachedXmlComment) 
-PASS detachedPara2.compareDocumentPosition(foreignDocfrag) 
-PASS detachedPara2.compareDocumentPosition(xmlDocfrag) 
-PASS detachedPara2.compareDocumentPosition(xmlDoctype) 
+PASS detachedPara2.contains(paras[0]) 
+PASS detachedPara2.contains(paras[0].firstChild) 
+PASS detachedPara2.contains(paras[1].firstChild) 
+PASS detachedPara2.contains(foreignPara1) 
+PASS detachedPara2.contains(foreignPara1.firstChild) 
+PASS detachedPara2.contains(detachedPara1) 
+PASS detachedPara2.contains(detachedPara1.firstChild) 
+PASS detachedPara2.contains(document) 
+PASS detachedPara2.contains(detachedDiv) 
+PASS detachedPara2.contains(foreignDoc) 
+PASS detachedPara2.contains(foreignPara2) 
+PASS detachedPara2.contains(xmlDoc) 
+PASS detachedPara2.contains(xmlElement) 
+PASS detachedPara2.contains(detachedTextNode) 
+PASS detachedPara2.contains(foreignTextNode) 
+PASS detachedPara2.contains(processingInstruction) 
+PASS detachedPara2.contains(detachedProcessingInstruction) 
+PASS detachedPara2.contains(comment) 
+PASS detachedPara2.contains(detachedComment) 
+PASS detachedPara2.contains(docfrag) 
+PASS detachedPara2.contains(doctype) 
+PASS detachedPara2.contains(foreignDoctype) 
+PASS detachedPara2.contains(paras[1]) 
+PASS detachedPara2.contains(detachedPara2) 
+PASS detachedPara2.contains(detachedPara2.firstChild) 
+PASS detachedPara2.contains(testDiv) 
+PASS detachedPara2.contains(detachedXmlElement) 
+PASS detachedPara2.contains(detachedForeignTextNode) 
+PASS detachedPara2.contains(xmlTextNode) 
+PASS detachedPara2.contains(detachedXmlTextNode) 
+PASS detachedPara2.contains(xmlComment) 
+PASS detachedPara2.contains(foreignComment) 
+PASS detachedPara2.contains(detachedForeignComment) 
+PASS detachedPara2.contains(detachedXmlComment) 
+PASS detachedPara2.contains(foreignDocfrag) 
+PASS detachedPara2.contains(xmlDocfrag) 
+PASS detachedPara2.contains(xmlDoctype) 
 PASS detachedPara2.firstChild.contains(null) 
-PASS detachedPara2.firstChild.compareDocumentPosition(paras[0]) 
-PASS detachedPara2.firstChild.compareDocumentPosition(paras[0].firstChild) 
-PASS detachedPara2.firstChild.compareDocumentPosition(paras[1].firstChild) 
-PASS detachedPara2.firstChild.compareDocumentPosition(foreignPara1) 
-PASS detachedPara2.firstChild.compareDocumentPosition(foreignPara1.firstChild) 
-PASS detachedPara2.firstChild.compareDocumentPosition(detachedPara1) 
-PASS detachedPara2.firstChild.compareDocumentPosition(detachedPara1.firstChild) 
-PASS detachedPara2.firstChild.compareDocumentPosition(document) 
-PASS detachedPara2.firstChild.compareDocumentPosition(detachedDiv) 
-PASS detachedPara2.firstChild.compareDocumentPosition(foreignDoc) 
-PASS detachedPara2.firstChild.compareDocumentPosition(foreignPara2) 
-PASS detachedPara2.firstChild.compareDocumentPosition(xmlDoc) 
-PASS detachedPara2.firstChild.compareDocumentPosition(xmlElement) 
-PASS detachedPara2.firstChild.compareDocumentPosition(detachedTextNode) 
-PASS detachedPara2.firstChild.compareDocumentPosition(foreignTextNode) 
-PASS detachedPara2.firstChild.compareDocumentPosition(processingInstruction) 
-PASS detachedPara2.firstChild.compareDocumentPosition(detachedProcessingInstruction) 
-PASS detachedPara2.firstChild.compareDocumentPosition(comment) 
-PASS detachedPara2.firstChild.compareDocumentPosition(detachedComment) 
-PASS detachedPara2.firstChild.compareDocumentPosition(docfrag) 
-PASS detachedPara2.firstChild.compareDocumentPosition(doctype) 
-PASS detachedPara2.firstChild.compareDocumentPosition(foreignDoctype) 
-PASS detachedPara2.firstChild.compareDocumentPosition(paras[1]) 
-PASS detachedPara2.firstChild.compareDocumentPosition(detachedPara2) 
-PASS detachedPara2.firstChild.compareDocumentPosition(detachedPara2.firstChild) 
-PASS detachedPara2.firstChild.compareDocumentPosition(testDiv) 
-PASS detachedPara2.firstChild.compareDocumentPosition(detachedXmlElement) 
-PASS detachedPara2.firstChild.compareDocumentPosition(detachedForeignTextNode) 
-PASS detachedPara2.firstChild.compareDocumentPosition(xmlTextNode) 
-PASS detachedPara2.firstChild.compareDocumentPosition(detachedXmlTextNode) 
-PASS detachedPara2.firstChild.compareDocumentPosition(xmlComment) 
-PASS detachedPara2.firstChild.compareDocumentPosition(foreignComment) 
-PASS detachedPara2.firstChild.compareDocumentPosition(detachedForeignComment) 
-PASS detachedPara2.firstChild.compareDocumentPosition(detachedXmlComment) 
-PASS detachedPara2.firstChild.compareDocumentPosition(foreignDocfrag) 
-PASS detachedPara2.firstChild.compareDocumentPosition(xmlDocfrag) 
-PASS detachedPara2.firstChild.compareDocumentPosition(xmlDoctype) 
+PASS detachedPara2.firstChild.contains(paras[0]) 
+PASS detachedPara2.firstChild.contains(paras[0].firstChild) 
+PASS detachedPara2.firstChild.contains(paras[1].firstChild) 
+PASS detachedPara2.firstChild.contains(foreignPara1) 
+PASS detachedPara2.firstChild.contains(foreignPara1.firstChild) 
+PASS detachedPara2.firstChild.contains(detachedPara1) 
+PASS detachedPara2.firstChild.contains(detachedPara1.firstChild) 
+PASS detachedPara2.firstChild.contains(document) 
+PASS detachedPara2.firstChild.contains(detachedDiv) 
+PASS detachedPara2.firstChild.contains(foreignDoc) 
+PASS detachedPara2.firstChild.contains(foreignPara2) 
+PASS detachedPara2.firstChild.contains(xmlDoc) 
+PASS detachedPara2.firstChild.contains(xmlElement) 
+PASS detachedPara2.firstChild.contains(detachedTextNode) 
+PASS detachedPara2.firstChild.contains(foreignTextNode) 
+PASS detachedPara2.firstChild.contains(processingInstruction) 
+PASS detachedPara2.firstChild.contains(detachedProcessingInstruction) 
+PASS detachedPara2.firstChild.contains(comment) 
+PASS detachedPara2.firstChild.contains(detachedComment) 
+PASS detachedPara2.firstChild.contains(docfrag) 
+PASS detachedPara2.firstChild.contains(doctype) 
+PASS detachedPara2.firstChild.contains(foreignDoctype) 
+PASS detachedPara2.firstChild.contains(paras[1]) 
+PASS detachedPara2.firstChild.contains(detachedPara2) 
+PASS detachedPara2.firstChild.contains(detachedPara2.firstChild) 
+PASS detachedPara2.firstChild.contains(testDiv) 
+PASS detachedPara2.firstChild.contains(detachedXmlElement) 
+PASS detachedPara2.firstChild.contains(detachedForeignTextNode) 
+PASS detachedPara2.firstChild.contains(xmlTextNode) 
+PASS detachedPara2.firstChild.contains(detachedXmlTextNode) 
+PASS detachedPara2.firstChild.contains(xmlComment) 
+PASS detachedPara2.firstChild.contains(foreignComment) 
+PASS detachedPara2.firstChild.contains(detachedForeignComment) 
+PASS detachedPara2.firstChild.contains(detachedXmlComment) 
+PASS detachedPara2.firstChild.contains(foreignDocfrag) 
+PASS detachedPara2.firstChild.contains(xmlDocfrag) 
+PASS detachedPara2.firstChild.contains(xmlDoctype) 
 PASS testDiv.contains(null) 
-PASS testDiv.compareDocumentPosition(paras[0]) 
-PASS testDiv.compareDocumentPosition(paras[0].firstChild) 
-PASS testDiv.compareDocumentPosition(paras[1].firstChild) 
-PASS testDiv.compareDocumentPosition(foreignPara1) 
-PASS testDiv.compareDocumentPosition(foreignPara1.firstChild) 
-PASS testDiv.compareDocumentPosition(detachedPara1) 
-PASS testDiv.compareDocumentPosition(detachedPara1.firstChild) 
-PASS testDiv.compareDocumentPosition(document) 
-PASS testDiv.compareDocumentPosition(detachedDiv) 
-PASS testDiv.compareDocumentPosition(foreignDoc) 
-PASS testDiv.compareDocumentPosition(foreignPara2) 
-PASS testDiv.compareDocumentPosition(xmlDoc) 
-PASS testDiv.compareDocumentPosition(xmlElement) 
-PASS testDiv.compareDocumentPosition(detachedTextNode) 
-PASS testDiv.compareDocumentPosition(foreignTextNode) 
-PASS testDiv.compareDocumentPosition(processingInstruction) 
-PASS testDiv.compareDocumentPosition(detachedProcessingInstruction) 
-PASS testDiv.compareDocumentPosition(comment) 
-PASS testDiv.compareDocumentPosition(detachedComment) 
-PASS testDiv.compareDocumentPosition(docfrag) 
-PASS testDiv.compareDocumentPosition(doctype) 
-PASS testDiv.compareDocumentPosition(foreignDoctype) 
-PASS testDiv.compareDocumentPosition(paras[1]) 
-PASS testDiv.compareDocumentPosition(detachedPara2) 
-PASS testDiv.compareDocumentPosition(detachedPara2.firstChild) 
-PASS testDiv.compareDocumentPosition(testDiv) 
-PASS testDiv.compareDocumentPosition(detachedXmlElement) 
-PASS testDiv.compareDocumentPosition(detachedForeignTextNode) 
-PASS testDiv.compareDocumentPosition(xmlTextNode) 
-PASS testDiv.compareDocumentPosition(detachedXmlTextNode) 
-PASS testDiv.compareDocumentPosition(xmlComment) 
-PASS testDiv.compareDocumentPosition(foreignComment) 
-PASS testDiv.compareDocumentPosition(detachedForeignComment) 
-PASS testDiv.compareDocumentPosition(detachedXmlComment) 
-PASS testDiv.compareDocumentPosition(foreignDocfrag) 
-PASS testDiv.compareDocumentPosition(xmlDocfrag) 
-PASS testDiv.compareDocumentPosition(xmlDoctype) 
+PASS testDiv.contains(paras[0]) 
+PASS testDiv.contains(paras[0].firstChild) 
+PASS testDiv.contains(paras[1].firstChild) 
+PASS testDiv.contains(foreignPara1) 
+PASS testDiv.contains(foreignPara1.firstChild) 
+PASS testDiv.contains(detachedPara1) 
+PASS testDiv.contains(detachedPara1.firstChild) 
+PASS testDiv.contains(document) 
+PASS testDiv.contains(detachedDiv) 
+PASS testDiv.contains(foreignDoc) 
+PASS testDiv.contains(foreignPara2) 
+PASS testDiv.contains(xmlDoc) 
+PASS testDiv.contains(xmlElement) 
+PASS testDiv.contains(detachedTextNode) 
+PASS testDiv.contains(foreignTextNode) 
+PASS testDiv.contains(processingInstruction) 
+PASS testDiv.contains(detachedProcessingInstruction) 
+PASS testDiv.contains(comment) 
+PASS testDiv.contains(detachedComment) 
+PASS testDiv.contains(docfrag) 
+PASS testDiv.contains(doctype) 
+PASS testDiv.contains(foreignDoctype) 
+PASS testDiv.contains(paras[1]) 
+PASS testDiv.contains(detachedPara2) 
+PASS testDiv.contains(detachedPara2.firstChild) 
+PASS testDiv.contains(testDiv) 
+PASS testDiv.contains(detachedXmlElement) 
+PASS testDiv.contains(detachedForeignTextNode) 
+PASS testDiv.contains(xmlTextNode) 
+PASS testDiv.contains(detachedXmlTextNode) 
+PASS testDiv.contains(xmlComment) 
+PASS testDiv.contains(foreignComment) 
+PASS testDiv.contains(detachedForeignComment) 
+PASS testDiv.contains(detachedXmlComment) 
+PASS testDiv.contains(foreignDocfrag) 
+PASS testDiv.contains(xmlDocfrag) 
+PASS testDiv.contains(xmlDoctype) 
 PASS detachedXmlElement.contains(null) 
-PASS detachedXmlElement.compareDocumentPosition(paras[0]) 
-PASS detachedXmlElement.compareDocumentPosition(paras[0].firstChild) 
-PASS detachedXmlElement.compareDocumentPosition(paras[1].firstChild) 
-PASS detachedXmlElement.compareDocumentPosition(foreignPara1) 
-PASS detachedXmlElement.compareDocumentPosition(foreignPara1.firstChild) 
-PASS detachedXmlElement.compareDocumentPosition(detachedPara1) 
-PASS detachedXmlElement.compareDocumentPosition(detachedPara1.firstChild) 
-PASS detachedXmlElement.compareDocumentPosition(document) 
-PASS detachedXmlElement.compareDocumentPosition(detachedDiv) 
-PASS detachedXmlElement.compareDocumentPosition(foreignDoc) 
-PASS detachedXmlElement.compareDocumentPosition(foreignPara2) 
-PASS detachedXmlElement.compareDocumentPosition(xmlDoc) 
-PASS detachedXmlElement.compareDocumentPosition(xmlElement) 
-PASS detachedXmlElement.compareDocumentPosition(detachedTextNode) 
-PASS detachedXmlElement.compareDocumentPosition(foreignTextNode) 
-PASS detachedXmlElement.compareDocumentPosition(processingInstruction) 
-PASS detachedXmlElement.compareDocumentPosition(detachedProcessingInstruction) 
-PASS detachedXmlElement.compareDocumentPosition(comment) 
-PASS detachedXmlElement.compareDocumentPosition(detachedComment) 
-PASS detachedXmlElement.compareDocumentPosition(docfrag) 
-PASS detachedXmlElement.compareDocumentPosition(doctype) 
-PASS detachedXmlElement.compareDocumentPosition(foreignDoctype) 
-PASS detachedXmlElement.compareDocumentPosition(paras[1]) 
-PASS detachedXmlElement.compareDocumentPosition(detachedPara2) 
-PASS detachedXmlElement.compareDocumentPosition(detachedPara2.firstChild) 
-PASS detachedXmlElement.compareDocumentPosition(testDiv) 
-PASS detachedXmlElement.compareDocumentPosition(detachedXmlElement) 
-PASS detachedXmlElement.compareDocumentPosition(detachedForeignTextNode) 
-PASS detachedXmlElement.compareDocumentPosition(xmlTextNode) 
-PASS detachedXmlElement.compareDocumentPosition(detachedXmlTextNode) 
-PASS detachedXmlElement.compareDocumentPosition(xmlComment) 
-PASS detachedXmlElement.compareDocumentPosition(foreignComment) 
-PASS detachedXmlElement.compareDocumentPosition(detachedForeignComment) 
-PASS detachedXmlElement.compareDocumentPosition(detachedXmlComment) 
-PASS detachedXmlElement.compareDocumentPosition(foreignDocfrag) 
-PASS detachedXmlElement.compareDocumentPosition(xmlDocfrag) 
-PASS detachedXmlElement.compareDocumentPosition(xmlDoctype) 
+PASS detachedXmlElement.contains(paras[0]) 
+PASS detachedXmlElement.contains(paras[0].firstChild) 
+PASS detachedXmlElement.contains(paras[1].firstChild) 
+PASS detachedXmlElement.contains(foreignPara1) 
+PASS detachedXmlElement.contains(foreignPara1.firstChild) 
+PASS detachedXmlElement.contains(detachedPara1) 
+PASS detachedXmlElement.contains(detachedPara1.firstChild) 
+PASS detachedXmlElement.contains(document) 
+PASS detachedXmlElement.contains(detachedDiv) 
+PASS detachedXmlElement.contains(foreignDoc) 
+PASS detachedXmlElement.contains(foreignPara2) 
+PASS detachedXmlElement.contains(xmlDoc) 
+PASS detachedXmlElement.contains(xmlElement) 
+PASS detachedXmlElement.contains(detachedTextNode) 
+PASS detachedXmlElement.contains(foreignTextNode) 
+PASS detachedXmlElement.contains(processingInstruction) 
+PASS detachedXmlElement.contains(detachedProcessingInstruction) 
+PASS detachedXmlElement.contains(comment) 
+PASS detachedXmlElement.contains(detachedComment) 
+PASS detachedXmlElement.contains(docfrag) 
+PASS detachedXmlElement.contains(doctype) 
+PASS detachedXmlElement.contains(foreignDoctype) 
+PASS detachedXmlElement.contains(paras[1]) 
+PASS detachedXmlElement.contains(detachedPara2) 
+PASS detachedXmlElement.contains(detachedPara2.firstChild) 
+PASS detachedXmlElement.contains(testDiv) 
+PASS detachedXmlElement.contains(detachedXmlElement) 
+PASS detachedXmlElement.contains(detachedForeignTextNode) 
+PASS detachedXmlElement.contains(xmlTextNode) 
+PASS detachedXmlElement.contains(detachedXmlTextNode) 
+PASS detachedXmlElement.contains(xmlComment) 
+PASS detachedXmlElement.contains(foreignComment) 
+PASS detachedXmlElement.contains(detachedForeignComment) 
+PASS detachedXmlElement.contains(detachedXmlComment) 
+PASS detachedXmlElement.contains(foreignDocfrag) 
+PASS detachedXmlElement.contains(xmlDocfrag) 
+PASS detachedXmlElement.contains(xmlDoctype) 
 PASS detachedForeignTextNode.contains(null) 
-PASS detachedForeignTextNode.compareDocumentPosition(paras[0]) 
-PASS detachedForeignTextNode.compareDocumentPosition(paras[0].firstChild) 
-PASS detachedForeignTextNode.compareDocumentPosition(paras[1].firstChild) 
-PASS detachedForeignTextNode.compareDocumentPosition(foreignPara1) 
-PASS detachedForeignTextNode.compareDocumentPosition(foreignPara1.firstChild) 
-PASS detachedForeignTextNode.compareDocumentPosition(detachedPara1) 
-PASS detachedForeignTextNode.compareDocumentPosition(detachedPara1.firstChild) 
-PASS detachedForeignTextNode.compareDocumentPosition(document) 
-PASS detachedForeignTextNode.compareDocumentPosition(detachedDiv) 
-PASS detachedForeignTextNode.compareDocumentPosition(foreignDoc) 
-PASS detachedForeignTextNode.compareDocumentPosition(foreignPara2) 
-PASS detachedForeignTextNode.compareDocumentPosition(xmlDoc) 
-PASS detachedForeignTextNode.compareDocumentPosition(xmlElement) 
-PASS detachedForeignTextNode.compareDocumentPosition(detachedTextNode) 
-PASS detachedForeignTextNode.compareDocumentPosition(foreignTextNode) 
-PASS detachedForeignTextNode.compareDocumentPosition(processingInstruction) 
-PASS detachedForeignTextNode.compareDocumentPosition(detachedProcessingInstruction) 
-PASS detachedForeignTextNode.compareDocumentPosition(comment) 
-PASS detachedForeignTextNode.compareDocumentPosition(detachedComment) 
-PASS detachedForeignTextNode.compareDocumentPosition(docfrag) 
-PASS detachedForeignTextNode.compareDocumentPosition(doctype) 
-PASS detachedForeignTextNode.compareDocumentPosition(foreignDoctype) 
-PASS detachedForeignTextNode.compareDocumentPosition(paras[1]) 
-PASS detachedForeignTextNode.compareDocumentPosition(detachedPara2) 
-PASS detachedForeignTextNode.compareDocumentPosition(detachedPara2.firstChild) 
-PASS detachedForeignTextNode.compareDocumentPosition(testDiv) 
-PASS detachedForeignTextNode.compareDocumentPosition(detachedXmlElement) 
-PASS detachedForeignTextNode.compareDocumentPosition(detachedForeignTextNode) 
-PASS detachedForeignTextNode.compareDocumentPosition(xmlTextNode) 
-PASS detachedForeignTextNode.compareDocumentPosition(detachedXmlTextNode) 
-PASS detachedForeignTextNode.compareDocumentPosition(xmlComment) 
-PASS detachedForeignTextNode.compareDocumentPosition(foreignComment) 
-PASS detachedForeignTextNode.compareDocumentPosition(detachedForeignComment) 
-PASS detachedForeignTextNode.compareDocumentPosition(detachedXmlComment) 
-PASS detachedForeignTextNode.compareDocumentPosition(foreignDocfrag) 
-PASS detachedForeignTextNode.compareDocumentPosition(xmlDocfrag) 
-PASS detachedForeignTextNode.compareDocumentPosition(xmlDoctype) 
+PASS detachedForeignTextNode.contains(paras[0]) 
+PASS detachedForeignTextNode.contains(paras[0].firstChild) 
+PASS detachedForeignTextNode.contains(paras[1].firstChild) 
+PASS detachedForeignTextNode.contains(foreignPara1) 
+PASS detachedForeignTextNode.contains(foreignPara1.firstChild) 
+PASS detachedForeignTextNode.contains(detachedPara1) 
+PASS detachedForeignTextNode.contains(detachedPara1.firstChild) 
+PASS detachedForeignTextNode.contains(document) 
+PASS detachedForeignTextNode.contains(detachedDiv) 
+PASS detachedForeignTextNode.contains(foreignDoc) 
+PASS detachedForeignTextNode.contains(foreignPara2) 
+PASS detachedForeignTextNode.contains(xmlDoc) 
+PASS detachedForeignTextNode.contains(xmlElement) 
+PASS detachedForeignTextNode.contains(detachedTextNode) 
+PASS detachedForeignTextNode.contains(foreignTextNode) 
+PASS detachedForeignTextNode.contains(processingInstruction) 
+PASS detachedForeignTextNode.contains(detachedProcessingInstruction) 
+PASS detachedForeignTextNode.contains(comment) 
+PASS detachedForeignTextNode.contains(detachedComment) 
+PASS detachedForeignTextNode.contains(docfrag) 
+PASS detachedForeignTextNode.contains(doctype) 
+PASS detachedForeignTextNode.contains(foreignDoctype) 
+PASS detachedForeignTextNode.contains(paras[1]) 
+PASS detachedForeignTextNode.contains(detachedPara2) 
+PASS detachedForeignTextNode.contains(detachedPara2.firstChild) 
+PASS detachedForeignTextNode.contains(testDiv) 
+PASS detachedForeignTextNode.contains(detachedXmlElement) 
+PASS detachedForeignTextNode.contains(detachedForeignTextNode) 
+PASS detachedForeignTextNode.contains(xmlTextNode) 
+PASS detachedForeignTextNode.contains(detachedXmlTextNode) 
+PASS detachedForeignTextNode.contains(xmlComment) 
+PASS detachedForeignTextNode.contains(foreignComment) 
+PASS detachedForeignTextNode.contains(detachedForeignComment) 
+PASS detachedForeignTextNode.contains(detachedXmlComment) 
+PASS detachedForeignTextNode.contains(foreignDocfrag) 
+PASS detachedForeignTextNode.contains(xmlDocfrag) 
+PASS detachedForeignTextNode.contains(xmlDoctype) 
 PASS xmlTextNode.contains(null) 
-PASS xmlTextNode.compareDocumentPosition(paras[0]) 
-PASS xmlTextNode.compareDocumentPosition(paras[0].firstChild) 
-PASS xmlTextNode.compareDocumentPosition(paras[1].firstChild) 
-PASS xmlTextNode.compareDocumentPosition(foreignPara1) 
-PASS xmlTextNode.compareDocumentPosition(foreignPara1.firstChild) 
-PASS xmlTextNode.compareDocumentPosition(detachedPara1) 
-PASS xmlTextNode.compareDocumentPosition(detachedPara1.firstChild) 
-PASS xmlTextNode.compareDocumentPosition(document) 
-PASS xmlTextNode.compareDocumentPosition(detachedDiv) 
-PASS xmlTextNode.compareDocumentPosition(foreignDoc) 
-PASS xmlTextNode.compareDocumentPosition(foreignPara2) 
-PASS xmlTextNode.compareDocumentPosition(xmlDoc) 
-PASS xmlTextNode.compareDocumentPosition(xmlElement) 
-PASS xmlTextNode.compareDocumentPosition(detachedTextNode) 
-PASS xmlTextNode.compareDocumentPosition(foreignTextNode) 
-PASS xmlTextNode.compareDocumentPosition(processingInstruction) 
-PASS xmlTextNode.compareDocumentPosition(detachedProcessingInstruction) 
-PASS xmlTextNode.compareDocumentPosition(comment) 
-PASS xmlTextNode.compareDocumentPosition(detachedComment) 
-PASS xmlTextNode.compareDocumentPosition(docfrag) 
-PASS xmlTextNode.compareDocumentPosition(doctype) 
-PASS xmlTextNode.compareDocumentPosition(foreignDoctype) 
-PASS xmlTextNode.compareDocumentPosition(paras[1]) 
-PASS xmlTextNode.compareDocumentPosition(detachedPara2) 
-PASS xmlTextNode.compareDocumentPosition(detachedPara2.firstChild) 
-PASS xmlTextNode.compareDocumentPosition(testDiv) 
-PASS xmlTextNode.compareDocumentPosition(detachedXmlElement) 
-PASS xmlTextNode.compareDocumentPosition(detachedForeignTextNode) 
-PASS xmlTextNode.compareDocumentPosition(xmlTextNode) 
-PASS xmlTextNode.compareDocumentPosition(detachedXmlTextNode) 
-PASS xmlTextNode.compareDocumentPosition(xmlComment) 
-PASS xmlTextNode.compareDocumentPosition(foreignComment) 
-PASS xmlTextNode.compareDocumentPosition(detachedForeignComment) 
-PASS xmlTextNode.compareDocumentPosition(detachedXmlComment) 
-PASS xmlTextNode.compareDocumentPosition(foreignDocfrag) 
-PASS xmlTextNode.compareDocumentPosition(xmlDocfrag) 
-PASS xmlTextNode.compareDocumentPosition(xmlDoctype) 
+PASS xmlTextNode.contains(paras[0]) 
+PASS xmlTextNode.contains(paras[0].firstChild) 
+PASS xmlTextNode.contains(paras[1].firstChild) 
+PASS xmlTextNode.contains(foreignPara1) 
+PASS xmlTextNode.contains(foreignPara1.firstChild) 
+PASS xmlTextNode.contains(detachedPara1) 
+PASS xmlTextNode.contains(detachedPara1.firstChild) 
+PASS xmlTextNode.contains(document) 
+PASS xmlTextNode.contains(detachedDiv) 
+PASS xmlTextNode.contains(foreignDoc) 
+PASS xmlTextNode.contains(foreignPara2) 
+PASS xmlTextNode.contains(xmlDoc) 
+PASS xmlTextNode.contains(xmlElement) 
+PASS xmlTextNode.contains(detachedTextNode) 
+PASS xmlTextNode.contains(foreignTextNode) 
+PASS xmlTextNode.contains(processingInstruction) 
+PASS xmlTextNode.contains(detachedProcessingInstruction) 
+PASS xmlTextNode.contains(comment) 
+PASS xmlTextNode.contains(detachedComment) 
+PASS xmlTextNode.contains(docfrag) 
+PASS xmlTextNode.contains(doctype) 
+PASS xmlTextNode.contains(foreignDoctype) 
+PASS xmlTextNode.contains(paras[1]) 
+PASS xmlTextNode.contains(detachedPara2) 
+PASS xmlTextNode.contains(detachedPara2.firstChild) 
+PASS xmlTextNode.contains(testDiv) 
+PASS xmlTextNode.contains(detachedXmlElement) 
+PASS xmlTextNode.contains(detachedForeignTextNode) 
+PASS xmlTextNode.contains(xmlTextNode) 
+PASS xmlTextNode.contains(detachedXmlTextNode) 
+PASS xmlTextNode.contains(xmlComment) 
+PASS xmlTextNode.contains(foreignComment) 
+PASS xmlTextNode.contains(detachedForeignComment) 
+PASS xmlTextNode.contains(detachedXmlComment) 
+PASS xmlTextNode.contains(foreignDocfrag) 
+PASS xmlTextNode.contains(xmlDocfrag) 
+PASS xmlTextNode.contains(xmlDoctype) 
 PASS detachedXmlTextNode.contains(null) 
-PASS detachedXmlTextNode.compareDocumentPosition(paras[0]) 
-PASS detachedXmlTextNode.compareDocumentPosition(paras[0].firstChild) 
-PASS detachedXmlTextNode.compareDocumentPosition(paras[1].firstChild) 
-PASS detachedXmlTextNode.compareDocumentPosition(foreignPara1) 
-PASS detachedXmlTextNode.compareDocumentPosition(foreignPara1.firstChild) 
-PASS detachedXmlTextNode.compareDocumentPosition(detachedPara1) 
-PASS detachedXmlTextNode.compareDocumentPosition(detachedPara1.firstChild) 
-PASS detachedXmlTextNode.compareDocumentPosition(document) 
-PASS detachedXmlTextNode.compareDocumentPosition(detachedDiv) 
-PASS detachedXmlTextNode.compareDocumentPosition(foreignDoc) 
-PASS detachedXmlTextNode.compareDocumentPosition(foreignPara2) 
-PASS detachedXmlTextNode.compareDocumentPosition(xmlDoc) 
-PASS detachedXmlTextNode.compareDocumentPosition(xmlElement) 
-PASS detachedXmlTextNode.compareDocumentPosition(detachedTextNode) 
-PASS detachedXmlTextNode.compareDocumentPosition(foreignTextNode) 
-PASS detachedXmlTextNode.compareDocumentPosition(processingInstruction) 
-PASS detachedXmlTextNode.compareDocumentPosition(detachedProcessingInstruction) 
-PASS detachedXmlTextNode.compareDocumentPosition(comment) 
-PASS detachedXmlTextNode.compareDocumentPosition(detachedComment) 
-PASS detachedXmlTextNode.compareDocumentPosition(docfrag) 
-PASS detachedXmlTextNode.compareDocumentPosition(doctype) 
-PASS detachedXmlTextNode.compareDocumentPosition(foreignDoctype) 
-PASS detachedXmlTextNode.compareDocumentPosition(paras[1]) 
-PASS detachedXmlTextNode.compareDocumentPosition(detachedPara2) 
-PASS detachedXmlTextNode.compareDocumentPosition(detachedPara2.firstChild) 
-PASS detachedXmlTextNode.compareDocumentPosition(testDiv) 
-PASS detachedXmlTextNode.compareDocumentPosition(detachedXmlElement) 
-PASS detachedXmlTextNode.compareDocumentPosition(detachedForeignTextNode) 
-PASS detachedXmlTextNode.compareDocumentPosition(xmlTextNode) 
-PASS detachedXmlTextNode.compareDocumentPosition(detachedXmlTextNode) 
-PASS detachedXmlTextNode.compareDocumentPosition(xmlComment) 
-PASS detachedXmlTextNode.compareDocumentPosition(foreignComment) 
-PASS detachedXmlTextNode.compareDocumentPosition(detachedForeignComment) 
-PASS detachedXmlTextNode.compareDocumentPosition(detachedXmlComment) 
-PASS detachedXmlTextNode.compareDocumentPosition(foreignDocfrag) 
-PASS detachedXmlTextNode.compareDocumentPosition(xmlDocfrag) 
-PASS detachedXmlTextNode.compareDocumentPosition(xmlDoctype) 
+PASS detachedXmlTextNode.contains(paras[0]) 
+PASS detachedXmlTextNode.contains(paras[0].firstChild) 
+PASS detachedXmlTextNode.contains(paras[1].firstChild) 
+PASS detachedXmlTextNode.contains(foreignPara1) 
+PASS detachedXmlTextNode.contains(foreignPara1.firstChild) 
+PASS detachedXmlTextNode.contains(detachedPara1) 
+PASS detachedXmlTextNode.contains(detachedPara1.firstChild) 
+PASS detachedXmlTextNode.contains(document) 
+PASS detachedXmlTextNode.contains(detachedDiv) 
+PASS detachedXmlTextNode.contains(foreignDoc) 
+PASS detachedXmlTextNode.contains(foreignPara2) 
+PASS detachedXmlTextNode.contains(xmlDoc) 
+PASS detachedXmlTextNode.contains(xmlElement) 
+PASS detachedXmlTextNode.contains(detachedTextNode) 
+PASS detachedXmlTextNode.contains(foreignTextNode) 
+PASS detachedXmlTextNode.contains(processingInstruction) 
+PASS detachedXmlTextNode.contains(detachedProcessingInstruction) 
+PASS detachedXmlTextNode.contains(comment) 
+PASS detachedXmlTextNode.contains(detachedComment) 
+PASS detachedXmlTextNode.contains(docfrag) 
+PASS detachedXmlTextNode.contains(doctype) 
+PASS detachedXmlTextNode.contains(foreignDoctype) 
+PASS detachedXmlTextNode.contains(paras[1]) 
+PASS detachedXmlTextNode.contains(detachedPara2) 
+PASS detachedXmlTextNode.contains(detachedPara2.firstChild) 
+PASS detachedXmlTextNode.contains(testDiv) 
+PASS detachedXmlTextNode.contains(detachedXmlElement) 
+PASS detachedXmlTextNode.contains(detachedForeignTextNode) 
+PASS detachedXmlTextNode.contains(xmlTextNode) 
+PASS detachedXmlTextNode.contains(detachedXmlTextNode) 
+PASS detachedXmlTextNode.contains(xmlComment) 
+PASS detachedXmlTextNode.contains(foreignComment) 
+PASS detachedXmlTextNode.contains(detachedForeignComment) 
+PASS detachedXmlTextNode.contains(detachedXmlComment) 
+PASS detachedXmlTextNode.contains(foreignDocfrag) 
+PASS detachedXmlTextNode.contains(xmlDocfrag) 
+PASS detachedXmlTextNode.contains(xmlDoctype) 
 PASS xmlComment.contains(null) 
-PASS xmlComment.compareDocumentPosition(paras[0]) 
-PASS xmlComment.compareDocumentPosition(paras[0].firstChild) 
-PASS xmlComment.compareDocumentPosition(paras[1].firstChild) 
-PASS xmlComment.compareDocumentPosition(foreignPara1) 
-PASS xmlComment.compareDocumentPosition(foreignPara1.firstChild) 
-PASS xmlComment.compareDocumentPosition(detachedPara1) 
-PASS xmlComment.compareDocumentPosition(detachedPara1.firstChild) 
-PASS xmlComment.compareDocumentPosition(document) 
-PASS xmlComment.compareDocumentPosition(detachedDiv) 
-PASS xmlComment.compareDocumentPosition(foreignDoc) 
-PASS xmlComment.compareDocumentPosition(foreignPara2) 
-PASS xmlComment.compareDocumentPosition(xmlDoc) 
-PASS xmlComment.compareDocumentPosition(xmlElement) 
-PASS xmlComment.compareDocumentPosition(detachedTextNode) 
-PASS xmlComment.compareDocumentPosition(foreignTextNode) 
-PASS xmlComment.compareDocumentPosition(processingInstruction) 
-PASS xmlComment.compareDocumentPosition(detachedProcessingInstruction) 
-PASS xmlComment.compareDocumentPosition(comment) 
-PASS xmlComment.compareDocumentPosition(detachedComment) 
-PASS xmlComment.compareDocumentPosition(docfrag) 
-PASS xmlComment.compareDocumentPosition(doctype) 
-PASS xmlComment.compareDocumentPosition(foreignDoctype) 
-PASS xmlComment.compareDocumentPosition(paras[1]) 
-PASS xmlComment.compareDocumentPosition(detachedPara2) 
-PASS xmlComment.compareDocumentPosition(detachedPara2.firstChild) 
-PASS xmlComment.compareDocumentPosition(testDiv) 
-PASS xmlComment.compareDocumentPosition(detachedXmlElement) 
-PASS xmlComment.compareDocumentPosition(detachedForeignTextNode) 
-PASS xmlComment.compareDocumentPosition(xmlTextNode) 
-PASS xmlComment.compareDocumentPosition(detachedXmlTextNode) 
-PASS xmlComment.compareDocumentPosition(xmlComment) 
-PASS xmlComment.compareDocumentPosition(foreignComment) 
-PASS xmlComment.compareDocumentPosition(detachedForeignComment) 
-PASS xmlComment.compareDocumentPosition(detachedXmlComment) 
-PASS xmlComment.compareDocumentPosition(foreignDocfrag) 
-PASS xmlComment.compareDocumentPosition(xmlDocfrag) 
-PASS xmlComment.compareDocumentPosition(xmlDoctype) 
+PASS xmlComment.contains(paras[0]) 
+PASS xmlComment.contains(paras[0].firstChild) 
+PASS xmlComment.contains(paras[1].firstChild) 
+PASS xmlComment.contains(foreignPara1) 
+PASS xmlComment.contains(foreignPara1.firstChild) 
+PASS xmlComment.contains(detachedPara1) 
+PASS xmlComment.contains(detachedPara1.firstChild) 
+PASS xmlComment.contains(document) 
+PASS xmlComment.contains(detachedDiv) 
+PASS xmlComment.contains(foreignDoc) 
+PASS xmlComment.contains(foreignPara2) 
+PASS xmlComment.contains(xmlDoc) 
+PASS xmlComment.contains(xmlElement) 
+PASS xmlComment.contains(detachedTextNode) 
+PASS xmlComment.contains(foreignTextNode) 
+PASS xmlComment.contains(processingInstruction) 
+PASS xmlComment.contains(detachedProcessingInstruction) 
+PASS xmlComment.contains(comment) 
+PASS xmlComment.contains(detachedComment) 
+PASS xmlComment.contains(docfrag) 
+PASS xmlComment.contains(doctype) 
+PASS xmlComment.contains(foreignDoctype) 
+PASS xmlComment.contains(paras[1]) 
+PASS xmlComment.contains(detachedPara2) 
+PASS xmlComment.contains(detachedPara2.firstChild) 
+PASS xmlComment.contains(testDiv) 
+PASS xmlComment.contains(detachedXmlElement) 
+PASS xmlComment.contains(detachedForeignTextNode) 
+PASS xmlComment.contains(xmlTextNode) 
+PASS xmlComment.contains(detachedXmlTextNode) 
+PASS xmlComment.contains(xmlComment) 
+PASS xmlComment.contains(foreignComment) 
+PASS xmlComment.contains(detachedForeignComment) 
+PASS xmlComment.contains(detachedXmlComment) 
+PASS xmlComment.contains(foreignDocfrag) 
+PASS xmlComment.contains(xmlDocfrag) 
+PASS xmlComment.contains(xmlDoctype) 
 PASS foreignComment.contains(null) 
-PASS foreignComment.compareDocumentPosition(paras[0]) 
-PASS foreignComment.compareDocumentPosition(paras[0].firstChild) 
-PASS foreignComment.compareDocumentPosition(paras[1].firstChild) 
-PASS foreignComment.compareDocumentPosition(foreignPara1) 
-PASS foreignComment.compareDocumentPosition(foreignPara1.firstChild) 
-PASS foreignComment.compareDocumentPosition(detachedPara1) 
-PASS foreignComment.compareDocumentPosition(detachedPara1.firstChild) 
-PASS foreignComment.compareDocumentPosition(document) 
-PASS foreignComment.compareDocumentPosition(detachedDiv) 
-PASS foreignComment.compareDocumentPosition(foreignDoc) 
-PASS foreignComment.compareDocumentPosition(foreignPara2) 
-PASS foreignComment.compareDocumentPosition(xmlDoc) 
-PASS foreignComment.compareDocumentPosition(xmlElement) 
-PASS foreignComment.compareDocumentPosition(detachedTextNode) 
-PASS foreignComment.compareDocumentPosition(foreignTextNode) 
-PASS foreignComment.compareDocumentPosition(processingInstruction) 
-PASS foreignComment.compareDocumentPosition(detachedProcessingInstruction) 
-PASS foreignComment.compareDocumentPosition(comment) 
-PASS foreignComment.compareDocumentPosition(detachedComment) 
-PASS foreignComment.compareDocumentPosition(docfrag) 
-PASS foreignComment.compareDocumentPosition(doctype) 
-PASS foreignComment.compareDocumentPosition(foreignDoctype) 
-PASS foreignComment.compareDocumentPosition(paras[1]) 
-PASS foreignComment.compareDocumentPosition(detachedPara2) 
-PASS foreignComment.compareDocumentPosition(detachedPara2.firstChild) 
-PASS foreignComment.compareDocumentPosition(testDiv) 
-PASS foreignComment.compareDocumentPosition(detachedXmlElement) 
-PASS foreignComment.compareDocumentPosition(detachedForeignTextNode) 
-PASS foreignComment.compareDocumentPosition(xmlTextNode) 
-PASS foreignComment.compareDocumentPosition(detachedXmlTextNode) 
-PASS foreignComment.compareDocumentPosition(xmlComment) 
-PASS foreignComment.compareDocumentPosition(foreignComment) 
-PASS foreignComment.compareDocumentPosition(detachedForeignComment) 
-PASS foreignComment.compareDocumentPosition(detachedXmlComment) 
-PASS foreignComment.compareDocumentPosition(foreignDocfrag) 
-PASS foreignComment.compareDocumentPosition(xmlDocfrag) 
-PASS foreignComment.compareDocumentPosition(xmlDoctype) 
+PASS foreignComment.contains(paras[0]) 
+PASS foreignComment.contains(paras[0].firstChild) 
+PASS foreignComment.contains(paras[1].firstChild) 
+PASS foreignComment.contains(foreignPara1) 
+PASS foreignComment.contains(foreignPara1.firstChild) 
+PASS foreignComment.contains(detachedPara1) 
+PASS foreignComment.contains(detachedPara1.firstChild) 
+PASS foreignComment.contains(document) 
+PASS foreignComment.contains(detachedDiv) 
+PASS foreignComment.contains(foreignDoc) 
+PASS foreignComment.contains(foreignPara2) 
+PASS foreignComment.contains(xmlDoc) 
+PASS foreignComment.contains(xmlElement) 
+PASS foreignComment.contains(detachedTextNode) 
+PASS foreignComment.contains(foreignTextNode) 
+PASS foreignComment.contains(processingInstruction) 
+PASS foreignComment.contains(detachedProcessingInstruction) 
+PASS foreignComment.contains(comment) 
+PASS foreignComment.contains(detachedComment) 
+PASS foreignComment.contains(docfrag) 
+PASS foreignComment.contains(doctype) 
+PASS foreignComment.contains(foreignDoctype) 
+PASS foreignComment.contains(paras[1]) 
+PASS foreignComment.contains(detachedPara2) 
+PASS foreignComment.contains(detachedPara2.firstChild) 
+PASS foreignComment.contains(testDiv) 
+PASS foreignComment.contains(detachedXmlElement) 
+PASS foreignComment.contains(detachedForeignTextNode) 
+PASS foreignComment.contains(xmlTextNode) 
+PASS foreignComment.contains(detachedXmlTextNode) 
+PASS foreignComment.contains(xmlComment) 
+PASS foreignComment.contains(foreignComment) 
+PASS foreignComment.contains(detachedForeignComment) 
+PASS foreignComment.contains(detachedXmlComment) 
+PASS foreignComment.contains(foreignDocfrag) 
+PASS foreignComment.contains(xmlDocfrag) 
+PASS foreignComment.contains(xmlDoctype) 
 PASS detachedForeignComment.contains(null) 
-PASS detachedForeignComment.compareDocumentPosition(paras[0]) 
-PASS detachedForeignComment.compareDocumentPosition(paras[0].firstChild) 
-PASS detachedForeignComment.compareDocumentPosition(paras[1].firstChild) 
-PASS detachedForeignComment.compareDocumentPosition(foreignPara1) 
-PASS detachedForeignComment.compareDocumentPosition(foreignPara1.firstChild) 
-PASS detachedForeignComment.compareDocumentPosition(detachedPara1) 
-PASS detachedForeignComment.compareDocumentPosition(detachedPara1.firstChild) 
-PASS detachedForeignComment.compareDocumentPosition(document) 
-PASS detachedForeignComment.compareDocumentPosition(detachedDiv) 
-PASS detachedForeignComment.compareDocumentPosition(foreignDoc) 
-PASS detachedForeignComment.compareDocumentPosition(foreignPara2) 
-PASS detachedForeignComment.compareDocumentPosition(xmlDoc) 
-PASS detachedForeignComment.compareDocumentPosition(xmlElement) 
-PASS detachedForeignComment.compareDocumentPosition(detachedTextNode) 
-PASS detachedForeignComment.compareDocumentPosition(foreignTextNode) 
-PASS detachedForeignComment.compareDocumentPosition(processingInstruction) 
-PASS detachedForeignComment.compareDocumentPosition(detachedProcessingInstruction) 
-PASS detachedForeignComment.compareDocumentPosition(comment) 
-PASS detachedForeignComment.compareDocumentPosition(detachedComment) 
-PASS detachedForeignComment.compareDocumentPosition(docfrag) 
-PASS detachedForeignComment.compareDocumentPosition(doctype) 
-PASS detachedForeignComment.compareDocumentPosition(foreignDoctype) 
-PASS detachedForeignComment.compareDocumentPosition(paras[1]) 
-PASS detachedForeignComment.compareDocumentPosition(detachedPara2) 
-PASS detachedForeignComment.compareDocumentPosition(detachedPara2.firstChild) 
-PASS detachedForeignComment.compareDocumentPosition(testDiv) 
-PASS detachedForeignComment.compareDocumentPosition(detachedXmlElement) 
-PASS detachedForeignComment.compareDocumentPosition(detachedForeignTextNode) 
-PASS detachedForeignComment.compareDocumentPosition(xmlTextNode) 
-PASS detachedForeignComment.compareDocumentPosition(detachedXmlTextNode) 
-PASS detachedForeignComment.compareDocumentPosition(xmlComment) 
-PASS detachedForeignComment.compareDocumentPosition(foreignComment) 
-PASS detachedForeignComment.compareDocumentPosition(detachedForeignComment) 
-PASS detachedForeignComment.compareDocumentPosition(detachedXmlComment) 
-PASS detachedForeignComment.compareDocumentPosition(foreignDocfrag) 
-PASS detachedForeignComment.compareDocumentPosition(xmlDocfrag) 
-PASS detachedForeignComment.compareDocumentPosition(xmlDoctype) 
+PASS detachedForeignComment.contains(paras[0]) 
+PASS detachedForeignComment.contains(paras[0].firstChild) 
+PASS detachedForeignComment.contains(paras[1].firstChild) 
+PASS detachedForeignComment.contains(foreignPara1) 
+PASS detachedForeignComment.contains(foreignPara1.firstChild) 
+PASS detachedForeignComment.contains(detachedPara1) 
+PASS detachedForeignComment.contains(detachedPara1.firstChild) 
+PASS detachedForeignComment.contains(document) 
+PASS detachedForeignComment.contains(detachedDiv) 
+PASS detachedForeignComment.contains(foreignDoc) 
+PASS detachedForeignComment.contains(foreignPara2) 
+PASS detachedForeignComment.contains(xmlDoc) 
+PASS detachedForeignComment.contains(xmlElement) 
+PASS detachedForeignComment.contains(detachedTextNode) 
+PASS detachedForeignComment.contains(foreignTextNode) 
+PASS detachedForeignComment.contains(processingInstruction) 
+PASS detachedForeignComment.contains(detachedProcessingInstruction) 
+PASS detachedForeignComment.contains(comment) 
+PASS detachedForeignComment.contains(detachedComment) 
+PASS detachedForeignComment.contains(docfrag) 
+PASS detachedForeignComment.contains(doctype) 
+PASS detachedForeignComment.contains(foreignDoctype) 
+PASS detachedForeignComment.contains(paras[1]) 
+PASS detachedForeignComment.contains(detachedPara2) 
+PASS detachedForeignComment.contains(detachedPara2.firstChild) 
+PASS detachedForeignComment.contains(testDiv) 
+PASS detachedForeignComment.contains(detachedXmlElement) 
+PASS detachedForeignComment.contains(detachedForeignTextNode) 
+PASS detachedForeignComment.contains(xmlTextNode) 
+PASS detachedForeignComment.contains(detachedXmlTextNode) 
+PASS detachedForeignComment.contains(xmlComment) 
+PASS detachedForeignComment.contains(foreignComment) 
+PASS detachedForeignComment.contains(detachedForeignComment) 
+PASS detachedForeignComment.contains(detachedXmlComment) 
+PASS detachedForeignComment.contains(foreignDocfrag) 
+PASS detachedForeignComment.contains(xmlDocfrag) 
+PASS detachedForeignComment.contains(xmlDoctype) 
 PASS detachedXmlComment.contains(null) 
-PASS detachedXmlComment.compareDocumentPosition(paras[0]) 
-PASS detachedXmlComment.compareDocumentPosition(paras[0].firstChild) 
-PASS detachedXmlComment.compareDocumentPosition(paras[1].firstChild) 
-PASS detachedXmlComment.compareDocumentPosition(foreignPara1) 
-PASS detachedXmlComment.compareDocumentPosition(foreignPara1.firstChild) 
-PASS detachedXmlComment.compareDocumentPosition(detachedPara1) 
-PASS detachedXmlComment.compareDocumentPosition(detachedPara1.firstChild) 
-PASS detachedXmlComment.compareDocumentPosition(document) 
-PASS detachedXmlComment.compareDocumentPosition(detachedDiv) 
-PASS detachedXmlComment.compareDocumentPosition(foreignDoc) 
-PASS detachedXmlComment.compareDocumentPosition(foreignPara2) 
-PASS detachedXmlComment.compareDocumentPosition(xmlDoc) 
-PASS detachedXmlComment.compareDocumentPosition(xmlElement) 
-PASS detachedXmlComment.compareDocumentPosition(detachedTextNode) 
-PASS detachedXmlComment.compareDocumentPosition(foreignTextNode) 
-PASS detachedXmlComment.compareDocumentPosition(processingInstruction) 
-PASS detachedXmlComment.compareDocumentPosition(detachedProcessingInstruction) 
-PASS detachedXmlComment.compareDocumentPosition(comment) 
-PASS detachedXmlComment.compareDocumentPosition(detachedComment) 
-PASS detachedXmlComment.compareDocumentPosition(docfrag) 
-PASS detachedXmlComment.compareDocumentPosition(doctype) 
-PASS detachedXmlComment.compareDocumentPosition(foreignDoctype) 
-PASS detachedXmlComment.compareDocumentPosition(paras[1]) 
-PASS detachedXmlComment.compareDocumentPosition(detachedPara2) 
-PASS detachedXmlComment.compareDocumentPosition(detachedPara2.firstChild) 
-PASS detachedXmlComment.compareDocumentPosition(testDiv) 
-PASS detachedXmlComment.compareDocumentPosition(detachedXmlElement) 
-PASS detachedXmlComment.compareDocumentPosition(detachedForeignTextNode) 
-PASS detachedXmlComment.compareDocumentPosition(xmlTextNode) 
-PASS detachedXmlComment.compareDocumentPosition(detachedXmlTextNode) 
-PASS detachedXmlComment.compareDocumentPosition(xmlComment) 
-PASS detachedXmlComment.compareDocumentPosition(foreignComment) 
-PASS detachedXmlComment.compareDocumentPosition(detachedForeignComment) 
-PASS detachedXmlComment.compareDocumentPosition(detachedXmlComment) 
-PASS detachedXmlComment.compareDocumentPosition(foreignDocfrag) 
-PASS detachedXmlComment.compareDocumentPosition(xmlDocfrag) 
-PASS detachedXmlComment.compareDocumentPosition(xmlDoctype) 
+PASS detachedXmlComment.contains(paras[0]) 
+PASS detachedXmlComment.contains(paras[0].firstChild) 
+PASS detachedXmlComment.contains(paras[1].firstChild) 
+PASS detachedXmlComment.contains(foreignPara1) 
+PASS detachedXmlComment.contains(foreignPara1.firstChild) 
+PASS detachedXmlComment.contains(detachedPara1) 
+PASS detachedXmlComment.contains(detachedPara1.firstChild) 
+PASS detachedXmlComment.contains(document) 
+PASS detachedXmlComment.contains(detachedDiv) 
+PASS detachedXmlComment.contains(foreignDoc) 
+PASS detachedXmlComment.contains(foreignPara2) 
+PASS detachedXmlComment.contains(xmlDoc) 
+PASS detachedXmlComment.contains(xmlElement) 
+PASS detachedXmlComment.contains(detachedTextNode) 
+PASS detachedXmlComment.contains(foreignTextNode) 
+PASS detachedXmlComment.contains(processingInstruction) 
+PASS detachedXmlComment.contains(detachedProcessingInstruction) 
+PASS detachedXmlComment.contains(comment) 
+PASS detachedXmlComment.contains(detachedComment) 
+PASS detachedXmlComment.contains(docfrag) 
+PASS detachedXmlComment.contains(doctype) 
+PASS detachedXmlComment.contains(foreignDoctype) 
+PASS detachedXmlComment.contains(paras[1]) 
+PASS detachedXmlComment.contains(detachedPara2) 
+PASS detachedXmlComment.contains(detachedPara2.firstChild) 
+PASS detachedXmlComment.contains(testDiv) 
+PASS detachedXmlComment.contains(detachedXmlElement) 
+PASS detachedXmlComment.contains(detachedForeignTextNode) 
+PASS detachedXmlComment.contains(xmlTextNode) 
+PASS detachedXmlComment.contains(detachedXmlTextNode) 
+PASS detachedXmlComment.contains(xmlComment) 
+PASS detachedXmlComment.contains(foreignComment) 
+PASS detachedXmlComment.contains(detachedForeignComment) 
+PASS detachedXmlComment.contains(detachedXmlComment) 
+PASS detachedXmlComment.contains(foreignDocfrag) 
+PASS detachedXmlComment.contains(xmlDocfrag) 
+PASS detachedXmlComment.contains(xmlDoctype) 
 PASS foreignDocfrag.contains(null) 
-PASS foreignDocfrag.compareDocumentPosition(paras[0]) 
-PASS foreignDocfrag.compareDocumentPosition(paras[0].firstChild) 
-PASS foreignDocfrag.compareDocumentPosition(paras[1].firstChild) 
-PASS foreignDocfrag.compareDocumentPosition(foreignPara1) 
-PASS foreignDocfrag.compareDocumentPosition(foreignPara1.firstChild) 
-PASS foreignDocfrag.compareDocumentPosition(detachedPara1) 
-PASS foreignDocfrag.compareDocumentPosition(detachedPara1.firstChild) 
-PASS foreignDocfrag.compareDocumentPosition(document) 
-PASS foreignDocfrag.compareDocumentPosition(detachedDiv) 
-PASS foreignDocfrag.compareDocumentPosition(foreignDoc) 
-PASS foreignDocfrag.compareDocumentPosition(foreignPara2) 
-PASS foreignDocfrag.compareDocumentPosition(xmlDoc) 
-PASS foreignDocfrag.compareDocumentPosition(xmlElement) 
-PASS foreignDocfrag.compareDocumentPosition(detachedTextNode) 
-PASS foreignDocfrag.compareDocumentPosition(foreignTextNode) 
-PASS foreignDocfrag.compareDocumentPosition(processingInstruction) 
-PASS foreignDocfrag.compareDocumentPosition(detachedProcessingInstruction) 
-PASS foreignDocfrag.compareDocumentPosition(comment) 
-PASS foreignDocfrag.compareDocumentPosition(detachedComment) 
-PASS foreignDocfrag.compareDocumentPosition(docfrag) 
-PASS foreignDocfrag.compareDocumentPosition(doctype) 
-PASS foreignDocfrag.compareDocumentPosition(foreignDoctype) 
-PASS foreignDocfrag.compareDocumentPosition(paras[1]) 
-PASS foreignDocfrag.compareDocumentPosition(detachedPara2) 
-PASS foreignDocfrag.compareDocumentPosition(detachedPara2.firstChild) 
-PASS foreignDocfrag.compareDocumentPosition(testDiv) 
-PASS foreignDocfrag.compareDocumentPosition(detachedXmlElement) 
-PASS foreignDocfrag.compareDocumentPosition(detachedForeignTextNode) 
-PASS foreignDocfrag.compareDocumentPosition(xmlTextNode) 
-PASS foreignDocfrag.compareDocumentPosition(detachedXmlTextNode) 
-PASS foreignDocfrag.compareDocumentPosition(xmlComment) 
-PASS foreignDocfrag.compareDocumentPosition(foreignComment) 
-PASS foreignDocfrag.compareDocumentPosition(detachedForeignComment) 
-PASS foreignDocfrag.compareDocumentPosition(detachedXmlComment) 
-PASS foreignDocfrag.compareDocumentPosition(foreignDocfrag) 
-PASS foreignDocfrag.compareDocumentPosition(xmlDocfrag) 
-PASS foreignDocfrag.compareDocumentPosition(xmlDoctype) 
+PASS foreignDocfrag.contains(paras[0]) 
+PASS foreignDocfrag.contains(paras[0].firstChild) 
+PASS foreignDocfrag.contains(paras[1].firstChild) 
+PASS foreignDocfrag.contains(foreignPara1) 
+PASS foreignDocfrag.contains(foreignPara1.firstChild) 
+PASS foreignDocfrag.contains(detachedPara1) 
+PASS foreignDocfrag.contains(detachedPara1.firstChild) 
+PASS foreignDocfrag.contains(document) 
+PASS foreignDocfrag.contains(detachedDiv) 
+PASS foreignDocfrag.contains(foreignDoc) 
+PASS foreignDocfrag.contains(foreignPara2) 
+PASS foreignDocfrag.contains(xmlDoc) 
+PASS foreignDocfrag.contains(xmlElement) 
+PASS foreignDocfrag.contains(detachedTextNode) 
+PASS foreignDocfrag.contains(foreignTextNode) 
+PASS foreignDocfrag.contains(processingInstruction) 
+PASS foreignDocfrag.contains(detachedProcessingInstruction) 
+PASS foreignDocfrag.contains(comment) 
+PASS foreignDocfrag.contains(detachedComment) 
+PASS foreignDocfrag.contains(docfrag) 
+PASS foreignDocfrag.contains(doctype) 
+PASS foreignDocfrag.contains(foreignDoctype) 
+PASS foreignDocfrag.contains(paras[1]) 
+PASS foreignDocfrag.contains(detachedPara2) 
+PASS foreignDocfrag.contains(detachedPara2.firstChild) 
+PASS foreignDocfrag.contains(testDiv) 
+PASS foreignDocfrag.contains(detachedXmlElement) 
+PASS foreignDocfrag.contains(detachedForeignTextNode) 
+PASS foreignDocfrag.contains(xmlTextNode) 
+PASS foreignDocfrag.contains(detachedXmlTextNode) 
+PASS foreignDocfrag.contains(xmlComment) 
+PASS foreignDocfrag.contains(foreignComment) 
+PASS foreignDocfrag.contains(detachedForeignComment) 
+PASS foreignDocfrag.contains(detachedXmlComment) 
+PASS foreignDocfrag.contains(foreignDocfrag) 
+PASS foreignDocfrag.contains(xmlDocfrag) 
+PASS foreignDocfrag.contains(xmlDoctype) 
 PASS xmlDocfrag.contains(null) 
-PASS xmlDocfrag.compareDocumentPosition(paras[0]) 
-PASS xmlDocfrag.compareDocumentPosition(paras[0].firstChild) 
-PASS xmlDocfrag.compareDocumentPosition(paras[1].firstChild) 
-PASS xmlDocfrag.compareDocumentPosition(foreignPara1) 
-PASS xmlDocfrag.compareDocumentPosition(foreignPara1.firstChild) 
-PASS xmlDocfrag.compareDocumentPosition(detachedPara1) 
-PASS xmlDocfrag.compareDocumentPosition(detachedPara1.firstChild) 
-PASS xmlDocfrag.compareDocumentPosition(document) 
-PASS xmlDocfrag.compareDocumentPosition(detachedDiv) 
-PASS xmlDocfrag.compareDocumentPosition(foreignDoc) 
-PASS xmlDocfrag.compareDocumentPosition(foreignPara2) 
-PASS xmlDocfrag.compareDocumentPosition(xmlDoc) 
-PASS xmlDocfrag.compareDocumentPosition(xmlElement) 
-PASS xmlDocfrag.compareDocumentPosition(detachedTextNode) 
-PASS xmlDocfrag.compareDocumentPosition(foreignTextNode) 
-PASS xmlDocfrag.compareDocumentPosition(processingInstruction) 
-PASS xmlDocfrag.compareDocumentPosition(detachedProcessingInstruction) 
-PASS xmlDocfrag.compareDocumentPosition(comment) 
-PASS xmlDocfrag.compareDocumentPosition(detachedComment) 
-PASS xmlDocfrag.compareDocumentPosition(docfrag) 
-PASS xmlDocfrag.compareDocumentPosition(doctype) 
-PASS xmlDocfrag.compareDocumentPosition(foreignDoctype) 
-PASS xmlDocfrag.compareDocumentPosition(paras[1]) 
-PASS xmlDocfrag.compareDocumentPosition(detachedPara2) 
-PASS xmlDocfrag.compareDocumentPosition(detachedPara2.firstChild) 
-PASS xmlDocfrag.compareDocumentPosition(testDiv) 
-PASS xmlDocfrag.compareDocumentPosition(detachedXmlElement) 
-PASS xmlDocfrag.compareDocumentPosition(detachedForeignTextNode) 
-PASS xmlDocfrag.compareDocumentPosition(xmlTextNode) 
-PASS xmlDocfrag.compareDocumentPosition(detachedXmlTextNode) 
-PASS xmlDocfrag.compareDocumentPosition(xmlComment) 
-PASS xmlDocfrag.compareDocumentPosition(foreignComment) 
-PASS xmlDocfrag.compareDocumentPosition(detachedForeignComment) 
-PASS xmlDocfrag.compareDocumentPosition(detachedXmlComment) 
-PASS xmlDocfrag.compareDocumentPosition(foreignDocfrag) 
-PASS xmlDocfrag.compareDocumentPosition(xmlDocfrag) 
-PASS xmlDocfrag.compareDocumentPosition(xmlDoctype) 
+PASS xmlDocfrag.contains(paras[0]) 
+PASS xmlDocfrag.contains(paras[0].firstChild) 
+PASS xmlDocfrag.contains(paras[1].firstChild) 
+PASS xmlDocfrag.contains(foreignPara1) 
+PASS xmlDocfrag.contains(foreignPara1.firstChild) 
+PASS xmlDocfrag.contains(detachedPara1) 
+PASS xmlDocfrag.contains(detachedPara1.firstChild) 
+PASS xmlDocfrag.contains(document) 
+PASS xmlDocfrag.contains(detachedDiv) 
+PASS xmlDocfrag.contains(foreignDoc) 
+PASS xmlDocfrag.contains(foreignPara2) 
+PASS xmlDocfrag.contains(xmlDoc) 
+PASS xmlDocfrag.contains(xmlElement) 
+PASS xmlDocfrag.contains(detachedTextNode) 
+PASS xmlDocfrag.contains(foreignTextNode) 
+PASS xmlDocfrag.contains(processingInstruction) 
+PASS xmlDocfrag.contains(detachedProcessingInstruction) 
+PASS xmlDocfrag.contains(comment) 
+PASS xmlDocfrag.contains(detachedComment) 
+PASS xmlDocfrag.contains(docfrag) 
+PASS xmlDocfrag.contains(doctype) 
+PASS xmlDocfrag.contains(foreignDoctype) 
+PASS xmlDocfrag.contains(paras[1]) 
+PASS xmlDocfrag.contains(detachedPara2) 
+PASS xmlDocfrag.contains(detachedPara2.firstChild) 
+PASS xmlDocfrag.contains(testDiv) 
+PASS xmlDocfrag.contains(detachedXmlElement) 
+PASS xmlDocfrag.contains(detachedForeignTextNode) 
+PASS xmlDocfrag.contains(xmlTextNode) 
+PASS xmlDocfrag.contains(detachedXmlTextNode) 
+PASS xmlDocfrag.contains(xmlComment) 
+PASS xmlDocfrag.contains(foreignComment) 
+PASS xmlDocfrag.contains(detachedForeignComment) 
+PASS xmlDocfrag.contains(detachedXmlComment) 
+PASS xmlDocfrag.contains(foreignDocfrag) 
+PASS xmlDocfrag.contains(xmlDocfrag) 
+PASS xmlDocfrag.contains(xmlDoctype) 
 PASS xmlDoctype.contains(null) 
-PASS xmlDoctype.compareDocumentPosition(paras[0]) 
-PASS xmlDoctype.compareDocumentPosition(paras[0].firstChild) 
-PASS xmlDoctype.compareDocumentPosition(paras[1].firstChild) 
-PASS xmlDoctype.compareDocumentPosition(foreignPara1) 
-PASS xmlDoctype.compareDocumentPosition(foreignPara1.firstChild) 
-PASS xmlDoctype.compareDocumentPosition(detachedPara1) 
-PASS xmlDoctype.compareDocumentPosition(detachedPara1.firstChild) 
-PASS xmlDoctype.compareDocumentPosition(document) 
-PASS xmlDoctype.compareDocumentPosition(detachedDiv) 
-PASS xmlDoctype.compareDocumentPosition(foreignDoc) 
-PASS xmlDoctype.compareDocumentPosition(foreignPara2) 
-PASS xmlDoctype.compareDocumentPosition(xmlDoc) 
-PASS xmlDoctype.compareDocumentPosition(xmlElement) 
-PASS xmlDoctype.compareDocumentPosition(detachedTextNode) 
-PASS xmlDoctype.compareDocumentPosition(foreignTextNode) 
-PASS xmlDoctype.compareDocumentPosition(processingInstruction) 
-PASS xmlDoctype.compareDocumentPosition(detachedProcessingInstruction) 
-PASS xmlDoctype.compareDocumentPosition(comment) 
-PASS xmlDoctype.compareDocumentPosition(detachedComment) 
-PASS xmlDoctype.compareDocumentPosition(docfrag) 
-PASS xmlDoctype.compareDocumentPosition(doctype) 
-PASS xmlDoctype.compareDocumentPosition(foreignDoctype) 
-PASS xmlDoctype.compareDocumentPosition(paras[1]) 
-PASS xmlDoctype.compareDocumentPosition(detachedPara2) 
-PASS xmlDoctype.compareDocumentPosition(detachedPara2.firstChild) 
-PASS xmlDoctype.compareDocumentPosition(testDiv) 
-PASS xmlDoctype.compareDocumentPosition(detachedXmlElement) 
-PASS xmlDoctype.compareDocumentPosition(detachedForeignTextNode) 
-PASS xmlDoctype.compareDocumentPosition(xmlTextNode) 
-PASS xmlDoctype.compareDocumentPosition(detachedXmlTextNode) 
-PASS xmlDoctype.compareDocumentPosition(xmlComment) 
-PASS xmlDoctype.compareDocumentPosition(foreignComment) 
-PASS xmlDoctype.compareDocumentPosition(detachedForeignComment) 
-PASS xmlDoctype.compareDocumentPosition(detachedXmlComment) 
-PASS xmlDoctype.compareDocumentPosition(foreignDocfrag) 
-PASS xmlDoctype.compareDocumentPosition(xmlDocfrag) 
-PASS xmlDoctype.compareDocumentPosition(xmlDoctype) 
+PASS xmlDoctype.contains(paras[0]) 
+PASS xmlDoctype.contains(paras[0].firstChild) 
+PASS xmlDoctype.contains(paras[1].firstChild) 
+PASS xmlDoctype.contains(foreignPara1) 
+PASS xmlDoctype.contains(foreignPara1.firstChild) 
+PASS xmlDoctype.contains(detachedPara1) 
+PASS xmlDoctype.contains(detachedPara1.firstChild) 
+PASS xmlDoctype.contains(document) 
+PASS xmlDoctype.contains(detachedDiv) 
+PASS xmlDoctype.contains(foreignDoc) 
+PASS xmlDoctype.contains(foreignPara2) 
+PASS xmlDoctype.contains(xmlDoc) 
+PASS xmlDoctype.contains(xmlElement) 
+PASS xmlDoctype.contains(detachedTextNode) 
+PASS xmlDoctype.contains(foreignTextNode) 
+PASS xmlDoctype.contains(processingInstruction) 
+PASS xmlDoctype.contains(detachedProcessingInstruction) 
+PASS xmlDoctype.contains(comment) 
+PASS xmlDoctype.contains(detachedComment) 
+PASS xmlDoctype.contains(docfrag) 
+PASS xmlDoctype.contains(doctype) 
+PASS xmlDoctype.contains(foreignDoctype) 
+PASS xmlDoctype.contains(paras[1]) 
+PASS xmlDoctype.contains(detachedPara2) 
+PASS xmlDoctype.contains(detachedPara2.firstChild) 
+PASS xmlDoctype.contains(testDiv) 
+PASS xmlDoctype.contains(detachedXmlElement) 
+PASS xmlDoctype.contains(detachedForeignTextNode) 
+PASS xmlDoctype.contains(xmlTextNode) 
+PASS xmlDoctype.contains(detachedXmlTextNode) 
+PASS xmlDoctype.contains(xmlComment) 
+PASS xmlDoctype.contains(foreignComment) 
+PASS xmlDoctype.contains(detachedForeignComment) 
+PASS xmlDoctype.contains(detachedXmlComment) 
+PASS xmlDoctype.contains(foreignDocfrag) 
+PASS xmlDoctype.contains(xmlDocfrag) 
+PASS xmlDoctype.contains(xmlDoctype) 
 
index 4392b29..89a76be 100644 (file)
@@ -27,7 +27,7 @@ testNodes.forEach(function(referenceName) {
       } else {
         assert_false(reference.contains(other));
       }
-    }, referenceName + ".compareDocumentPosition(" + otherName + ")");
+    }, referenceName + ".contains(" + otherName + ")");
   });
 });
 
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-appendChild-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-appendChild-expected.txt
new file mode 100644 (file)
index 0000000..73a44d4
--- /dev/null
@@ -0,0 +1,72 @@
+
+PASS testDiv.appendChild(testDiv.lastChild), with unselected range collapsed at (testDiv.lastChild, 0) 
+PASS testDiv.appendChild(testDiv.lastChild), with selected range collapsed at (testDiv.lastChild, 0) 
+PASS testDiv.appendChild(testDiv.lastChild), with unselected range on testDiv.lastChild from 0 to 1 
+PASS testDiv.appendChild(testDiv.lastChild), with selected range on testDiv.lastChild from 0 to 1 
+PASS testDiv.appendChild(testDiv.lastChild), with unselected range collapsed at (testDiv.lastChild, 1) 
+PASS testDiv.appendChild(testDiv.lastChild), with selected range collapsed at (testDiv.lastChild, 1) 
+PASS testDiv.appendChild(testDiv.lastChild), with unselected range on testDiv from testDiv.childNodes.length - 2 to testDiv.childNodes.length 
+PASS testDiv.appendChild(testDiv.lastChild), with selected range on testDiv from testDiv.childNodes.length - 2 to testDiv.childNodes.length 
+PASS testDiv.appendChild(testDiv.lastChild), with unselected range on testDiv from testDiv.childNodes.length - 2 to testDiv.childNodes.length - 1 
+PASS testDiv.appendChild(testDiv.lastChild), with selected range on testDiv from testDiv.childNodes.length - 2 to testDiv.childNodes.length - 1 
+PASS testDiv.appendChild(testDiv.lastChild), with unselected range on testDiv from testDiv.childNodes.length - 1 to testDiv.childNodes.length 
+PASS testDiv.appendChild(testDiv.lastChild), with selected range on testDiv from testDiv.childNodes.length - 1 to testDiv.childNodes.length 
+PASS testDiv.appendChild(testDiv.lastChild), with unselected range collapsed at (testDiv, testDiv.childNodes.length - 1) 
+PASS testDiv.appendChild(testDiv.lastChild), with selected range collapsed at (testDiv, testDiv.childNodes.length - 1) 
+PASS testDiv.appendChild(testDiv.lastChild), with unselected range collapsed at (testDiv, testDiv.childNodes.length) 
+PASS testDiv.appendChild(testDiv.lastChild), with selected range collapsed at (testDiv, testDiv.childNodes.length) 
+PASS detachedDiv.appendChild(detachedDiv.lastChild), with unselected range collapsed at (detachedDiv.lastChild, 0) 
+PASS detachedDiv.appendChild(detachedDiv.lastChild), with selected range collapsed at (detachedDiv.lastChild, 0) 
+PASS detachedDiv.appendChild(detachedDiv.lastChild), with unselected range on detachedDiv.lastChild from 0 to 1 
+PASS detachedDiv.appendChild(detachedDiv.lastChild), with selected range on detachedDiv.lastChild from 0 to 1 
+PASS detachedDiv.appendChild(detachedDiv.lastChild), with unselected range collapsed at (detachedDiv.lastChild, 1) 
+PASS detachedDiv.appendChild(detachedDiv.lastChild), with selected range collapsed at (detachedDiv.lastChild, 1) 
+PASS detachedDiv.appendChild(detachedDiv.lastChild), with unselected range on detachedDiv from detachedDiv.childNodes.length - 2 to detachedDiv.childNodes.length 
+PASS detachedDiv.appendChild(detachedDiv.lastChild), with selected range on detachedDiv from detachedDiv.childNodes.length - 2 to detachedDiv.childNodes.length 
+PASS detachedDiv.appendChild(detachedDiv.lastChild), with unselected range on detachedDiv from detachedDiv.childNodes.length - 2 to detachedDiv.childNodes.length - 1 
+PASS detachedDiv.appendChild(detachedDiv.lastChild), with selected range on detachedDiv from detachedDiv.childNodes.length - 2 to detachedDiv.childNodes.length - 1 
+PASS detachedDiv.appendChild(detachedDiv.lastChild), with unselected range on detachedDiv from detachedDiv.childNodes.length - 1 to detachedDiv.childNodes.length 
+PASS detachedDiv.appendChild(detachedDiv.lastChild), with selected range on detachedDiv from detachedDiv.childNodes.length - 1 to detachedDiv.childNodes.length 
+PASS detachedDiv.appendChild(detachedDiv.lastChild), with unselected range collapsed at (detachedDiv, detachedDiv.childNodes.length - 1) 
+PASS detachedDiv.appendChild(detachedDiv.lastChild), with selected range collapsed at (detachedDiv, detachedDiv.childNodes.length - 1) 
+PASS detachedDiv.appendChild(detachedDiv.lastChild), with unselected range collapsed at (detachedDiv, detachedDiv.childNodes.length) 
+PASS detachedDiv.appendChild(detachedDiv.lastChild), with selected range collapsed at (detachedDiv, detachedDiv.childNodes.length) 
+PASS paras[0].appendChild(paras[1]), with unselected range collapsed at (paras[0], 0) 
+PASS paras[0].appendChild(paras[1]), with selected range collapsed at (paras[0], 0) 
+PASS paras[0].appendChild(paras[1]), with unselected range on paras[0] from 0 to 1 
+PASS paras[0].appendChild(paras[1]), with selected range on paras[0] from 0 to 1 
+PASS paras[0].appendChild(paras[1]), with unselected range collapsed at (paras[0], 1) 
+PASS paras[0].appendChild(paras[1]), with selected range collapsed at (paras[0], 1) 
+PASS paras[0].appendChild(paras[1]), with unselected range on testDiv from 0 to 1 
+PASS paras[0].appendChild(paras[1]), with selected range on testDiv from 0 to 1 
+PASS paras[0].appendChild(paras[1]), with unselected range on testDiv from 0 to 2 
+PASS paras[0].appendChild(paras[1]), with selected range on testDiv from 0 to 2 
+PASS paras[0].appendChild(paras[1]), with unselected range collapsed at (testDiv, 1) 
+PASS paras[0].appendChild(paras[1]), with selected range collapsed at (testDiv, 1) 
+PASS paras[0].appendChild(paras[1]), with unselected range on testDiv from 1 to 2 
+PASS paras[0].appendChild(paras[1]), with selected range on testDiv from 1 to 2 
+PASS foreignDoc.appendChild(detachedComment), with unselected range on foreignDoc from foreignDoc.childNodes.length - 1 to foreignDoc.childNodes.length 
+PASS foreignDoc.appendChild(detachedComment), with selected range on foreignDoc from foreignDoc.childNodes.length - 1 to foreignDoc.childNodes.length 
+PASS foreignDoc.appendChild(detachedComment), with unselected range collapsed at (foreignDoc, foreignDoc.childNodes.length - 1) 
+PASS foreignDoc.appendChild(detachedComment), with selected range collapsed at (foreignDoc, foreignDoc.childNodes.length - 1) 
+PASS foreignDoc.appendChild(detachedComment), with unselected range collapsed at (foreignDoc, foreignDoc.childNodes.length) 
+PASS foreignDoc.appendChild(detachedComment), with selected range collapsed at (foreignDoc, foreignDoc.childNodes.length) 
+PASS foreignDoc.appendChild(detachedComment), with unselected range on detachedComment from 0 to 5 
+PASS foreignDoc.appendChild(detachedComment), with selected range on detachedComment from 0 to 5 
+PASS paras[0].appendChild(xmlTextNode), with unselected range collapsed at (paras[0], 0) 
+PASS paras[0].appendChild(xmlTextNode), with selected range collapsed at (paras[0], 0) 
+PASS paras[0].appendChild(xmlTextNode), with unselected range on paras[0] from 0 to 1 
+PASS paras[0].appendChild(xmlTextNode), with selected range on paras[0] from 0 to 1 
+PASS paras[0].appendChild(xmlTextNode), with unselected range collapsed at (paras[0], 1) 
+PASS paras[0].appendChild(xmlTextNode), with selected range collapsed at (paras[0], 1) 
+PASS paras[0].appendChild(paras[0]), with unselected range on paras[0] from 0 to 1 
+PASS paras[0].appendChild(paras[0]), with selected range on paras[0] from 0 to 1 
+PASS paras[0].appendChild(testDiv), with unselected range on paras[0] from 0 to 1 
+PASS paras[0].appendChild(testDiv), with selected range on paras[0] from 0 to 1 
+PASS paras[0].appendChild(document), with unselected range on paras[0] from 0 to 1 
+PASS paras[0].appendChild(document), with selected range on paras[0] from 0 to 1 
+PASS paras[0].appendChild(foreignDoc), with unselected range on paras[0] from 0 to 1 
+PASS paras[0].appendChild(foreignDoc), with selected range on paras[0] from 0 to 1 
+PASS paras[0].appendChild(document.doctype), with unselected range on paras[0] from 0 to 1 
+PASS paras[0].appendChild(document.doctype), with selected range on paras[0] from 0 to 1 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-appendChild.html b/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-appendChild.html
new file mode 100644 (file)
index 0000000..5b5b5a5
--- /dev/null
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<title>Range mutation tests - appendChild</title>
+<link rel="author" title="Aryeh Gregor" href=ayg@aryeh.name>
+<meta name=timeout content=long>
+
+<div id=log></div>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../common.js"></script>
+<script src="Range-mutations.js"></script>
+<script>
+doTests(appendChildTests, function(params) { return params[0] + ".appendChild(" + params[1] + ")" }, testAppendChild);
+testDiv.style.display = "none";
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-appendData-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-appendData-expected.txt
new file mode 100644 (file)
index 0000000..183d9b6
--- /dev/null
@@ -0,0 +1,386 @@
+
+PASS paras[0].firstChild.appendData("foo"), with unselected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.appendData("foo"), with selected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.appendData("foo"), with unselected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.appendData("foo"), with selected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.appendData("foo"), with unselected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.appendData("foo"), with selected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.appendData("foo"), with unselected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.appendData("foo"), with selected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.appendData("foo"), with unselected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.appendData("foo"), with selected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.appendData("foo"), with unselected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.appendData("foo"), with selected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.appendData("foo"), with unselected range on paras[0].firstChild from 1 to 3 
+PASS paras[0].firstChild.appendData("foo"), with selected range on paras[0].firstChild from 1 to 3 
+PASS paras[0].firstChild.appendData(""), with unselected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.appendData(""), with selected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.appendData(""), with unselected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.appendData(""), with selected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.appendData(""), with unselected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.appendData(""), with selected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.appendData(""), with unselected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.appendData(""), with selected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.appendData(""), with unselected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.appendData(""), with selected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.appendData(""), with unselected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.appendData(""), with selected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.appendData(""), with unselected range on paras[0].firstChild from 1 to 3 
+PASS paras[0].firstChild.appendData(""), with selected range on paras[0].firstChild from 1 to 3 
+PASS paras[1].firstChild.appendData("foo"), with unselected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.appendData("foo"), with selected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.appendData("foo"), with unselected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.appendData("foo"), with selected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.appendData("foo"), with unselected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.appendData("foo"), with selected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.appendData("foo"), with unselected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.appendData("foo"), with selected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.appendData("foo"), with unselected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.appendData("foo"), with selected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.appendData("foo"), with unselected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.appendData("foo"), with selected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.appendData("foo"), with unselected range on paras[1].firstChild from 1 to 3 
+PASS paras[1].firstChild.appendData("foo"), with selected range on paras[1].firstChild from 1 to 3 
+PASS paras[1].firstChild.appendData(""), with unselected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.appendData(""), with selected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.appendData(""), with unselected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.appendData(""), with selected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.appendData(""), with unselected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.appendData(""), with selected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.appendData(""), with unselected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.appendData(""), with selected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.appendData(""), with unselected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.appendData(""), with selected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.appendData(""), with unselected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.appendData(""), with selected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.appendData(""), with unselected range on paras[1].firstChild from 1 to 3 
+PASS paras[1].firstChild.appendData(""), with selected range on paras[1].firstChild from 1 to 3 
+PASS foreignTextNode.appendData("foo"), with unselected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.appendData("foo"), with selected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.appendData("foo"), with unselected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.appendData("foo"), with selected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.appendData("foo"), with unselected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.appendData("foo"), with selected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.appendData("foo"), with unselected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.appendData("foo"), with selected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.appendData("foo"), with unselected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.appendData("foo"), with selected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.appendData("foo"), with unselected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.appendData("foo"), with selected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.appendData("foo"), with unselected range on foreignTextNode from 1 to 3 
+PASS foreignTextNode.appendData("foo"), with selected range on foreignTextNode from 1 to 3 
+PASS foreignTextNode.appendData(""), with unselected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.appendData(""), with selected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.appendData(""), with unselected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.appendData(""), with selected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.appendData(""), with unselected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.appendData(""), with selected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.appendData(""), with unselected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.appendData(""), with selected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.appendData(""), with unselected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.appendData(""), with selected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.appendData(""), with unselected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.appendData(""), with selected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.appendData(""), with unselected range on foreignTextNode from 1 to 3 
+PASS foreignTextNode.appendData(""), with selected range on foreignTextNode from 1 to 3 
+PASS xmlTextNode.appendData("foo"), with unselected range on xmlTextNode from 0 to 1 
+PASS xmlTextNode.appendData("foo"), with selected range on xmlTextNode from 0 to 1 
+PASS xmlTextNode.appendData("foo"), with unselected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.appendData("foo"), with selected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.appendData("foo"), with unselected range collapsed at (xmlTextNode, 1) 
+PASS xmlTextNode.appendData("foo"), with selected range collapsed at (xmlTextNode, 1) 
+PASS xmlTextNode.appendData("foo"), with unselected range on xmlTextNode from 0 to xmlTextNode.length 
+PASS xmlTextNode.appendData("foo"), with selected range on xmlTextNode from 0 to xmlTextNode.length 
+PASS xmlTextNode.appendData("foo"), with unselected range on xmlTextNode from 1 to xmlTextNode.length 
+PASS xmlTextNode.appendData("foo"), with selected range on xmlTextNode from 1 to xmlTextNode.length 
+PASS xmlTextNode.appendData("foo"), with unselected range collapsed at (xmlTextNode, xmlTextNode.length) 
+PASS xmlTextNode.appendData("foo"), with selected range collapsed at (xmlTextNode, xmlTextNode.length) 
+PASS xmlTextNode.appendData("foo"), with unselected range on xmlTextNode from 1 to 3 
+PASS xmlTextNode.appendData("foo"), with selected range on xmlTextNode from 1 to 3 
+PASS xmlTextNode.appendData(""), with unselected range on xmlTextNode from 0 to 1 
+PASS xmlTextNode.appendData(""), with selected range on xmlTextNode from 0 to 1 
+PASS xmlTextNode.appendData(""), with unselected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.appendData(""), with selected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.appendData(""), with unselected range collapsed at (xmlTextNode, 1) 
+PASS xmlTextNode.appendData(""), with selected range collapsed at (xmlTextNode, 1) 
+PASS xmlTextNode.appendData(""), with unselected range on xmlTextNode from 0 to xmlTextNode.length 
+PASS xmlTextNode.appendData(""), with selected range on xmlTextNode from 0 to xmlTextNode.length 
+PASS xmlTextNode.appendData(""), with unselected range on xmlTextNode from 1 to xmlTextNode.length 
+PASS xmlTextNode.appendData(""), with selected range on xmlTextNode from 1 to xmlTextNode.length 
+PASS xmlTextNode.appendData(""), with unselected range collapsed at (xmlTextNode, xmlTextNode.length) 
+PASS xmlTextNode.appendData(""), with selected range collapsed at (xmlTextNode, xmlTextNode.length) 
+PASS xmlTextNode.appendData(""), with unselected range on xmlTextNode from 1 to 3 
+PASS xmlTextNode.appendData(""), with selected range on xmlTextNode from 1 to 3 
+PASS detachedTextNode.appendData("foo"), with unselected range on detachedTextNode from 0 to 1 
+PASS detachedTextNode.appendData("foo"), with selected range on detachedTextNode from 0 to 1 
+PASS detachedTextNode.appendData("foo"), with unselected range collapsed at (detachedTextNode, 0) 
+PASS detachedTextNode.appendData("foo"), with selected range collapsed at (detachedTextNode, 0) 
+PASS detachedTextNode.appendData("foo"), with unselected range collapsed at (detachedTextNode, 1) 
+PASS detachedTextNode.appendData("foo"), with selected range collapsed at (detachedTextNode, 1) 
+PASS detachedTextNode.appendData("foo"), with unselected range on detachedTextNode from 0 to detachedTextNode.length 
+PASS detachedTextNode.appendData("foo"), with selected range on detachedTextNode from 0 to detachedTextNode.length 
+PASS detachedTextNode.appendData("foo"), with unselected range on detachedTextNode from 1 to detachedTextNode.length 
+PASS detachedTextNode.appendData("foo"), with selected range on detachedTextNode from 1 to detachedTextNode.length 
+PASS detachedTextNode.appendData("foo"), with unselected range collapsed at (detachedTextNode, detachedTextNode.length) 
+PASS detachedTextNode.appendData("foo"), with selected range collapsed at (detachedTextNode, detachedTextNode.length) 
+PASS detachedTextNode.appendData("foo"), with unselected range on detachedTextNode from 1 to 3 
+PASS detachedTextNode.appendData("foo"), with selected range on detachedTextNode from 1 to 3 
+PASS detachedTextNode.appendData(""), with unselected range on detachedTextNode from 0 to 1 
+PASS detachedTextNode.appendData(""), with selected range on detachedTextNode from 0 to 1 
+PASS detachedTextNode.appendData(""), with unselected range collapsed at (detachedTextNode, 0) 
+PASS detachedTextNode.appendData(""), with selected range collapsed at (detachedTextNode, 0) 
+PASS detachedTextNode.appendData(""), with unselected range collapsed at (detachedTextNode, 1) 
+PASS detachedTextNode.appendData(""), with selected range collapsed at (detachedTextNode, 1) 
+PASS detachedTextNode.appendData(""), with unselected range on detachedTextNode from 0 to detachedTextNode.length 
+PASS detachedTextNode.appendData(""), with selected range on detachedTextNode from 0 to detachedTextNode.length 
+PASS detachedTextNode.appendData(""), with unselected range on detachedTextNode from 1 to detachedTextNode.length 
+PASS detachedTextNode.appendData(""), with selected range on detachedTextNode from 1 to detachedTextNode.length 
+PASS detachedTextNode.appendData(""), with unselected range collapsed at (detachedTextNode, detachedTextNode.length) 
+PASS detachedTextNode.appendData(""), with selected range collapsed at (detachedTextNode, detachedTextNode.length) 
+PASS detachedTextNode.appendData(""), with unselected range on detachedTextNode from 1 to 3 
+PASS detachedTextNode.appendData(""), with selected range on detachedTextNode from 1 to 3 
+PASS detachedForeignTextNode.appendData("foo"), with unselected range on detachedForeignTextNode from 0 to 1 
+PASS detachedForeignTextNode.appendData("foo"), with selected range on detachedForeignTextNode from 0 to 1 
+PASS detachedForeignTextNode.appendData("foo"), with unselected range collapsed at (detachedForeignTextNode, 0) 
+PASS detachedForeignTextNode.appendData("foo"), with selected range collapsed at (detachedForeignTextNode, 0) 
+PASS detachedForeignTextNode.appendData("foo"), with unselected range collapsed at (detachedForeignTextNode, 1) 
+PASS detachedForeignTextNode.appendData("foo"), with selected range collapsed at (detachedForeignTextNode, 1) 
+PASS detachedForeignTextNode.appendData("foo"), with unselected range on detachedForeignTextNode from 0 to detachedForeignTextNode.length 
+PASS detachedForeignTextNode.appendData("foo"), with selected range on detachedForeignTextNode from 0 to detachedForeignTextNode.length 
+PASS detachedForeignTextNode.appendData("foo"), with unselected range on detachedForeignTextNode from 1 to detachedForeignTextNode.length 
+PASS detachedForeignTextNode.appendData("foo"), with selected range on detachedForeignTextNode from 1 to detachedForeignTextNode.length 
+PASS detachedForeignTextNode.appendData("foo"), with unselected range collapsed at (detachedForeignTextNode, detachedForeignTextNode.length) 
+PASS detachedForeignTextNode.appendData("foo"), with selected range collapsed at (detachedForeignTextNode, detachedForeignTextNode.length) 
+PASS detachedForeignTextNode.appendData("foo"), with unselected range on detachedForeignTextNode from 1 to 3 
+PASS detachedForeignTextNode.appendData("foo"), with selected range on detachedForeignTextNode from 1 to 3 
+PASS detachedForeignTextNode.appendData(""), with unselected range on detachedForeignTextNode from 0 to 1 
+PASS detachedForeignTextNode.appendData(""), with selected range on detachedForeignTextNode from 0 to 1 
+PASS detachedForeignTextNode.appendData(""), with unselected range collapsed at (detachedForeignTextNode, 0) 
+PASS detachedForeignTextNode.appendData(""), with selected range collapsed at (detachedForeignTextNode, 0) 
+PASS detachedForeignTextNode.appendData(""), with unselected range collapsed at (detachedForeignTextNode, 1) 
+PASS detachedForeignTextNode.appendData(""), with selected range collapsed at (detachedForeignTextNode, 1) 
+PASS detachedForeignTextNode.appendData(""), with unselected range on detachedForeignTextNode from 0 to detachedForeignTextNode.length 
+PASS detachedForeignTextNode.appendData(""), with selected range on detachedForeignTextNode from 0 to detachedForeignTextNode.length 
+PASS detachedForeignTextNode.appendData(""), with unselected range on detachedForeignTextNode from 1 to detachedForeignTextNode.length 
+PASS detachedForeignTextNode.appendData(""), with selected range on detachedForeignTextNode from 1 to detachedForeignTextNode.length 
+PASS detachedForeignTextNode.appendData(""), with unselected range collapsed at (detachedForeignTextNode, detachedForeignTextNode.length) 
+PASS detachedForeignTextNode.appendData(""), with selected range collapsed at (detachedForeignTextNode, detachedForeignTextNode.length) 
+PASS detachedForeignTextNode.appendData(""), with unselected range on detachedForeignTextNode from 1 to 3 
+PASS detachedForeignTextNode.appendData(""), with selected range on detachedForeignTextNode from 1 to 3 
+PASS detachedXmlTextNode.appendData("foo"), with unselected range on detachedXmlTextNode from 0 to 1 
+PASS detachedXmlTextNode.appendData("foo"), with selected range on detachedXmlTextNode from 0 to 1 
+PASS detachedXmlTextNode.appendData("foo"), with unselected range collapsed at (detachedXmlTextNode, 0) 
+PASS detachedXmlTextNode.appendData("foo"), with selected range collapsed at (detachedXmlTextNode, 0) 
+PASS detachedXmlTextNode.appendData("foo"), with unselected range collapsed at (detachedXmlTextNode, 1) 
+PASS detachedXmlTextNode.appendData("foo"), with selected range collapsed at (detachedXmlTextNode, 1) 
+PASS detachedXmlTextNode.appendData("foo"), with unselected range on detachedXmlTextNode from 0 to detachedXmlTextNode.length 
+PASS detachedXmlTextNode.appendData("foo"), with selected range on detachedXmlTextNode from 0 to detachedXmlTextNode.length 
+PASS detachedXmlTextNode.appendData("foo"), with unselected range on detachedXmlTextNode from 1 to detachedXmlTextNode.length 
+PASS detachedXmlTextNode.appendData("foo"), with selected range on detachedXmlTextNode from 1 to detachedXmlTextNode.length 
+PASS detachedXmlTextNode.appendData("foo"), with unselected range collapsed at (detachedXmlTextNode, detachedXmlTextNode.length) 
+PASS detachedXmlTextNode.appendData("foo"), with selected range collapsed at (detachedXmlTextNode, detachedXmlTextNode.length) 
+PASS detachedXmlTextNode.appendData("foo"), with unselected range on detachedXmlTextNode from 1 to 3 
+PASS detachedXmlTextNode.appendData("foo"), with selected range on detachedXmlTextNode from 1 to 3 
+PASS detachedXmlTextNode.appendData(""), with unselected range on detachedXmlTextNode from 0 to 1 
+PASS detachedXmlTextNode.appendData(""), with selected range on detachedXmlTextNode from 0 to 1 
+PASS detachedXmlTextNode.appendData(""), with unselected range collapsed at (detachedXmlTextNode, 0) 
+PASS detachedXmlTextNode.appendData(""), with selected range collapsed at (detachedXmlTextNode, 0) 
+PASS detachedXmlTextNode.appendData(""), with unselected range collapsed at (detachedXmlTextNode, 1) 
+PASS detachedXmlTextNode.appendData(""), with selected range collapsed at (detachedXmlTextNode, 1) 
+PASS detachedXmlTextNode.appendData(""), with unselected range on detachedXmlTextNode from 0 to detachedXmlTextNode.length 
+PASS detachedXmlTextNode.appendData(""), with selected range on detachedXmlTextNode from 0 to detachedXmlTextNode.length 
+PASS detachedXmlTextNode.appendData(""), with unselected range on detachedXmlTextNode from 1 to detachedXmlTextNode.length 
+PASS detachedXmlTextNode.appendData(""), with selected range on detachedXmlTextNode from 1 to detachedXmlTextNode.length 
+PASS detachedXmlTextNode.appendData(""), with unselected range collapsed at (detachedXmlTextNode, detachedXmlTextNode.length) 
+PASS detachedXmlTextNode.appendData(""), with selected range collapsed at (detachedXmlTextNode, detachedXmlTextNode.length) 
+PASS detachedXmlTextNode.appendData(""), with unselected range on detachedXmlTextNode from 1 to 3 
+PASS detachedXmlTextNode.appendData(""), with selected range on detachedXmlTextNode from 1 to 3 
+PASS comment.appendData("foo"), with unselected range on comment from 0 to 1 
+PASS comment.appendData("foo"), with selected range on comment from 0 to 1 
+PASS comment.appendData("foo"), with unselected range collapsed at (comment, 0) 
+PASS comment.appendData("foo"), with selected range collapsed at (comment, 0) 
+PASS comment.appendData("foo"), with unselected range collapsed at (comment, 1) 
+PASS comment.appendData("foo"), with selected range collapsed at (comment, 1) 
+PASS comment.appendData("foo"), with unselected range on comment from 0 to comment.length 
+PASS comment.appendData("foo"), with selected range on comment from 0 to comment.length 
+PASS comment.appendData("foo"), with unselected range on comment from 1 to comment.length 
+PASS comment.appendData("foo"), with selected range on comment from 1 to comment.length 
+PASS comment.appendData("foo"), with unselected range collapsed at (comment, comment.length) 
+PASS comment.appendData("foo"), with selected range collapsed at (comment, comment.length) 
+PASS comment.appendData("foo"), with unselected range on comment from 1 to 3 
+PASS comment.appendData("foo"), with selected range on comment from 1 to 3 
+PASS comment.appendData(""), with unselected range on comment from 0 to 1 
+PASS comment.appendData(""), with selected range on comment from 0 to 1 
+PASS comment.appendData(""), with unselected range collapsed at (comment, 0) 
+PASS comment.appendData(""), with selected range collapsed at (comment, 0) 
+PASS comment.appendData(""), with unselected range collapsed at (comment, 1) 
+PASS comment.appendData(""), with selected range collapsed at (comment, 1) 
+PASS comment.appendData(""), with unselected range on comment from 0 to comment.length 
+PASS comment.appendData(""), with selected range on comment from 0 to comment.length 
+PASS comment.appendData(""), with unselected range on comment from 1 to comment.length 
+PASS comment.appendData(""), with selected range on comment from 1 to comment.length 
+PASS comment.appendData(""), with unselected range collapsed at (comment, comment.length) 
+PASS comment.appendData(""), with selected range collapsed at (comment, comment.length) 
+PASS comment.appendData(""), with unselected range on comment from 1 to 3 
+PASS comment.appendData(""), with selected range on comment from 1 to 3 
+PASS foreignComment.appendData("foo"), with unselected range on foreignComment from 0 to 1 
+PASS foreignComment.appendData("foo"), with selected range on foreignComment from 0 to 1 
+PASS foreignComment.appendData("foo"), with unselected range collapsed at (foreignComment, 0) 
+PASS foreignComment.appendData("foo"), with selected range collapsed at (foreignComment, 0) 
+PASS foreignComment.appendData("foo"), with unselected range collapsed at (foreignComment, 1) 
+PASS foreignComment.appendData("foo"), with selected range collapsed at (foreignComment, 1) 
+PASS foreignComment.appendData("foo"), with unselected range on foreignComment from 0 to foreignComment.length 
+PASS foreignComment.appendData("foo"), with selected range on foreignComment from 0 to foreignComment.length 
+PASS foreignComment.appendData("foo"), with unselected range on foreignComment from 1 to foreignComment.length 
+PASS foreignComment.appendData("foo"), with selected range on foreignComment from 1 to foreignComment.length 
+PASS foreignComment.appendData("foo"), with unselected range collapsed at (foreignComment, foreignComment.length) 
+PASS foreignComment.appendData("foo"), with selected range collapsed at (foreignComment, foreignComment.length) 
+PASS foreignComment.appendData("foo"), with unselected range on foreignComment from 1 to 3 
+PASS foreignComment.appendData("foo"), with selected range on foreignComment from 1 to 3 
+PASS foreignComment.appendData(""), with unselected range on foreignComment from 0 to 1 
+PASS foreignComment.appendData(""), with selected range on foreignComment from 0 to 1 
+PASS foreignComment.appendData(""), with unselected range collapsed at (foreignComment, 0) 
+PASS foreignComment.appendData(""), with selected range collapsed at (foreignComment, 0) 
+PASS foreignComment.appendData(""), with unselected range collapsed at (foreignComment, 1) 
+PASS foreignComment.appendData(""), with selected range collapsed at (foreignComment, 1) 
+PASS foreignComment.appendData(""), with unselected range on foreignComment from 0 to foreignComment.length 
+PASS foreignComment.appendData(""), with selected range on foreignComment from 0 to foreignComment.length 
+PASS foreignComment.appendData(""), with unselected range on foreignComment from 1 to foreignComment.length 
+PASS foreignComment.appendData(""), with selected range on foreignComment from 1 to foreignComment.length 
+PASS foreignComment.appendData(""), with unselected range collapsed at (foreignComment, foreignComment.length) 
+PASS foreignComment.appendData(""), with selected range collapsed at (foreignComment, foreignComment.length) 
+PASS foreignComment.appendData(""), with unselected range on foreignComment from 1 to 3 
+PASS foreignComment.appendData(""), with selected range on foreignComment from 1 to 3 
+PASS xmlComment.appendData("foo"), with unselected range on xmlComment from 0 to 1 
+PASS xmlComment.appendData("foo"), with selected range on xmlComment from 0 to 1 
+PASS xmlComment.appendData("foo"), with unselected range collapsed at (xmlComment, 0) 
+PASS xmlComment.appendData("foo"), with selected range collapsed at (xmlComment, 0) 
+PASS xmlComment.appendData("foo"), with unselected range collapsed at (xmlComment, 1) 
+PASS xmlComment.appendData("foo"), with selected range collapsed at (xmlComment, 1) 
+PASS xmlComment.appendData("foo"), with unselected range on xmlComment from 0 to xmlComment.length 
+PASS xmlComment.appendData("foo"), with selected range on xmlComment from 0 to xmlComment.length 
+PASS xmlComment.appendData("foo"), with unselected range on xmlComment from 1 to xmlComment.length 
+PASS xmlComment.appendData("foo"), with selected range on xmlComment from 1 to xmlComment.length 
+PASS xmlComment.appendData("foo"), with unselected range collapsed at (xmlComment, xmlComment.length) 
+PASS xmlComment.appendData("foo"), with selected range collapsed at (xmlComment, xmlComment.length) 
+PASS xmlComment.appendData("foo"), with unselected range on xmlComment from 1 to 3 
+PASS xmlComment.appendData("foo"), with selected range on xmlComment from 1 to 3 
+PASS xmlComment.appendData(""), with unselected range on xmlComment from 0 to 1 
+PASS xmlComment.appendData(""), with selected range on xmlComment from 0 to 1 
+PASS xmlComment.appendData(""), with unselected range collapsed at (xmlComment, 0) 
+PASS xmlComment.appendData(""), with selected range collapsed at (xmlComment, 0) 
+PASS xmlComment.appendData(""), with unselected range collapsed at (xmlComment, 1) 
+PASS xmlComment.appendData(""), with selected range collapsed at (xmlComment, 1) 
+PASS xmlComment.appendData(""), with unselected range on xmlComment from 0 to xmlComment.length 
+PASS xmlComment.appendData(""), with selected range on xmlComment from 0 to xmlComment.length 
+PASS xmlComment.appendData(""), with unselected range on xmlComment from 1 to xmlComment.length 
+PASS xmlComment.appendData(""), with selected range on xmlComment from 1 to xmlComment.length 
+PASS xmlComment.appendData(""), with unselected range collapsed at (xmlComment, xmlComment.length) 
+PASS xmlComment.appendData(""), with selected range collapsed at (xmlComment, xmlComment.length) 
+PASS xmlComment.appendData(""), with unselected range on xmlComment from 1 to 3 
+PASS xmlComment.appendData(""), with selected range on xmlComment from 1 to 3 
+PASS detachedComment.appendData("foo"), with unselected range on detachedComment from 0 to 1 
+PASS detachedComment.appendData("foo"), with selected range on detachedComment from 0 to 1 
+PASS detachedComment.appendData("foo"), with unselected range collapsed at (detachedComment, 0) 
+PASS detachedComment.appendData("foo"), with selected range collapsed at (detachedComment, 0) 
+PASS detachedComment.appendData("foo"), with unselected range collapsed at (detachedComment, 1) 
+PASS detachedComment.appendData("foo"), with selected range collapsed at (detachedComment, 1) 
+PASS detachedComment.appendData("foo"), with unselected range on detachedComment from 0 to detachedComment.length 
+PASS detachedComment.appendData("foo"), with selected range on detachedComment from 0 to detachedComment.length 
+PASS detachedComment.appendData("foo"), with unselected range on detachedComment from 1 to detachedComment.length 
+PASS detachedComment.appendData("foo"), with selected range on detachedComment from 1 to detachedComment.length 
+PASS detachedComment.appendData("foo"), with unselected range collapsed at (detachedComment, detachedComment.length) 
+PASS detachedComment.appendData("foo"), with selected range collapsed at (detachedComment, detachedComment.length) 
+PASS detachedComment.appendData("foo"), with unselected range on detachedComment from 1 to 3 
+PASS detachedComment.appendData("foo"), with selected range on detachedComment from 1 to 3 
+PASS detachedComment.appendData(""), with unselected range on detachedComment from 0 to 1 
+PASS detachedComment.appendData(""), with selected range on detachedComment from 0 to 1 
+PASS detachedComment.appendData(""), with unselected range collapsed at (detachedComment, 0) 
+PASS detachedComment.appendData(""), with selected range collapsed at (detachedComment, 0) 
+PASS detachedComment.appendData(""), with unselected range collapsed at (detachedComment, 1) 
+PASS detachedComment.appendData(""), with selected range collapsed at (detachedComment, 1) 
+PASS detachedComment.appendData(""), with unselected range on detachedComment from 0 to detachedComment.length 
+PASS detachedComment.appendData(""), with selected range on detachedComment from 0 to detachedComment.length 
+PASS detachedComment.appendData(""), with unselected range on detachedComment from 1 to detachedComment.length 
+PASS detachedComment.appendData(""), with selected range on detachedComment from 1 to detachedComment.length 
+PASS detachedComment.appendData(""), with unselected range collapsed at (detachedComment, detachedComment.length) 
+PASS detachedComment.appendData(""), with selected range collapsed at (detachedComment, detachedComment.length) 
+PASS detachedComment.appendData(""), with unselected range on detachedComment from 1 to 3 
+PASS detachedComment.appendData(""), with selected range on detachedComment from 1 to 3 
+PASS detachedForeignComment.appendData("foo"), with unselected range on detachedForeignComment from 0 to 1 
+PASS detachedForeignComment.appendData("foo"), with selected range on detachedForeignComment from 0 to 1 
+PASS detachedForeignComment.appendData("foo"), with unselected range collapsed at (detachedForeignComment, 0) 
+PASS detachedForeignComment.appendData("foo"), with selected range collapsed at (detachedForeignComment, 0) 
+PASS detachedForeignComment.appendData("foo"), with unselected range collapsed at (detachedForeignComment, 1) 
+PASS detachedForeignComment.appendData("foo"), with selected range collapsed at (detachedForeignComment, 1) 
+PASS detachedForeignComment.appendData("foo"), with unselected range on detachedForeignComment from 0 to detachedForeignComment.length 
+PASS detachedForeignComment.appendData("foo"), with selected range on detachedForeignComment from 0 to detachedForeignComment.length 
+PASS detachedForeignComment.appendData("foo"), with unselected range on detachedForeignComment from 1 to detachedForeignComment.length 
+PASS detachedForeignComment.appendData("foo"), with selected range on detachedForeignComment from 1 to detachedForeignComment.length 
+PASS detachedForeignComment.appendData("foo"), with unselected range collapsed at (detachedForeignComment, detachedForeignComment.length) 
+PASS detachedForeignComment.appendData("foo"), with selected range collapsed at (detachedForeignComment, detachedForeignComment.length) 
+PASS detachedForeignComment.appendData("foo"), with unselected range on detachedForeignComment from 1 to 3 
+PASS detachedForeignComment.appendData("foo"), with selected range on detachedForeignComment from 1 to 3 
+PASS detachedForeignComment.appendData(""), with unselected range on detachedForeignComment from 0 to 1 
+PASS detachedForeignComment.appendData(""), with selected range on detachedForeignComment from 0 to 1 
+PASS detachedForeignComment.appendData(""), with unselected range collapsed at (detachedForeignComment, 0) 
+PASS detachedForeignComment.appendData(""), with selected range collapsed at (detachedForeignComment, 0) 
+PASS detachedForeignComment.appendData(""), with unselected range collapsed at (detachedForeignComment, 1) 
+PASS detachedForeignComment.appendData(""), with selected range collapsed at (detachedForeignComment, 1) 
+PASS detachedForeignComment.appendData(""), with unselected range on detachedForeignComment from 0 to detachedForeignComment.length 
+PASS detachedForeignComment.appendData(""), with selected range on detachedForeignComment from 0 to detachedForeignComment.length 
+PASS detachedForeignComment.appendData(""), with unselected range on detachedForeignComment from 1 to detachedForeignComment.length 
+PASS detachedForeignComment.appendData(""), with selected range on detachedForeignComment from 1 to detachedForeignComment.length 
+PASS detachedForeignComment.appendData(""), with unselected range collapsed at (detachedForeignComment, detachedForeignComment.length) 
+PASS detachedForeignComment.appendData(""), with selected range collapsed at (detachedForeignComment, detachedForeignComment.length) 
+PASS detachedForeignComment.appendData(""), with unselected range on detachedForeignComment from 1 to 3 
+PASS detachedForeignComment.appendData(""), with selected range on detachedForeignComment from 1 to 3 
+PASS detachedXmlComment.appendData("foo"), with unselected range on detachedXmlComment from 0 to 1 
+PASS detachedXmlComment.appendData("foo"), with selected range on detachedXmlComment from 0 to 1 
+PASS detachedXmlComment.appendData("foo"), with unselected range collapsed at (detachedXmlComment, 0) 
+PASS detachedXmlComment.appendData("foo"), with selected range collapsed at (detachedXmlComment, 0) 
+PASS detachedXmlComment.appendData("foo"), with unselected range collapsed at (detachedXmlComment, 1) 
+PASS detachedXmlComment.appendData("foo"), with selected range collapsed at (detachedXmlComment, 1) 
+PASS detachedXmlComment.appendData("foo"), with unselected range on detachedXmlComment from 0 to detachedXmlComment.length 
+PASS detachedXmlComment.appendData("foo"), with selected range on detachedXmlComment from 0 to detachedXmlComment.length 
+PASS detachedXmlComment.appendData("foo"), with unselected range on detachedXmlComment from 1 to detachedXmlComment.length 
+PASS detachedXmlComment.appendData("foo"), with selected range on detachedXmlComment from 1 to detachedXmlComment.length 
+PASS detachedXmlComment.appendData("foo"), with unselected range collapsed at (detachedXmlComment, detachedXmlComment.length) 
+PASS detachedXmlComment.appendData("foo"), with selected range collapsed at (detachedXmlComment, detachedXmlComment.length) 
+PASS detachedXmlComment.appendData("foo"), with unselected range on detachedXmlComment from 1 to 3 
+PASS detachedXmlComment.appendData("foo"), with selected range on detachedXmlComment from 1 to 3 
+PASS detachedXmlComment.appendData(""), with unselected range on detachedXmlComment from 0 to 1 
+PASS detachedXmlComment.appendData(""), with selected range on detachedXmlComment from 0 to 1 
+PASS detachedXmlComment.appendData(""), with unselected range collapsed at (detachedXmlComment, 0) 
+PASS detachedXmlComment.appendData(""), with selected range collapsed at (detachedXmlComment, 0) 
+PASS detachedXmlComment.appendData(""), with unselected range collapsed at (detachedXmlComment, 1) 
+PASS detachedXmlComment.appendData(""), with selected range collapsed at (detachedXmlComment, 1) 
+PASS detachedXmlComment.appendData(""), with unselected range on detachedXmlComment from 0 to detachedXmlComment.length 
+PASS detachedXmlComment.appendData(""), with selected range on detachedXmlComment from 0 to detachedXmlComment.length 
+PASS detachedXmlComment.appendData(""), with unselected range on detachedXmlComment from 1 to detachedXmlComment.length 
+PASS detachedXmlComment.appendData(""), with selected range on detachedXmlComment from 1 to detachedXmlComment.length 
+PASS detachedXmlComment.appendData(""), with unselected range collapsed at (detachedXmlComment, detachedXmlComment.length) 
+PASS detachedXmlComment.appendData(""), with selected range collapsed at (detachedXmlComment, detachedXmlComment.length) 
+PASS detachedXmlComment.appendData(""), with unselected range on detachedXmlComment from 1 to 3 
+PASS detachedXmlComment.appendData(""), with selected range on detachedXmlComment from 1 to 3 
+PASS paras[0].firstChild.appendData(""), with unselected range collapsed at (paras[0], 0) 
+PASS paras[0].firstChild.appendData(""), with selected range collapsed at (paras[0], 0) 
+PASS paras[0].firstChild.appendData(""), with unselected range on paras[0] from 0 to 1 
+PASS paras[0].firstChild.appendData(""), with selected range on paras[0] from 0 to 1 
+PASS paras[0].firstChild.appendData(""), with unselected range collapsed at (paras[0], 1) 
+PASS paras[0].firstChild.appendData(""), with selected range collapsed at (paras[0], 1) 
+PASS paras[0].firstChild.appendData(""), with unselected range from (paras[0].firstChild, 1) to (paras[0], 1) 
+PASS paras[0].firstChild.appendData(""), with selected range from (paras[0].firstChild, 1) to (paras[0], 1) 
+PASS paras[0].firstChild.appendData(""), with unselected range from (paras[0], 0) to (paras[0].firstChild, 3) 
+PASS paras[0].firstChild.appendData(""), with selected range from (paras[0], 0) to (paras[0].firstChild, 3) 
+PASS paras[0].firstChild.appendData("foo"), with unselected range collapsed at (paras[0], 0) 
+PASS paras[0].firstChild.appendData("foo"), with selected range collapsed at (paras[0], 0) 
+PASS paras[0].firstChild.appendData("foo"), with unselected range on paras[0] from 0 to 1 
+PASS paras[0].firstChild.appendData("foo"), with selected range on paras[0] from 0 to 1 
+PASS paras[0].firstChild.appendData("foo"), with unselected range collapsed at (paras[0], 1) 
+PASS paras[0].firstChild.appendData("foo"), with selected range collapsed at (paras[0], 1) 
+PASS paras[0].firstChild.appendData("foo"), with unselected range from (paras[0].firstChild, 1) to (paras[0], 1) 
+PASS paras[0].firstChild.appendData("foo"), with selected range from (paras[0].firstChild, 1) to (paras[0], 1) 
+PASS paras[0].firstChild.appendData("foo"), with unselected range from (paras[0], 0) to (paras[0].firstChild, 3) 
+PASS paras[0].firstChild.appendData("foo"), with selected range from (paras[0], 0) to (paras[0].firstChild, 3) 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-appendData.html b/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-appendData.html
new file mode 100644 (file)
index 0000000..1d4879d
--- /dev/null
@@ -0,0 +1,14 @@
+<!doctype html>
+<title>Range mutation tests - appendData</title>
+<link rel="author" title="Aryeh Gregor" href=ayg@aryeh.name>
+<meta name=timeout content=long>
+
+<div id=log></div>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script src="../common.js"></script>
+<script src="Range-mutations.js"></script>
+<script>
+doTests(appendDataTests, function(params) { return params[0] + ".appendData(" + params[1] + ")" }, testAppendData);
+testDiv.style.display = "none";
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-dataChange-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/dom/ranges/Range-mutations-dataChange-expected.txt
new file mode 100644 (file)
index 0000000..874e556
--- /dev/null
@@ -0,0 +1,2810 @@
+
+PASS paras[0].firstChild.data = "", with unselected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.data = "", with selected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.data = "foo", with unselected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.data = "foo", with selected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.data = paras[0].firstChild.data, with unselected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.data = paras[0].firstChild.data, with selected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.data += "", with unselected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.data += "", with selected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.data += "foo", with unselected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.data += "foo", with selected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.data += paras[0].firstChild.data, with unselected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.data += paras[0].firstChild.data, with selected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.textContent = "", with unselected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.textContent = "", with selected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.textContent = "foo", with unselected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.textContent = "foo", with selected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.textContent = paras[0].firstChild.textContent, with unselected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.textContent = paras[0].firstChild.textContent, with selected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.textContent += "", with unselected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.textContent += "", with selected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.textContent += "foo", with unselected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.textContent += "foo", with selected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.textContent += paras[0].firstChild.textContent, with unselected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.textContent += paras[0].firstChild.textContent, with selected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.nodeValue = "", with unselected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.nodeValue = "", with selected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.nodeValue = "foo", with unselected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.nodeValue = "foo", with selected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.nodeValue = paras[0].firstChild.nodeValue, with unselected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.nodeValue = paras[0].firstChild.nodeValue, with selected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.nodeValue += "", with unselected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.nodeValue += "", with selected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.nodeValue += "foo", with unselected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.nodeValue += "foo", with selected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.nodeValue += paras[0].firstChild.nodeValue, with unselected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.nodeValue += paras[0].firstChild.nodeValue, with selected range collapsed at (paras[0].firstChild, 0) 
+PASS paras[0].firstChild.data = "", with unselected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.data = "", with selected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.data = "foo", with unselected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.data = "foo", with selected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.data = paras[0].firstChild.data, with unselected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.data = paras[0].firstChild.data, with selected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.data += "", with unselected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.data += "", with selected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.data += "foo", with unselected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.data += "foo", with selected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.data += paras[0].firstChild.data, with unselected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.data += paras[0].firstChild.data, with selected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.textContent = "", with unselected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.textContent = "", with selected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.textContent = "foo", with unselected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.textContent = "foo", with selected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.textContent = paras[0].firstChild.textContent, with unselected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.textContent = paras[0].firstChild.textContent, with selected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.textContent += "", with unselected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.textContent += "", with selected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.textContent += "foo", with unselected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.textContent += "foo", with selected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.textContent += paras[0].firstChild.textContent, with unselected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.textContent += paras[0].firstChild.textContent, with selected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.nodeValue = "", with unselected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.nodeValue = "", with selected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.nodeValue = "foo", with unselected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.nodeValue = "foo", with selected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.nodeValue = paras[0].firstChild.nodeValue, with unselected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.nodeValue = paras[0].firstChild.nodeValue, with selected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.nodeValue += "", with unselected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.nodeValue += "", with selected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.nodeValue += "foo", with unselected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.nodeValue += "foo", with selected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.nodeValue += paras[0].firstChild.nodeValue, with unselected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.nodeValue += paras[0].firstChild.nodeValue, with selected range on paras[0].firstChild from 0 to 1 
+PASS paras[0].firstChild.data = "", with unselected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.data = "", with selected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.data = "foo", with unselected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.data = "foo", with selected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.data = paras[0].firstChild.data, with unselected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.data = paras[0].firstChild.data, with selected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.data += "", with unselected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.data += "", with selected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.data += "foo", with unselected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.data += "foo", with selected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.data += paras[0].firstChild.data, with unselected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.data += paras[0].firstChild.data, with selected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.textContent = "", with unselected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.textContent = "", with selected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.textContent = "foo", with unselected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.textContent = "foo", with selected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.textContent = paras[0].firstChild.textContent, with unselected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.textContent = paras[0].firstChild.textContent, with selected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.textContent += "", with unselected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.textContent += "", with selected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.textContent += "foo", with unselected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.textContent += "foo", with selected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.textContent += paras[0].firstChild.textContent, with unselected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.textContent += paras[0].firstChild.textContent, with selected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.nodeValue = "", with unselected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.nodeValue = "", with selected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.nodeValue = "foo", with unselected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.nodeValue = "foo", with selected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.nodeValue = paras[0].firstChild.nodeValue, with unselected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.nodeValue = paras[0].firstChild.nodeValue, with selected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.nodeValue += "", with unselected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.nodeValue += "", with selected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.nodeValue += "foo", with unselected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.nodeValue += "foo", with selected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.nodeValue += paras[0].firstChild.nodeValue, with unselected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.nodeValue += paras[0].firstChild.nodeValue, with selected range collapsed at (paras[0].firstChild, 1) 
+PASS paras[0].firstChild.data = "", with unselected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.data = "", with selected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.data = "foo", with unselected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.data = "foo", with selected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.data = paras[0].firstChild.data, with unselected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.data = paras[0].firstChild.data, with selected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.data += "", with unselected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.data += "", with selected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.data += "foo", with unselected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.data += "foo", with selected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.data += paras[0].firstChild.data, with unselected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.data += paras[0].firstChild.data, with selected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.textContent = "", with unselected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.textContent = "", with selected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.textContent = "foo", with unselected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.textContent = "foo", with selected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.textContent = paras[0].firstChild.textContent, with unselected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.textContent = paras[0].firstChild.textContent, with selected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.textContent += "", with unselected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.textContent += "", with selected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.textContent += "foo", with unselected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.textContent += "foo", with selected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.textContent += paras[0].firstChild.textContent, with unselected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.textContent += paras[0].firstChild.textContent, with selected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.nodeValue = "", with unselected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.nodeValue = "", with selected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.nodeValue = "foo", with unselected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.nodeValue = "foo", with selected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.nodeValue = paras[0].firstChild.nodeValue, with unselected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.nodeValue = paras[0].firstChild.nodeValue, with selected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.nodeValue += "", with unselected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.nodeValue += "", with selected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.nodeValue += "foo", with unselected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.nodeValue += "foo", with selected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.nodeValue += paras[0].firstChild.nodeValue, with unselected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.nodeValue += paras[0].firstChild.nodeValue, with selected range on paras[0].firstChild from 0 to paras[0].firstChild.length 
+PASS paras[0].firstChild.data = "", with unselected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.data = "", with selected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.data = "foo", with unselected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.data = "foo", with selected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.data = paras[0].firstChild.data, with unselected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.data = paras[0].firstChild.data, with selected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.data += "", with unselected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.data += "", with selected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.data += "foo", with unselected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.data += "foo", with selected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.data += paras[0].firstChild.data, with unselected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.data += paras[0].firstChild.data, with selected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.textContent = "", with unselected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.textContent = "", with selected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.textContent = "foo", with unselected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.textContent = "foo", with selected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.textContent = paras[0].firstChild.textContent, with unselected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.textContent = paras[0].firstChild.textContent, with selected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.textContent += "", with unselected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.textContent += "", with selected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.textContent += "foo", with unselected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.textContent += "foo", with selected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.textContent += paras[0].firstChild.textContent, with unselected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.textContent += paras[0].firstChild.textContent, with selected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.nodeValue = "", with unselected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.nodeValue = "", with selected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.nodeValue = "foo", with unselected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.nodeValue = "foo", with selected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.nodeValue = paras[0].firstChild.nodeValue, with unselected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.nodeValue = paras[0].firstChild.nodeValue, with selected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.nodeValue += "", with unselected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.nodeValue += "", with selected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.nodeValue += "foo", with unselected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.nodeValue += "foo", with selected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.nodeValue += paras[0].firstChild.nodeValue, with unselected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.nodeValue += paras[0].firstChild.nodeValue, with selected range on paras[0].firstChild from 1 to paras[0].firstChild.length 
+PASS paras[0].firstChild.data = "", with unselected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.data = "", with selected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.data = "foo", with unselected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.data = "foo", with selected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.data = paras[0].firstChild.data, with unselected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.data = paras[0].firstChild.data, with selected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.data += "", with unselected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.data += "", with selected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.data += "foo", with unselected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.data += "foo", with selected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.data += paras[0].firstChild.data, with unselected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.data += paras[0].firstChild.data, with selected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.textContent = "", with unselected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.textContent = "", with selected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.textContent = "foo", with unselected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.textContent = "foo", with selected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.textContent = paras[0].firstChild.textContent, with unselected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.textContent = paras[0].firstChild.textContent, with selected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.textContent += "", with unselected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.textContent += "", with selected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.textContent += "foo", with unselected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.textContent += "foo", with selected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.textContent += paras[0].firstChild.textContent, with unselected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.textContent += paras[0].firstChild.textContent, with selected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.nodeValue = "", with unselected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.nodeValue = "", with selected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.nodeValue = "foo", with unselected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.nodeValue = "foo", with selected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.nodeValue = paras[0].firstChild.nodeValue, with unselected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.nodeValue = paras[0].firstChild.nodeValue, with selected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.nodeValue += "", with unselected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.nodeValue += "", with selected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.nodeValue += "foo", with unselected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.nodeValue += "foo", with selected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.nodeValue += paras[0].firstChild.nodeValue, with unselected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[0].firstChild.nodeValue += paras[0].firstChild.nodeValue, with selected range collapsed at (paras[0].firstChild, paras[0].firstChild.length) 
+PASS paras[1].firstChild.data = "", with unselected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.data = "", with selected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.data = "foo", with unselected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.data = "foo", with selected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.data = paras[1].firstChild.data, with unselected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.data = paras[1].firstChild.data, with selected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.data += "", with unselected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.data += "", with selected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.data += "foo", with unselected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.data += "foo", with selected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.data += paras[1].firstChild.data, with unselected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.data += paras[1].firstChild.data, with selected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.textContent = "", with unselected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.textContent = "", with selected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.textContent = "foo", with unselected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.textContent = "foo", with selected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.textContent = paras[1].firstChild.textContent, with unselected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.textContent = paras[1].firstChild.textContent, with selected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.textContent += "", with unselected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.textContent += "", with selected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.textContent += "foo", with unselected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.textContent += "foo", with selected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.textContent += paras[1].firstChild.textContent, with unselected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.textContent += paras[1].firstChild.textContent, with selected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.nodeValue = "", with unselected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.nodeValue = "", with selected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.nodeValue = "foo", with unselected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.nodeValue = "foo", with selected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.nodeValue = paras[1].firstChild.nodeValue, with unselected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.nodeValue = paras[1].firstChild.nodeValue, with selected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.nodeValue += "", with unselected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.nodeValue += "", with selected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.nodeValue += "foo", with unselected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.nodeValue += "foo", with selected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.nodeValue += paras[1].firstChild.nodeValue, with unselected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.nodeValue += paras[1].firstChild.nodeValue, with selected range collapsed at (paras[1].firstChild, 0) 
+PASS paras[1].firstChild.data = "", with unselected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.data = "", with selected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.data = "foo", with unselected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.data = "foo", with selected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.data = paras[1].firstChild.data, with unselected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.data = paras[1].firstChild.data, with selected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.data += "", with unselected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.data += "", with selected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.data += "foo", with unselected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.data += "foo", with selected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.data += paras[1].firstChild.data, with unselected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.data += paras[1].firstChild.data, with selected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.textContent = "", with unselected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.textContent = "", with selected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.textContent = "foo", with unselected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.textContent = "foo", with selected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.textContent = paras[1].firstChild.textContent, with unselected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.textContent = paras[1].firstChild.textContent, with selected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.textContent += "", with unselected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.textContent += "", with selected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.textContent += "foo", with unselected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.textContent += "foo", with selected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.textContent += paras[1].firstChild.textContent, with unselected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.textContent += paras[1].firstChild.textContent, with selected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.nodeValue = "", with unselected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.nodeValue = "", with selected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.nodeValue = "foo", with unselected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.nodeValue = "foo", with selected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.nodeValue = paras[1].firstChild.nodeValue, with unselected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.nodeValue = paras[1].firstChild.nodeValue, with selected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.nodeValue += "", with unselected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.nodeValue += "", with selected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.nodeValue += "foo", with unselected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.nodeValue += "foo", with selected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.nodeValue += paras[1].firstChild.nodeValue, with unselected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.nodeValue += paras[1].firstChild.nodeValue, with selected range on paras[1].firstChild from 0 to 1 
+PASS paras[1].firstChild.data = "", with unselected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.data = "", with selected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.data = "foo", with unselected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.data = "foo", with selected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.data = paras[1].firstChild.data, with unselected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.data = paras[1].firstChild.data, with selected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.data += "", with unselected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.data += "", with selected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.data += "foo", with unselected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.data += "foo", with selected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.data += paras[1].firstChild.data, with unselected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.data += paras[1].firstChild.data, with selected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.textContent = "", with unselected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.textContent = "", with selected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.textContent = "foo", with unselected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.textContent = "foo", with selected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.textContent = paras[1].firstChild.textContent, with unselected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.textContent = paras[1].firstChild.textContent, with selected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.textContent += "", with unselected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.textContent += "", with selected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.textContent += "foo", with unselected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.textContent += "foo", with selected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.textContent += paras[1].firstChild.textContent, with unselected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.textContent += paras[1].firstChild.textContent, with selected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.nodeValue = "", with unselected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.nodeValue = "", with selected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.nodeValue = "foo", with unselected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.nodeValue = "foo", with selected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.nodeValue = paras[1].firstChild.nodeValue, with unselected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.nodeValue = paras[1].firstChild.nodeValue, with selected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.nodeValue += "", with unselected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.nodeValue += "", with selected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.nodeValue += "foo", with unselected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.nodeValue += "foo", with selected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.nodeValue += paras[1].firstChild.nodeValue, with unselected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.nodeValue += paras[1].firstChild.nodeValue, with selected range collapsed at (paras[1].firstChild, 1) 
+PASS paras[1].firstChild.data = "", with unselected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.data = "", with selected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.data = "foo", with unselected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.data = "foo", with selected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.data = paras[1].firstChild.data, with unselected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.data = paras[1].firstChild.data, with selected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.data += "", with unselected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.data += "", with selected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.data += "foo", with unselected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.data += "foo", with selected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.data += paras[1].firstChild.data, with unselected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.data += paras[1].firstChild.data, with selected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.textContent = "", with unselected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.textContent = "", with selected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.textContent = "foo", with unselected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.textContent = "foo", with selected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.textContent = paras[1].firstChild.textContent, with unselected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.textContent = paras[1].firstChild.textContent, with selected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.textContent += "", with unselected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.textContent += "", with selected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.textContent += "foo", with unselected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.textContent += "foo", with selected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.textContent += paras[1].firstChild.textContent, with unselected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.textContent += paras[1].firstChild.textContent, with selected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.nodeValue = "", with unselected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.nodeValue = "", with selected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.nodeValue = "foo", with unselected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.nodeValue = "foo", with selected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.nodeValue = paras[1].firstChild.nodeValue, with unselected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.nodeValue = paras[1].firstChild.nodeValue, with selected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.nodeValue += "", with unselected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.nodeValue += "", with selected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.nodeValue += "foo", with unselected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.nodeValue += "foo", with selected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.nodeValue += paras[1].firstChild.nodeValue, with unselected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.nodeValue += paras[1].firstChild.nodeValue, with selected range on paras[1].firstChild from 0 to paras[1].firstChild.length 
+PASS paras[1].firstChild.data = "", with unselected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.data = "", with selected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.data = "foo", with unselected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.data = "foo", with selected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.data = paras[1].firstChild.data, with unselected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.data = paras[1].firstChild.data, with selected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.data += "", with unselected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.data += "", with selected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.data += "foo", with unselected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.data += "foo", with selected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.data += paras[1].firstChild.data, with unselected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.data += paras[1].firstChild.data, with selected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.textContent = "", with unselected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.textContent = "", with selected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.textContent = "foo", with unselected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.textContent = "foo", with selected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.textContent = paras[1].firstChild.textContent, with unselected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.textContent = paras[1].firstChild.textContent, with selected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.textContent += "", with unselected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.textContent += "", with selected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.textContent += "foo", with unselected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.textContent += "foo", with selected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.textContent += paras[1].firstChild.textContent, with unselected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.textContent += paras[1].firstChild.textContent, with selected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.nodeValue = "", with unselected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.nodeValue = "", with selected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.nodeValue = "foo", with unselected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.nodeValue = "foo", with selected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.nodeValue = paras[1].firstChild.nodeValue, with unselected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.nodeValue = paras[1].firstChild.nodeValue, with selected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.nodeValue += "", with unselected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.nodeValue += "", with selected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.nodeValue += "foo", with unselected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.nodeValue += "foo", with selected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.nodeValue += paras[1].firstChild.nodeValue, with unselected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.nodeValue += paras[1].firstChild.nodeValue, with selected range on paras[1].firstChild from 1 to paras[1].firstChild.length 
+PASS paras[1].firstChild.data = "", with unselected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.data = "", with selected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.data = "foo", with unselected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.data = "foo", with selected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.data = paras[1].firstChild.data, with unselected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.data = paras[1].firstChild.data, with selected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.data += "", with unselected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.data += "", with selected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.data += "foo", with unselected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.data += "foo", with selected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.data += paras[1].firstChild.data, with unselected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.data += paras[1].firstChild.data, with selected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.textContent = "", with unselected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.textContent = "", with selected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.textContent = "foo", with unselected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.textContent = "foo", with selected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.textContent = paras[1].firstChild.textContent, with unselected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.textContent = paras[1].firstChild.textContent, with selected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.textContent += "", with unselected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.textContent += "", with selected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.textContent += "foo", with unselected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.textContent += "foo", with selected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.textContent += paras[1].firstChild.textContent, with unselected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.textContent += paras[1].firstChild.textContent, with selected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.nodeValue = "", with unselected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.nodeValue = "", with selected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.nodeValue = "foo", with unselected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.nodeValue = "foo", with selected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.nodeValue = paras[1].firstChild.nodeValue, with unselected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.nodeValue = paras[1].firstChild.nodeValue, with selected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.nodeValue += "", with unselected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.nodeValue += "", with selected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.nodeValue += "foo", with unselected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.nodeValue += "foo", with selected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.nodeValue += paras[1].firstChild.nodeValue, with unselected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS paras[1].firstChild.nodeValue += paras[1].firstChild.nodeValue, with selected range collapsed at (paras[1].firstChild, paras[1].firstChild.length) 
+PASS foreignTextNode.data = "", with unselected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.data = "", with selected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.data = "foo", with unselected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.data = "foo", with selected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.data = foreignTextNode.data, with unselected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.data = foreignTextNode.data, with selected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.data += "", with unselected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.data += "", with selected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.data += "foo", with unselected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.data += "foo", with selected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.data += foreignTextNode.data, with unselected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.data += foreignTextNode.data, with selected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.textContent = "", with unselected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.textContent = "", with selected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.textContent = "foo", with unselected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.textContent = "foo", with selected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.textContent = foreignTextNode.textContent, with unselected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.textContent = foreignTextNode.textContent, with selected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.textContent += "", with unselected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.textContent += "", with selected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.textContent += "foo", with unselected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.textContent += "foo", with selected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.textContent += foreignTextNode.textContent, with unselected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.textContent += foreignTextNode.textContent, with selected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.nodeValue = "", with unselected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.nodeValue = "", with selected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.nodeValue = "foo", with unselected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.nodeValue = "foo", with selected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.nodeValue = foreignTextNode.nodeValue, with unselected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.nodeValue = foreignTextNode.nodeValue, with selected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.nodeValue += "", with unselected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.nodeValue += "", with selected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.nodeValue += "foo", with unselected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.nodeValue += "foo", with selected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.nodeValue += foreignTextNode.nodeValue, with unselected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.nodeValue += foreignTextNode.nodeValue, with selected range collapsed at (foreignTextNode, 0) 
+PASS foreignTextNode.data = "", with unselected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.data = "", with selected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.data = "foo", with unselected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.data = "foo", with selected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.data = foreignTextNode.data, with unselected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.data = foreignTextNode.data, with selected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.data += "", with unselected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.data += "", with selected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.data += "foo", with unselected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.data += "foo", with selected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.data += foreignTextNode.data, with unselected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.data += foreignTextNode.data, with selected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.textContent = "", with unselected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.textContent = "", with selected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.textContent = "foo", with unselected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.textContent = "foo", with selected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.textContent = foreignTextNode.textContent, with unselected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.textContent = foreignTextNode.textContent, with selected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.textContent += "", with unselected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.textContent += "", with selected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.textContent += "foo", with unselected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.textContent += "foo", with selected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.textContent += foreignTextNode.textContent, with unselected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.textContent += foreignTextNode.textContent, with selected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.nodeValue = "", with unselected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.nodeValue = "", with selected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.nodeValue = "foo", with unselected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.nodeValue = "foo", with selected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.nodeValue = foreignTextNode.nodeValue, with unselected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.nodeValue = foreignTextNode.nodeValue, with selected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.nodeValue += "", with unselected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.nodeValue += "", with selected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.nodeValue += "foo", with unselected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.nodeValue += "foo", with selected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.nodeValue += foreignTextNode.nodeValue, with unselected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.nodeValue += foreignTextNode.nodeValue, with selected range on foreignTextNode from 0 to 1 
+PASS foreignTextNode.data = "", with unselected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.data = "", with selected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.data = "foo", with unselected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.data = "foo", with selected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.data = foreignTextNode.data, with unselected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.data = foreignTextNode.data, with selected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.data += "", with unselected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.data += "", with selected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.data += "foo", with unselected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.data += "foo", with selected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.data += foreignTextNode.data, with unselected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.data += foreignTextNode.data, with selected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.textContent = "", with unselected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.textContent = "", with selected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.textContent = "foo", with unselected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.textContent = "foo", with selected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.textContent = foreignTextNode.textContent, with unselected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.textContent = foreignTextNode.textContent, with selected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.textContent += "", with unselected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.textContent += "", with selected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.textContent += "foo", with unselected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.textContent += "foo", with selected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.textContent += foreignTextNode.textContent, with unselected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.textContent += foreignTextNode.textContent, with selected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.nodeValue = "", with unselected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.nodeValue = "", with selected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.nodeValue = "foo", with unselected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.nodeValue = "foo", with selected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.nodeValue = foreignTextNode.nodeValue, with unselected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.nodeValue = foreignTextNode.nodeValue, with selected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.nodeValue += "", with unselected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.nodeValue += "", with selected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.nodeValue += "foo", with unselected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.nodeValue += "foo", with selected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.nodeValue += foreignTextNode.nodeValue, with unselected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.nodeValue += foreignTextNode.nodeValue, with selected range collapsed at (foreignTextNode, 1) 
+PASS foreignTextNode.data = "", with unselected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.data = "", with selected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.data = "foo", with unselected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.data = "foo", with selected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.data = foreignTextNode.data, with unselected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.data = foreignTextNode.data, with selected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.data += "", with unselected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.data += "", with selected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.data += "foo", with unselected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.data += "foo", with selected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.data += foreignTextNode.data, with unselected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.data += foreignTextNode.data, with selected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.textContent = "", with unselected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.textContent = "", with selected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.textContent = "foo", with unselected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.textContent = "foo", with selected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.textContent = foreignTextNode.textContent, with unselected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.textContent = foreignTextNode.textContent, with selected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.textContent += "", with unselected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.textContent += "", with selected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.textContent += "foo", with unselected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.textContent += "foo", with selected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.textContent += foreignTextNode.textContent, with unselected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.textContent += foreignTextNode.textContent, with selected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.nodeValue = "", with unselected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.nodeValue = "", with selected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.nodeValue = "foo", with unselected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.nodeValue = "foo", with selected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.nodeValue = foreignTextNode.nodeValue, with unselected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.nodeValue = foreignTextNode.nodeValue, with selected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.nodeValue += "", with unselected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.nodeValue += "", with selected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.nodeValue += "foo", with unselected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.nodeValue += "foo", with selected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.nodeValue += foreignTextNode.nodeValue, with unselected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.nodeValue += foreignTextNode.nodeValue, with selected range on foreignTextNode from 0 to foreignTextNode.length 
+PASS foreignTextNode.data = "", with unselected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.data = "", with selected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.data = "foo", with unselected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.data = "foo", with selected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.data = foreignTextNode.data, with unselected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.data = foreignTextNode.data, with selected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.data += "", with unselected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.data += "", with selected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.data += "foo", with unselected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.data += "foo", with selected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.data += foreignTextNode.data, with unselected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.data += foreignTextNode.data, with selected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.textContent = "", with unselected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.textContent = "", with selected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.textContent = "foo", with unselected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.textContent = "foo", with selected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.textContent = foreignTextNode.textContent, with unselected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.textContent = foreignTextNode.textContent, with selected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.textContent += "", with unselected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.textContent += "", with selected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.textContent += "foo", with unselected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.textContent += "foo", with selected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.textContent += foreignTextNode.textContent, with unselected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.textContent += foreignTextNode.textContent, with selected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.nodeValue = "", with unselected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.nodeValue = "", with selected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.nodeValue = "foo", with unselected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.nodeValue = "foo", with selected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.nodeValue = foreignTextNode.nodeValue, with unselected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.nodeValue = foreignTextNode.nodeValue, with selected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.nodeValue += "", with unselected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.nodeValue += "", with selected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.nodeValue += "foo", with unselected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.nodeValue += "foo", with selected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.nodeValue += foreignTextNode.nodeValue, with unselected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.nodeValue += foreignTextNode.nodeValue, with selected range on foreignTextNode from 1 to foreignTextNode.length 
+PASS foreignTextNode.data = "", with unselected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.data = "", with selected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.data = "foo", with unselected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.data = "foo", with selected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.data = foreignTextNode.data, with unselected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.data = foreignTextNode.data, with selected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.data += "", with unselected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.data += "", with selected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.data += "foo", with unselected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.data += "foo", with selected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.data += foreignTextNode.data, with unselected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.data += foreignTextNode.data, with selected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.textContent = "", with unselected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.textContent = "", with selected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.textContent = "foo", with unselected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.textContent = "foo", with selected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.textContent = foreignTextNode.textContent, with unselected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.textContent = foreignTextNode.textContent, with selected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.textContent += "", with unselected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.textContent += "", with selected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.textContent += "foo", with unselected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.textContent += "foo", with selected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.textContent += foreignTextNode.textContent, with unselected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.textContent += foreignTextNode.textContent, with selected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.nodeValue = "", with unselected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.nodeValue = "", with selected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.nodeValue = "foo", with unselected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.nodeValue = "foo", with selected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.nodeValue = foreignTextNode.nodeValue, with unselected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.nodeValue = foreignTextNode.nodeValue, with selected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.nodeValue += "", with unselected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.nodeValue += "", with selected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.nodeValue += "foo", with unselected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.nodeValue += "foo", with selected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.nodeValue += foreignTextNode.nodeValue, with unselected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS foreignTextNode.nodeValue += foreignTextNode.nodeValue, with selected range collapsed at (foreignTextNode, foreignTextNode.length) 
+PASS xmlTextNode.data = "", with unselected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.data = "", with selected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.data = "foo", with unselected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.data = "foo", with selected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.data = xmlTextNode.data, with unselected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.data = xmlTextNode.data, with selected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.data += "", with unselected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.data += "", with selected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.data += "foo", with unselected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.data += "foo", with selected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.data += xmlTextNode.data, with unselected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.data += xmlTextNode.data, with selected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.textContent = "", with unselected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.textContent = "", with selected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.textContent = "foo", with unselected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.textContent = "foo", with selected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.textContent = xmlTextNode.textContent, with unselected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.textContent = xmlTextNode.textContent, with selected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.textContent += "", with unselected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.textContent += "", with selected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.textContent += "foo", with unselected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.textContent += "foo", with selected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.textContent += xmlTextNode.textContent, with unselected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.textContent += xmlTextNode.textContent, with selected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.nodeValue = "", with unselected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.nodeValue = "", with selected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.nodeValue = "foo", with unselected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.nodeValue = "foo", with selected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.nodeValue = xmlTextNode.nodeValue, with unselected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.nodeValue = xmlTextNode.nodeValue, with selected range collapsed at (xmlTextNode, 0) 
+PASS xmlTextNode.nodeValue += "", with uns