Sync web-platform-tests up to revision 3801ab5
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 22 Sep 2016 16:20:59 +0000 (16:20 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 22 Sep 2016 16:20:59 +0000 (16:20 +0000)
https://bugs.webkit.org/show_bug.cgi?id=162375

Patch by Youenn Fablet <youenn@apple.com> on 2016-09-22
Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

* resources/ImportExpectations:
* resources/TestRepositories:
* resources/resource-files.json:
* resources/web-platform-tests-modules.json:
* web-platform-tests/IndexedDB/idbindex-multientry-big-expected.txt:
* web-platform-tests/XMLHttpRequest/responsexml-document-properties-expected.txt:
* web-platform-tests/XMLHttpRequest/send-entity-body-document-expected.txt:
* web-platform-tests/XMLHttpRequest/setrequestheader-header-allowed.htm:
* web-platform-tests/dom/interfaces-expected.txt:
* web-platform-tests/dom/interfaces.html:
* web-platform-tests/dom/nodes/Document-createEvent-expected.txt:
* web-platform-tests/dom/nodes/Document-createEvent.html:
* web-platform-tests/dom/nodes/NodeList-Iterable.html: Added.
* web-platform-tests/dom/nodes/rootNode.html: Added.
* web-platform-tests/dom/nodes/w3c-import.log:
* web-platform-tests/fetch/api/cors/cors-multiple-origins-expected.txt:
* web-platform-tests/fetch/api/cors/cors-multiple-origins-worker-expected.txt:
* web-platform-tests/fetch/api/cors/cors-preflight-referrer-expected.txt:
* web-platform-tests/fetch/api/cors/cors-preflight-referrer-worker-expected.txt:
* web-platform-tests/fetch/api/cors/cors-preflight-referrer.js:
(corsPreflightReferrer):
* web-platform-tests/fetch/api/redirect/redirect-to-dataurl-expected.txt:
* web-platform-tests/fetch/api/redirect/redirect-to-dataurl-worker-expected.txt:
* web-platform-tests/fetch/api/redirect/redirect-to-dataurl.js:
(redirectDataURL):
* web-platform-tests/fetch/api/response/response-static-redirect.html:
* web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt:
* web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html:
* web-platform-tests/html/browsers/origin/origin-of-data-document.html: Added.
* web-platform-tests/html/browsers/origin/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/tabular-data/w3c-import.log.
* web-platform-tests/html/browsers/windows/nested-browsing-contexts/frameElement.sub-expected.txt:
* web-platform-tests/html/browsers/windows/targeting-cross-origin-nested-browsing-contexts.sub-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.forms-expected.txt:
* web-platform-tests/html/dom/documents/dom-tree-accessors/document.forms.html:
* web-platform-tests/html/dom/elements-embedded.js:
* web-platform-tests/html/dom/elements-metadata.js:
* web-platform-tests/html/dom/elements-tabular.js:
* web-platform-tests/html/dom/elements-text.js:
* web-platform-tests/html/dom/interfaces-expected.txt:
* web-platform-tests/html/dom/reflection-embedded-expected.txt:
* web-platform-tests/html/dom/reflection-metadata-expected.txt:
* web-platform-tests/html/dom/reflection-tabular-expected.txt:
* web-platform-tests/html/dom/reflection-text-expected.txt:
* web-platform-tests/html/dom/reflection.js:
(ReflectionTests.resolveUrl):
(ReflectionTests.parseNonneg): Deleted.
(ReflectionTests.parseInt): Deleted.
* web-platform-tests/html/semantics/document-metadata/the-link-element/document-without-browsing-context-expected.txt:
* web-platform-tests/html/semantics/document-metadata/the-style-element/historical.html: Added.
* web-platform-tests/html/semantics/document-metadata/the-style-element/style_scoped-expected.txt: Removed.
* web-platform-tests/html/semantics/document-metadata/the-style-element/style_scoped.html: Removed.
* web-platform-tests/html/semantics/document-metadata/the-style-element/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/media-elements/historical-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/historical.html:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/src-expected.txt:
* web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/src.html:
* web-platform-tests/html/semantics/embedded-content/the-area-element/area-shape-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-area-element/area-shape.html:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/historical-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-canvas-element/historical.html:
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/historical.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-iframe-element/w3c-import.log:
* web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change-expected.txt:
* web-platform-tests/html/semantics/embedded-content/the-img-element/nonexistent-image.html: Added.
* web-platform-tests/html/semantics/embedded-content/the-img-element/w3c-import.log:
* web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity.html:
* web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity.html:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow.html:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow.html:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch.html:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid.html:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing.html:
* web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate.html:
* web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:
* web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application.html:
* web-platform-tests/html/semantics/forms/the-input-element/cloning-steps.html: Added.
* web-platform-tests/html/semantics/forms/the-input-element/datetime-2-expected.txt: Removed.
* web-platform-tests/html/semantics/forms/the-input-element/datetime-2.html: Removed.
* web-platform-tests/html/semantics/forms/the-input-element/files-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/files.html:
* web-platform-tests/html/semantics/forms/the-input-element/month-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/month.html:
* web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/type-change-state.html:
* web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/valueMode.html:
* web-platform-tests/html/semantics/forms/the-input-element/w3c-import.log:
* web-platform-tests/html/semantics/forms/the-option-element/option-form.html: Added.
* web-platform-tests/html/semantics/forms/the-option-element/w3c-import.log:
* web-platform-tests/html/semantics/forms/the-textarea-element/cloning-steps.html:
* web-platform-tests/html/semantics/forms/the-textarea-element/w3c-import.log:
* web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1a-expected.html: Added.
* web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1a.html: Added.
* web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1b-expected.html: Added.
* web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1b.html: Added.
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-close-expected.txt:
* web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-close.html:
* web-platform-tests/html/semantics/scripting-1/the-script-element/historical.html: Added.
* web-platform-tests/html/semantics/scripting-1/the-script-element/script-before-after-events-expected.txt: Removed.
* web-platform-tests/html/semantics/scripting-1/the-script-element/script-before-after-events.html: Removed.
* web-platform-tests/html/semantics/scripting-1/the-script-element/w3c-import.log:
* web-platform-tests/html/semantics/tabular-data/historical.html: Added.
* web-platform-tests/html/semantics/tabular-data/w3c-import.log:
* web-platform-tests/html/semantics/text-level-semantics/historical.html: Added.
* web-platform-tests/html/semantics/text-level-semantics/w3c-import.log: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/w3c-import.log.
* web-platform-tests/html/syntax/parsing/foreign_content_001.html: Added.
* web-platform-tests/html/syntax/parsing/foreign_content_003.html: Added.
* web-platform-tests/html/syntax/parsing/foreign_content_004.html: Added.
* web-platform-tests/html/syntax/parsing/foreign_content_005.html: Added.
* web-platform-tests/html/syntax/parsing/foreign_content_006.html: Added.
* web-platform-tests/html/syntax/parsing/foreign_content_008.html: Added.
* web-platform-tests/html/syntax/parsing/foreign_content_009.html: Added.
* web-platform-tests/html/syntax/parsing/foreign_content_010.html: Added.
* web-platform-tests/html/syntax/parsing/foreign_content_013.html: Added.
* web-platform-tests/media-source/import_tests.sh:
* web-platform-tests/media-source/mediasource-append-buffer-expected.txt:
* web-platform-tests/media-source/mediasource-is-type-supported-expected.txt:
* web-platform-tests/media-source/mediasource-sourcebuffer-mode-expected.txt:
* web-platform-tests/media-source/mp4/w3c-import.log: Added.
* web-platform-tests/media-source/w3c-import.log: Added.
* web-platform-tests/media-source/webm/w3c-import.log: Added.
* web-platform-tests/resource-timing/idlharness-expected.txt: Added.
* web-platform-tests/resource-timing/idlharness.html: Added.
* web-platform-tests/resource-timing/resource-timing-expected.txt:
* web-platform-tests/resource-timing/resource-timing.js:
(window.onload):
* web-platform-tests/resource-timing/w3c-import.log:

LayoutTests:

* platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt: Added.
* platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt: Added.
* platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt: Added.
* platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt: Added.
* platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt: Added.
* platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt: Added.
* platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt: Added.
* platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt: Added.
* platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt: Added.
* platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt: Added.
* platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/month-expected.txt: Added.
* platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt: Added.
* platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt: Added.
* platform/ios-simulator-wk2/imported/w3c/web-platform-tests/resource-timing/idlharness-expected.txt: Added.
* platform/wk2/imported/w3c/web-platform-tests/html/semantics/document-metadata/styling/LinkStyle-expected.txt:
* tests-options.json:

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

157 files changed:
LayoutTests/ChangeLog
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/XMLHttpRequest/send-entity-body-document-expected.txt
LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-header-allowed.htm
LayoutTests/imported/w3c/web-platform-tests/dom/interfaces-expected.txt
LayoutTests/imported/w3c/web-platform-tests/dom/interfaces.html
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent-expected.txt
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Document-createEvent.html
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/NodeList-Iterable-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/NodeList-Iterable.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/rootNode-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/rootNode.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/dom/nodes/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins-expected.txt
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-multiple-origins-worker-expected.txt
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer-expected.txt
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer-worker-expected.txt
LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-referrer.js
LayoutTests/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-to-dataurl-expected.txt
LayoutTests/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-to-dataurl-worker-expected.txt
LayoutTests/imported/w3c/web-platform-tests/fetch/api/redirect/redirect-to-dataurl.js
LayoutTests/imported/w3c/web-platform-tests/fetch/api/response/response-static-redirect.html
LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html
LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/origin-of-data-document-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/origin-of-data-document.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/nested-browsing-contexts/frameElement.sub-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/browsers/windows/targeting-cross-origin-nested-browsing-contexts.sub-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.forms-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.forms.html
LayoutTests/imported/w3c/web-platform-tests/html/dom/elements-embedded.js
LayoutTests/imported/w3c/web-platform-tests/html/dom/elements-metadata.js
LayoutTests/imported/w3c/web-platform-tests/html/dom/elements-tabular.js
LayoutTests/imported/w3c/web-platform-tests/html/dom/elements-text.js
LayoutTests/imported/w3c/web-platform-tests/html/dom/interfaces-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-metadata-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-tabular-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-text-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection.js
LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-link-element/document-without-browsing-context-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-style-element/historical-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-style-element/historical.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-style-element/style_scoped-expected.txt [deleted file]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-style-element/style_scoped.html [deleted file]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-style-element/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/historical-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/historical.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/src-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/src.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-area-element/area-shape-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-area-element/area-shape.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/historical-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-canvas-element/historical.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/historical-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/historical.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/nonexistent-image-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/nonexistent-image.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/forms/constraints/form-validation-checkValidity-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/cloning-steps-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/cloning-steps.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/datetime-2-expected.txt [deleted file]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/datetime-2.html [deleted file]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/files-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/files.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/month-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/month.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/valueMode.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-option-element/option-form-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-option-element/option-form.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-option-element/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-textarea-element/cloning-steps.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-textarea-element/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1a-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1a.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1b-expected.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1b.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-close-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-close.html
LayoutTests/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/historical-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/historical.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/script-before-after-events-expected.txt [deleted file]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/script-before-after-events.html [deleted file]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/scripting-1/the-script-element/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/html/semantics/tabular-data/historical-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/tabular-data/historical.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/tabular-data/w3c-import.log
LayoutTests/imported/w3c/web-platform-tests/html/semantics/text-level-semantics/historical-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/text-level-semantics/historical.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/semantics/text-level-semantics/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/syntax/parsing/foreign_content_001.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/syntax/parsing/foreign_content_003.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/syntax/parsing/foreign_content_004.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/syntax/parsing/foreign_content_005.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/syntax/parsing/foreign_content_006.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/syntax/parsing/foreign_content_008.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/syntax/parsing/foreign_content_009.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/syntax/parsing/foreign_content_010.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/syntax/parsing/foreign_content_011.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/html/syntax/parsing/foreign_content_013.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/media-source/import_tests.sh [changed mode: 0755->0644]
LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-append-buffer-expected.txt
LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-is-type-supported-expected.txt
LayoutTests/imported/w3c/web-platform-tests/media-source/mediasource-sourcebuffer-mode-expected.txt
LayoutTests/imported/w3c/web-platform-tests/media-source/mp4/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/media-source/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/media-source/webm/w3c-import.log [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/resource-timing/idlharness-expected.txt [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/resource-timing/idlharness.html [new file with mode: 0644]
LayoutTests/imported/w3c/web-platform-tests/resource-timing/resource-timing-expected.txt
LayoutTests/imported/w3c/web-platform-tests/resource-timing/resource-timing.js
LayoutTests/imported/w3c/web-platform-tests/resource-timing/w3c-import.log
LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/month-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-simulator-wk2/imported/w3c/web-platform-tests/resource-timing/idlharness-expected.txt [new file with mode: 0644]
LayoutTests/platform/wk2/imported/w3c/web-platform-tests/html/semantics/document-metadata/styling/LinkStyle-expected.txt
LayoutTests/tests-options.json

index de431c2..17e3a87 100644 (file)
@@ -1,3 +1,27 @@
+2016-09-22  Youenn Fablet  <youenn@apple.com>
+
+        Sync web-platform-tests up to revision 3801ab5
+        https://bugs.webkit.org/show_bug.cgi?id=162375
+
+        Reviewed by Chris Dumez.
+
+        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt: Added.
+        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt: Added.
+        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt: Added.
+        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt: Added.
+        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt: Added.
+        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt: Added.
+        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt: Added.
+        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt: Added.
+        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt: Added.
+        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt: Added.
+        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/month-expected.txt: Added.
+        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt: Added.
+        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt: Added.
+        * platform/ios-simulator-wk2/imported/w3c/web-platform-tests/resource-timing/idlharness-expected.txt: Added.
+        * platform/wk2/imported/w3c/web-platform-tests/html/semantics/document-metadata/styling/LinkStyle-expected.txt:
+        * tests-options.json:
+
 2016-09-22  Nan Wang  <n_wang@apple.com>
 
         AX: aria-pressed state not correctly conveyed to VoiceOver iOS on <button> unless role=button added
index 8d83558..a275d6f 100644 (file)
@@ -1,3 +1,146 @@
+2016-09-22  Youenn Fablet  <youenn@apple.com>
+
+        Sync web-platform-tests up to revision 3801ab5
+        https://bugs.webkit.org/show_bug.cgi?id=162375
+
+        Reviewed by Chris Dumez.
+
+        * resources/ImportExpectations:
+        * resources/TestRepositories:
+        * resources/resource-files.json:
+        * resources/web-platform-tests-modules.json:
+        * web-platform-tests/IndexedDB/idbindex-multientry-big-expected.txt:
+        * web-platform-tests/XMLHttpRequest/responsexml-document-properties-expected.txt:
+        * web-platform-tests/XMLHttpRequest/send-entity-body-document-expected.txt:
+        * web-platform-tests/XMLHttpRequest/setrequestheader-header-allowed.htm:
+        * web-platform-tests/dom/interfaces-expected.txt:
+        * web-platform-tests/dom/interfaces.html:
+        * web-platform-tests/dom/nodes/Document-createEvent-expected.txt:
+        * web-platform-tests/dom/nodes/Document-createEvent.html:
+        * web-platform-tests/dom/nodes/NodeList-Iterable.html: Added.
+        * web-platform-tests/dom/nodes/rootNode.html: Added.
+        * web-platform-tests/dom/nodes/w3c-import.log:
+        * web-platform-tests/fetch/api/cors/cors-multiple-origins-expected.txt:
+        * web-platform-tests/fetch/api/cors/cors-multiple-origins-worker-expected.txt:
+        * web-platform-tests/fetch/api/cors/cors-preflight-referrer-expected.txt:
+        * web-platform-tests/fetch/api/cors/cors-preflight-referrer-worker-expected.txt:
+        * web-platform-tests/fetch/api/cors/cors-preflight-referrer.js:
+        (corsPreflightReferrer):
+        * web-platform-tests/fetch/api/redirect/redirect-to-dataurl-expected.txt:
+        * web-platform-tests/fetch/api/redirect/redirect-to-dataurl-worker-expected.txt:
+        * web-platform-tests/fetch/api/redirect/redirect-to-dataurl.js:
+        (redirectDataURL):
+        * web-platform-tests/fetch/api/response/response-static-redirect.html:
+        * web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects-expected.txt:
+        * web-platform-tests/html/browsers/origin/cross-origin-objects/cross-origin-objects.html:
+        * web-platform-tests/html/browsers/origin/origin-of-data-document.html: Added.
+        * web-platform-tests/html/browsers/origin/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/tabular-data/w3c-import.log.
+        * web-platform-tests/html/browsers/windows/nested-browsing-contexts/frameElement.sub-expected.txt:
+        * web-platform-tests/html/browsers/windows/targeting-cross-origin-nested-browsing-contexts.sub-expected.txt:
+        * web-platform-tests/html/dom/documents/dom-tree-accessors/document.forms-expected.txt:
+        * web-platform-tests/html/dom/documents/dom-tree-accessors/document.forms.html:
+        * web-platform-tests/html/dom/elements-embedded.js:
+        * web-platform-tests/html/dom/elements-metadata.js:
+        * web-platform-tests/html/dom/elements-tabular.js:
+        * web-platform-tests/html/dom/elements-text.js:
+        * web-platform-tests/html/dom/interfaces-expected.txt:
+        * web-platform-tests/html/dom/reflection-embedded-expected.txt:
+        * web-platform-tests/html/dom/reflection-metadata-expected.txt:
+        * web-platform-tests/html/dom/reflection-tabular-expected.txt:
+        * web-platform-tests/html/dom/reflection-text-expected.txt:
+        * web-platform-tests/html/dom/reflection.js:
+        (ReflectionTests.resolveUrl):
+        (ReflectionTests.parseNonneg): Deleted.
+        (ReflectionTests.parseInt): Deleted.
+        * web-platform-tests/html/semantics/document-metadata/the-link-element/document-without-browsing-context-expected.txt:
+        * web-platform-tests/html/semantics/document-metadata/the-style-element/historical.html: Added.
+        * web-platform-tests/html/semantics/document-metadata/the-style-element/style_scoped-expected.txt: Removed.
+        * web-platform-tests/html/semantics/document-metadata/the-style-element/style_scoped.html: Removed.
+        * web-platform-tests/html/semantics/document-metadata/the-style-element/w3c-import.log:
+        * web-platform-tests/html/semantics/embedded-content/media-elements/historical-expected.txt:
+        * web-platform-tests/html/semantics/embedded-content/media-elements/historical.html:
+        * web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/src-expected.txt:
+        * web-platform-tests/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/src.html:
+        * web-platform-tests/html/semantics/embedded-content/the-area-element/area-shape-expected.txt:
+        * web-platform-tests/html/semantics/embedded-content/the-area-element/area-shape.html:
+        * web-platform-tests/html/semantics/embedded-content/the-canvas-element/historical-expected.txt:
+        * web-platform-tests/html/semantics/embedded-content/the-canvas-element/historical.html:
+        * web-platform-tests/html/semantics/embedded-content/the-iframe-element/historical.html: Added.
+        * web-platform-tests/html/semantics/embedded-content/the-iframe-element/w3c-import.log:
+        * web-platform-tests/html/semantics/embedded-content/the-img-element/environment-changes/viewport-change-expected.txt:
+        * web-platform-tests/html/semantics/embedded-content/the-img-element/nonexistent-image.html: Added.
+        * web-platform-tests/html/semantics/embedded-content/the-img-element/w3c-import.log:
+        * web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity-expected.txt:
+        * web-platform-tests/html/semantics/forms/constraints/form-validation-checkValidity.html:
+        * web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity-expected.txt:
+        * web-platform-tests/html/semantics/forms/constraints/form-validation-reportValidity.html:
+        * web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow-expected.txt:
+        * web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeOverflow.html:
+        * web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow-expected.txt:
+        * web-platform-tests/html/semantics/forms/constraints/form-validation-validity-rangeUnderflow.html:
+        * web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch-expected.txt:
+        * web-platform-tests/html/semantics/forms/constraints/form-validation-validity-stepMismatch.html:
+        * web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt:
+        * web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid.html:
+        * web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt:
+        * web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing.html:
+        * web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt:
+        * web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate.html:
+        * web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:
+        * web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application.html:
+        * web-platform-tests/html/semantics/forms/the-input-element/cloning-steps.html: Added.
+        * web-platform-tests/html/semantics/forms/the-input-element/datetime-2-expected.txt: Removed.
+        * web-platform-tests/html/semantics/forms/the-input-element/datetime-2.html: Removed.
+        * web-platform-tests/html/semantics/forms/the-input-element/files-expected.txt:
+        * web-platform-tests/html/semantics/forms/the-input-element/files.html:
+        * web-platform-tests/html/semantics/forms/the-input-element/month-expected.txt:
+        * web-platform-tests/html/semantics/forms/the-input-element/month.html:
+        * web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
+        * web-platform-tests/html/semantics/forms/the-input-element/type-change-state.html:
+        * web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt:
+        * web-platform-tests/html/semantics/forms/the-input-element/valueMode.html:
+        * web-platform-tests/html/semantics/forms/the-input-element/w3c-import.log:
+        * web-platform-tests/html/semantics/forms/the-option-element/option-form.html: Added.
+        * web-platform-tests/html/semantics/forms/the-option-element/w3c-import.log:
+        * web-platform-tests/html/semantics/forms/the-textarea-element/cloning-steps.html:
+        * web-platform-tests/html/semantics/forms/the-textarea-element/w3c-import.log:
+        * web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1a-expected.html: Added.
+        * web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1a.html: Added.
+        * web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1b-expected.html: Added.
+        * web-platform-tests/html/semantics/forms/the-textarea-element/wrap-reflect-1b.html: Added.
+        * web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-close-expected.txt:
+        * web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-close.html:
+        * web-platform-tests/html/semantics/scripting-1/the-script-element/historical.html: Added.
+        * web-platform-tests/html/semantics/scripting-1/the-script-element/script-before-after-events-expected.txt: Removed.
+        * web-platform-tests/html/semantics/scripting-1/the-script-element/script-before-after-events.html: Removed.
+        * web-platform-tests/html/semantics/scripting-1/the-script-element/w3c-import.log:
+        * web-platform-tests/html/semantics/tabular-data/historical.html: Added.
+        * web-platform-tests/html/semantics/tabular-data/w3c-import.log:
+        * web-platform-tests/html/semantics/text-level-semantics/historical.html: Added.
+        * web-platform-tests/html/semantics/text-level-semantics/w3c-import.log: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents/w3c-import.log.
+        * web-platform-tests/html/syntax/parsing/foreign_content_001.html: Added.
+        * web-platform-tests/html/syntax/parsing/foreign_content_003.html: Added.
+        * web-platform-tests/html/syntax/parsing/foreign_content_004.html: Added.
+        * web-platform-tests/html/syntax/parsing/foreign_content_005.html: Added.
+        * web-platform-tests/html/syntax/parsing/foreign_content_006.html: Added.
+        * web-platform-tests/html/syntax/parsing/foreign_content_008.html: Added.
+        * web-platform-tests/html/syntax/parsing/foreign_content_009.html: Added.
+        * web-platform-tests/html/syntax/parsing/foreign_content_010.html: Added.
+        * web-platform-tests/html/syntax/parsing/foreign_content_013.html: Added.
+        * web-platform-tests/media-source/import_tests.sh:
+        * web-platform-tests/media-source/mediasource-append-buffer-expected.txt:
+        * web-platform-tests/media-source/mediasource-is-type-supported-expected.txt:
+        * web-platform-tests/media-source/mediasource-sourcebuffer-mode-expected.txt:
+        * web-platform-tests/media-source/mp4/w3c-import.log: Added.
+        * web-platform-tests/media-source/w3c-import.log: Added.
+        * web-platform-tests/media-source/webm/w3c-import.log: Added.
+        * web-platform-tests/resource-timing/idlharness-expected.txt: Added.
+        * web-platform-tests/resource-timing/idlharness.html: Added.
+        * web-platform-tests/resource-timing/resource-timing-expected.txt:
+        * web-platform-tests/resource-timing/resource-timing.js:
+        (window.onload):
+        * web-platform-tests/resource-timing/w3c-import.log:
+
 2016-09-21  Chris Dumez  <cdumez@apple.com>
 
         Fix serialization of bgsound, keygen and track elements
index c893181..b823fcf 100644 (file)
@@ -26,7 +26,7 @@ csswg-test/css-regions-1 [ Skip ]
 csswg-test/css-round-display [ Skip]
 csswg-test/css-ruby-1 [ Skip ]
 csswg-test/css-snap-size-1 [ Skip]
-#csswg-test/css-scoping1 [ Import ]
+#csswg-test/css-scoping1 [ Pass ]
 csswg-test/css-shapes-1 [ Skip ]
 csswg-test/css-speech-1 [ Skip ]
 csswg-test/css-style-attr-1 [ Skip ]
@@ -62,10 +62,10 @@ web-platform-tests/DOM-parsing [ Skip ]
 web-platform-tests/FileAPI [ Skip ]
 web-platform-tests/IndexedDB [ Skip ]
 web-platform-tests/WebCryptoAPI [ Skip ]
-#web-platform-tests/WebIDL [ Import ]
+#web-platform-tests/WebIDL [ Pass ]
 web-platform-tests/WebIDL/invalid [ Skip ]
 web-platform-tests/WebIDL/valid [ SKip ]
-#web-platform-tests/XMLHttpRequest [ Import ]
+#web-platform-tests/XMLHttpRequest [ Pass ]
 web-platform-tests/XMLHttpRequest/abort-after-stop.htm [ Skip ]
 web-platform-tests/XMLHttpRequest/event-error-order.sub.html [ Skip ]
 web-platform-tests/XMLHttpRequest/event-error.html [ Skip ]
@@ -96,7 +96,7 @@ web-platform-tests/cookies [Skip]
 web-platform-tests/cors [ Skip ]
 web-platform-tests/custom-elements [ Skip ]
 web-platform-tests/cssom-view [ Skip ]
-#web-platform-tests/dom [ Import ]
+#web-platform-tests/dom [ Pass ]
 web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.html [ Skip ]
 web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.svg [ Skip ]
 web-platform-tests/dom/nodes/Document-createElement-namespace-tests/empty.xhtml [ Skip ]
@@ -136,7 +136,7 @@ web-platform-tests/dom/nodes/Element-siblingElement-null.xhtml [ Skip ]
 web-platform-tests/dom/nodes/Node-nodeName.xhtml [ Skip ]
 web-platform-tests/dom/nodes/ParentNode-querySelector-All.xht [ Skip ]
 web-platform-tests/dom/traversal/unfinished [ Skip ]
-#web-platform-tests/domparsing [ Import ]
+#web-platform-tests/domparsing [ Pass ]
 web-platform-tests/generic-sensor [ Skip ]
 web-platform-tests/domparsing/DOMParser-parseFromString-xml.html [ Skip ]
 web-platform-tests/domparsing/XMLSerializer-serializeToString.html [ Skip ]
@@ -150,11 +150,12 @@ web-platform-tests/encoding [ Skip ]
 web-platform-tests/encrypted-media [ Skip ]
 web-platform-tests/eventsource [ Skip ]
 web-platform-tests/ext-xhtml-pubid [ Skip ]
-#web-platform-tests/fetch [ Import ]
+#web-platform-tests/fetch [ Pass ]
+web-platform-tests/fullscreen [ Skip ]
 web-platform-tests/geolocation-API [ Skip ]
 web-platform-tests/gamepad [ Skip ]
 web-platform-tests/hr-time [ Skip ]
-#web-platform-tests/html [ Import ]
+#web-platform-tests/html [ Pass ]
 web-platform-tests/html/browsers/browsing-the-web/history-traversal/browsing_context_name.html [ Skip ]
 web-platform-tests/html/browsers/browsing-the-web/history-traversal/browsing_context_name_cross_origin_2.html [ Skip ]
 web-platform-tests/html/browsers/browsing-the-web/history-traversal/browsing_context_name_cross_origin_3.html [ Skip ]
@@ -212,14 +213,10 @@ web-platform-tests/html/semantics/interactive-elements/the-details-element/toggl
 web-platform-tests/html/semantics/links/links-created-by-a-and-area-elements [ Skip ]
 web-platform-tests/html/semantics/scripting-1/the-script-element/script-for-event.xhtml [ Skip ]
 web-platform-tests/html/semantics/scripting-1/the-script-element/script-text.xhtml [ Skip ]
+web-platform-tests/html/semantics/text-level-semantics/the-data-element [ Skip ]
 web-platform-tests/html/the-xhtml-syntax [ Skip ]
-#web-platform-tests/html/syntax [ Import ]
-web-platform-tests/html/syntax/parsing [ Import ]
-web-platform-tests/html/syntax/parsing/template [ Pass ]
-web-platform-tests/html/syntax/parsing-html-fragments [ Skip ]
-web-platform-tests/html/syntax/serializing-html-fragments [ Skip ]
-web-platform-tests/html/syntax/serializing-xml-fragments [ Skip ]
-web-platform-tests/html/syntax/writing [ Skip ]
+web-platform-tests/html/the-xhtml-syntax/parsing-xhtml-documents [ Pass ]
+#web-platform-tests/html/syntax [ Pass ]
 web-platform-tests/html/tools [ Skip ]
 web-platform-tests/html/webappapis [ Skip ]
 web-platform-tests/html-imports [ Skip ]
@@ -246,7 +243,7 @@ web-platform-tests/progress-events [ Skip ]
 web-platform-tests/proximity [ Skip ]
 web-platform-tests/quirks-mode [ Skip ]
 web-platform-tests/referrer-policy [ Skip ]
-#web-platform-tests/resource-timing [ Import ]
+#web-platform-tests/resource-timing [ Pass ]
 web-platform-tests/screen-orientation [ Skip ]
 web-platform-tests/secure-contexts [ Skip ]
 web-platform-tests/selection [ Skip ]
@@ -260,7 +257,7 @@ web-platform-tests/testharness_runner.html [ Skip ]
 web-platform-tests/touch-events [ Skip ]
 web-platform-tests/typedarrays [ Skip ]
 web-platform-tests/uievents [ Skip ]
-#web-platform-tests/url [ Import ]
+#web-platform-tests/url [ Pass ]
 web-platform-tests/user-timing [ Skip ]
 web-platform-tests/vibration [ Skip ]
 web-platform-tests/wai-aria [ Skip ]
index 3b3f67b..0b94f53 100644 (file)
@@ -15,7 +15,7 @@
     {
         "name": "web-platform-tests",
         "url": "https://github.com/w3c/web-platform-tests.git", 
-        "revision": "5a011ca",
+        "revision": "3801ab5",
         "paths_to_skip": [
             "conformance-checkers",
             "docs",
index 0c15e4b..6186ea1 100644 (file)
         "web-platform-tests/tools"
     ],
     "files": [
-        "syntax/parsing-html-fragments/the-input-byte-stream-003.html",
-        "syntax/parsing-html-fragments/the-input-byte-stream-004.html",
-        "syntax/parsing/foreign_content_001.html",
-        "syntax/parsing/foreign_content_003.html",
-        "syntax/parsing/foreign_content_004.html",
-        "syntax/parsing/foreign_content_005.html",
-        "syntax/parsing/foreign_content_006.html",
-        "syntax/parsing/foreign_content_008.html",
-        "syntax/parsing/foreign_content_009.html",
-        "syntax/parsing/foreign_content_010.html",
-        "syntax/parsing/foreign_content_011.html",
-        "syntax/parsing/foreign_content_013.html",
         "web-platform-tests/XMLHttpRequest/xmlhttprequest-sync-block-defer-scripts-subframe.html",
         "web-platform-tests/XMLHttpRequest/xmlhttprequest-sync-not-hang-scriptloader-subframe.html",
         "web-platform-tests/dom/events/EventListener-incumbent-global-subframe-1.sub.html",
         "web-platform-tests/html/semantics/grouping-content/the-ol-element/reversed-1c.html",
         "web-platform-tests/html/semantics/scripting-1/the-script-element/script-not-executed-after-shutdown-child.html",
         "web-platform-tests/html/semantics/selectors/pseudo-classes/focus-iframe.html",
+        "web-platform-tests/html/syntax/parsing/foreign_content_001.html",
+        "web-platform-tests/html/syntax/parsing/foreign_content_003.html",
+        "web-platform-tests/html/syntax/parsing/foreign_content_004.html",
+        "web-platform-tests/html/syntax/parsing/foreign_content_005.html",
+        "web-platform-tests/html/syntax/parsing/foreign_content_006.html",
+        "web-platform-tests/html/syntax/parsing/foreign_content_008.html",
+        "web-platform-tests/html/syntax/parsing/foreign_content_009.html",
+        "web-platform-tests/html/syntax/parsing/foreign_content_010.html",
+        "web-platform-tests/html/syntax/parsing/foreign_content_011.html",
+        "web-platform-tests/html/syntax/parsing/foreign_content_013.html",
         "web-platform-tests/resource-timing/iframe-setdomain.sub.html"
     ]
-}
\ No newline at end of file
+}
index cd4f124..cc137fb 100644 (file)
@@ -28,8 +28,8 @@
         "path": [
             "tools"
         ], 
-        "url": "https://github.com/w3c/wpt-tools/archive/de4d6ebd746bbba215da537b3f35e00b6b674824.tar.gz", 
-        "url_subpath": "wpt-tools-de4d6ebd746bbba215da537b3f35e00b6b674824"
+        "url": "https://github.com/w3c/wpt-tools/archive/5402e7a450e6b78e0792c30ec264692ecc2a9f7f.tar.gz", 
+        "url_subpath": "wpt-tools-5402e7a450e6b78e0792c30ec264692ecc2a9f7f"
     }, 
     {
         "path": [
@@ -87,7 +87,7 @@
             "tools", 
             "wptserve"
         ], 
-        "url": "https://github.com/w3c/wptserve/archive/0d7fa61011154d2f16c3e06ef33279cbed1622ad.tar.gz", 
-        "url_subpath": "wptserve-0d7fa61011154d2f16c3e06ef33279cbed1622ad"
+        "url": "https://github.com/w3c/wptserve/archive/4432c5f0fd6ec732d898897148ff668a1ac1596f.tar.gz", 
+        "url_subpath": "wptserve-4432c5f0fd6ec732d898897148ff668a1ac1596f"
     }
 ]
\ No newline at end of file
index 835a8d6..c30c832 100644 (file)
@@ -1,9 +1,9 @@
 
 PASS XML document, windows-1252 
-PASS HTML document, shift-jis 
 PASS HTML document, invalid UTF-8 
-PASS img tag 
+PASS HTML document, shift-jis 
 PASS plain text file 
 PASS empty div 
+PASS img tag 
 PASS image file 
          
index 6ab1a86..31e40df 100644 (file)
@@ -4,7 +4,7 @@
     <title>XMLHttpRequest: setRequestHeader() - headers that are allowed</title>
     <script src="/resources/testharness.js"></script>
     <script src="/resources/testharnessreport.js"></script>
-    <link rel="help" href="https://xhr.spec.whatwg.org/#the-setrequestheader()-method" data-tested-assertations="/following::ol/li[6] /following::ol/li[7]" />  
+    <link rel="help" href="https://xhr.spec.whatwg.org/#the-setrequestheader()-method" data-tested-assertations="/following::ol/li[6] /following::ol/li[7]" />
   </head>
   <body>
     <div id="log"></div>
index 8f5cb74..f5a4121 100644 (file)
@@ -192,6 +192,7 @@ PASS Node interface: attribute nodeName
 PASS Node interface: attribute baseURI 
 PASS Node interface: attribute isConnected 
 PASS Node interface: attribute ownerDocument 
+FAIL Node interface: operation getRootNode(GetRootNodeOptions) assert_own_property: interface prototype object missing non-static operation expected property "getRootNode" missing
 PASS Node interface: attribute parentNode 
 PASS Node interface: attribute parentElement 
 PASS Node interface: operation hasChildNodes() 
@@ -348,46 +349,48 @@ PASS Node interface: new Document() must inherit property "nodeName" with the pr
 PASS Node interface: new Document() must inherit property "baseURI" with the proper type (14) 
 PASS Node interface: new Document() must inherit property "isConnected" with the proper type (15) 
 PASS Node interface: new Document() must inherit property "ownerDocument" with the proper type (16) 
-PASS Node interface: new Document() must inherit property "parentNode" with the proper type (17) 
-PASS Node interface: new Document() must inherit property "parentElement" with the proper type (18) 
-PASS Node interface: new Document() must inherit property "hasChildNodes" with the proper type (19) 
-PASS Node interface: new Document() must inherit property "childNodes" with the proper type (20) 
-PASS Node interface: new Document() must inherit property "firstChild" with the proper type (21) 
-PASS Node interface: new Document() must inherit property "lastChild" with the proper type (22) 
-PASS Node interface: new Document() must inherit property "previousSibling" with the proper type (23) 
-PASS Node interface: new Document() must inherit property "nextSibling" with the proper type (24) 
-PASS Node interface: new Document() must inherit property "nodeValue" with the proper type (25) 
-PASS Node interface: new Document() must inherit property "textContent" with the proper type (26) 
-PASS Node interface: new Document() must inherit property "normalize" with the proper type (27) 
-PASS Node interface: new Document() must inherit property "cloneNode" with the proper type (28) 
+FAIL Node interface: new Document() must inherit property "getRootNode" with the proper type (17) assert_inherits: property "getRootNode" not found in prototype chain
+FAIL Node interface: calling getRootNode(GetRootNodeOptions) on new Document() with too few arguments must throw TypeError assert_inherits: property "getRootNode" not found in prototype chain
+PASS Node interface: new Document() must inherit property "parentNode" with the proper type (18) 
+PASS Node interface: new Document() must inherit property "parentElement" with the proper type (19) 
+PASS Node interface: new Document() must inherit property "hasChildNodes" with the proper type (20) 
+PASS Node interface: new Document() must inherit property "childNodes" with the proper type (21) 
+PASS Node interface: new Document() must inherit property "firstChild" with the proper type (22) 
+PASS Node interface: new Document() must inherit property "lastChild" with the proper type (23) 
+PASS Node interface: new Document() must inherit property "previousSibling" with the proper type (24) 
+PASS Node interface: new Document() must inherit property "nextSibling" with the proper type (25) 
+PASS Node interface: new Document() must inherit property "nodeValue" with the proper type (26) 
+PASS Node interface: new Document() must inherit property "textContent" with the proper type (27) 
+PASS Node interface: new Document() must inherit property "normalize" with the proper type (28) 
+PASS Node interface: new Document() must inherit property "cloneNode" with the proper type (29) 
 PASS Node interface: calling cloneNode(boolean) on new Document() with too few arguments must throw TypeError 
-PASS Node interface: new Document() must inherit property "isEqualNode" with the proper type (29
+PASS Node interface: new Document() must inherit property "isEqualNode" with the proper type (30
 PASS Node interface: calling isEqualNode(Node) on new Document() with too few arguments must throw TypeError 
-PASS Node interface: new Document() must inherit property "isSameNode" with the proper type (30
+PASS Node interface: new Document() must inherit property "isSameNode" with the proper type (31
 PASS Node interface: calling isSameNode(Node) on new Document() with too few arguments must throw TypeError 
-PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (31
-PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (32
-PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (33
-PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (34
-PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (35
-PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (36
-PASS Node interface: new Document() must inherit property "compareDocumentPosition" with the proper type (37
+PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32
+PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33
+PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34
+PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35
+PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36
+PASS Node interface: new Document() must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37
+PASS Node interface: new Document() must inherit property "compareDocumentPosition" with the proper type (38
 PASS Node interface: calling compareDocumentPosition(Node) on new Document() with too few arguments must throw TypeError 
-PASS Node interface: new Document() must inherit property "contains" with the proper type (38
+PASS Node interface: new Document() must inherit property "contains" with the proper type (39
 PASS Node interface: calling contains(Node) on new Document() with too few arguments must throw TypeError 
-PASS Node interface: new Document() must inherit property "lookupPrefix" with the proper type (39
+PASS Node interface: new Document() must inherit property "lookupPrefix" with the proper type (40
 PASS Node interface: calling lookupPrefix(DOMString) on new Document() with too few arguments must throw TypeError 
-PASS Node interface: new Document() must inherit property "lookupNamespaceURI" with the proper type (40
+PASS Node interface: new Document() must inherit property "lookupNamespaceURI" with the proper type (41
 PASS Node interface: calling lookupNamespaceURI(DOMString) on new Document() with too few arguments must throw TypeError 
-PASS Node interface: new Document() must inherit property "isDefaultNamespace" with the proper type (41
+PASS Node interface: new Document() must inherit property "isDefaultNamespace" with the proper type (42
 PASS Node interface: calling isDefaultNamespace(DOMString) on new Document() with too few arguments must throw TypeError 
-PASS Node interface: new Document() must inherit property "insertBefore" with the proper type (42
+PASS Node interface: new Document() must inherit property "insertBefore" with the proper type (43
 PASS Node interface: calling insertBefore(Node,Node) on new Document() with too few arguments must throw TypeError 
-PASS Node interface: new Document() must inherit property "appendChild" with the proper type (43
+PASS Node interface: new Document() must inherit property "appendChild" with the proper type (44
 PASS Node interface: calling appendChild(Node) on new Document() with too few arguments must throw TypeError 
-PASS Node interface: new Document() must inherit property "replaceChild" with the proper type (44
+PASS Node interface: new Document() must inherit property "replaceChild" with the proper type (45
 PASS Node interface: calling replaceChild(Node,Node) on new Document() with too few arguments must throw TypeError 
-PASS Node interface: new Document() must inherit property "removeChild" with the proper type (45
+PASS Node interface: new Document() must inherit property "removeChild" with the proper type (46
 PASS Node interface: calling removeChild(Node) on new Document() with too few arguments must throw TypeError 
 PASS EventTarget interface: new Document() must inherit property "addEventListener" with the proper type (0) 
 PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on new Document() with too few arguments must throw TypeError 
@@ -478,46 +481,48 @@ PASS Node interface: xmlDoc must inherit property "nodeName" with the proper typ
 PASS Node interface: xmlDoc must inherit property "baseURI" with the proper type (14) 
 PASS Node interface: xmlDoc must inherit property "isConnected" with the proper type (15) 
 PASS Node interface: xmlDoc must inherit property "ownerDocument" with the proper type (16) 
-PASS Node interface: xmlDoc must inherit property "parentNode" with the proper type (17) 
-PASS Node interface: xmlDoc must inherit property "parentElement" with the proper type (18) 
-PASS Node interface: xmlDoc must inherit property "hasChildNodes" with the proper type (19) 
-PASS Node interface: xmlDoc must inherit property "childNodes" with the proper type (20) 
-PASS Node interface: xmlDoc must inherit property "firstChild" with the proper type (21) 
-PASS Node interface: xmlDoc must inherit property "lastChild" with the proper type (22) 
-PASS Node interface: xmlDoc must inherit property "previousSibling" with the proper type (23) 
-PASS Node interface: xmlDoc must inherit property "nextSibling" with the proper type (24) 
-PASS Node interface: xmlDoc must inherit property "nodeValue" with the proper type (25) 
-PASS Node interface: xmlDoc must inherit property "textContent" with the proper type (26) 
-PASS Node interface: xmlDoc must inherit property "normalize" with the proper type (27) 
-PASS Node interface: xmlDoc must inherit property "cloneNode" with the proper type (28) 
+FAIL Node interface: xmlDoc must inherit property "getRootNode" with the proper type (17) assert_inherits: property "getRootNode" not found in prototype chain
+FAIL Node interface: calling getRootNode(GetRootNodeOptions) on xmlDoc with too few arguments must throw TypeError assert_inherits: property "getRootNode" not found in prototype chain
+PASS Node interface: xmlDoc must inherit property "parentNode" with the proper type (18) 
+PASS Node interface: xmlDoc must inherit property "parentElement" with the proper type (19) 
+PASS Node interface: xmlDoc must inherit property "hasChildNodes" with the proper type (20) 
+PASS Node interface: xmlDoc must inherit property "childNodes" with the proper type (21) 
+PASS Node interface: xmlDoc must inherit property "firstChild" with the proper type (22) 
+PASS Node interface: xmlDoc must inherit property "lastChild" with the proper type (23) 
+PASS Node interface: xmlDoc must inherit property "previousSibling" with the proper type (24) 
+PASS Node interface: xmlDoc must inherit property "nextSibling" with the proper type (25) 
+PASS Node interface: xmlDoc must inherit property "nodeValue" with the proper type (26) 
+PASS Node interface: xmlDoc must inherit property "textContent" with the proper type (27) 
+PASS Node interface: xmlDoc must inherit property "normalize" with the proper type (28) 
+PASS Node interface: xmlDoc must inherit property "cloneNode" with the proper type (29) 
 PASS Node interface: calling cloneNode(boolean) on xmlDoc with too few arguments must throw TypeError 
-PASS Node interface: xmlDoc must inherit property "isEqualNode" with the proper type (29
+PASS Node interface: xmlDoc must inherit property "isEqualNode" with the proper type (30
 PASS Node interface: calling isEqualNode(Node) on xmlDoc with too few arguments must throw TypeError 
-PASS Node interface: xmlDoc must inherit property "isSameNode" with the proper type (30
+PASS Node interface: xmlDoc must inherit property "isSameNode" with the proper type (31
 PASS Node interface: calling isSameNode(Node) on xmlDoc with too few arguments must throw TypeError 
-PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (31
-PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (32
-PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (33
-PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (34
-PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (35
-PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (36
-PASS Node interface: xmlDoc must inherit property "compareDocumentPosition" with the proper type (37
+PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32
+PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33
+PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34
+PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35
+PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36
+PASS Node interface: xmlDoc must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37
+PASS Node interface: xmlDoc must inherit property "compareDocumentPosition" with the proper type (38
 PASS Node interface: calling compareDocumentPosition(Node) on xmlDoc with too few arguments must throw TypeError 
-PASS Node interface: xmlDoc must inherit property "contains" with the proper type (38
+PASS Node interface: xmlDoc must inherit property "contains" with the proper type (39
 PASS Node interface: calling contains(Node) on xmlDoc with too few arguments must throw TypeError 
-PASS Node interface: xmlDoc must inherit property "lookupPrefix" with the proper type (39
+PASS Node interface: xmlDoc must inherit property "lookupPrefix" with the proper type (40
 PASS Node interface: calling lookupPrefix(DOMString) on xmlDoc with too few arguments must throw TypeError 
-PASS Node interface: xmlDoc must inherit property "lookupNamespaceURI" with the proper type (40
+PASS Node interface: xmlDoc must inherit property "lookupNamespaceURI" with the proper type (41
 PASS Node interface: calling lookupNamespaceURI(DOMString) on xmlDoc with too few arguments must throw TypeError 
-PASS Node interface: xmlDoc must inherit property "isDefaultNamespace" with the proper type (41
+PASS Node interface: xmlDoc must inherit property "isDefaultNamespace" with the proper type (42
 PASS Node interface: calling isDefaultNamespace(DOMString) on xmlDoc with too few arguments must throw TypeError 
-PASS Node interface: xmlDoc must inherit property "insertBefore" with the proper type (42
+PASS Node interface: xmlDoc must inherit property "insertBefore" with the proper type (43
 PASS Node interface: calling insertBefore(Node,Node) on xmlDoc with too few arguments must throw TypeError 
-PASS Node interface: xmlDoc must inherit property "appendChild" with the proper type (43
+PASS Node interface: xmlDoc must inherit property "appendChild" with the proper type (44
 PASS Node interface: calling appendChild(Node) on xmlDoc with too few arguments must throw TypeError 
-PASS Node interface: xmlDoc must inherit property "replaceChild" with the proper type (44
+PASS Node interface: xmlDoc must inherit property "replaceChild" with the proper type (45
 PASS Node interface: calling replaceChild(Node,Node) on xmlDoc with too few arguments must throw TypeError 
-PASS Node interface: xmlDoc must inherit property "removeChild" with the proper type (45
+PASS Node interface: xmlDoc must inherit property "removeChild" with the proper type (46
 PASS Node interface: calling removeChild(Node) on xmlDoc with too few arguments must throw TypeError 
 PASS EventTarget interface: xmlDoc must inherit property "addEventListener" with the proper type (0) 
 PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on xmlDoc with too few arguments must throw TypeError 
@@ -584,46 +589,48 @@ PASS Node interface: document.doctype must inherit property "nodeName" with the
 PASS Node interface: document.doctype must inherit property "baseURI" with the proper type (14) 
 PASS Node interface: document.doctype must inherit property "isConnected" with the proper type (15) 
 PASS Node interface: document.doctype must inherit property "ownerDocument" with the proper type (16) 
-PASS Node interface: document.doctype must inherit property "parentNode" with the proper type (17) 
-PASS Node interface: document.doctype must inherit property "parentElement" with the proper type (18) 
-PASS Node interface: document.doctype must inherit property "hasChildNodes" with the proper type (19) 
-PASS Node interface: document.doctype must inherit property "childNodes" with the proper type (20) 
-PASS Node interface: document.doctype must inherit property "firstChild" with the proper type (21) 
-PASS Node interface: document.doctype must inherit property "lastChild" with the proper type (22) 
-PASS Node interface: document.doctype must inherit property "previousSibling" with the proper type (23) 
-PASS Node interface: document.doctype must inherit property "nextSibling" with the proper type (24) 
-PASS Node interface: document.doctype must inherit property "nodeValue" with the proper type (25) 
-PASS Node interface: document.doctype must inherit property "textContent" with the proper type (26) 
-PASS Node interface: document.doctype must inherit property "normalize" with the proper type (27) 
-PASS Node interface: document.doctype must inherit property "cloneNode" with the proper type (28) 
+FAIL Node interface: document.doctype must inherit property "getRootNode" with the proper type (17) assert_inherits: property "getRootNode" not found in prototype chain
+FAIL Node interface: calling getRootNode(GetRootNodeOptions) on document.doctype with too few arguments must throw TypeError assert_inherits: property "getRootNode" not found in prototype chain
+PASS Node interface: document.doctype must inherit property "parentNode" with the proper type (18) 
+PASS Node interface: document.doctype must inherit property "parentElement" with the proper type (19) 
+PASS Node interface: document.doctype must inherit property "hasChildNodes" with the proper type (20) 
+PASS Node interface: document.doctype must inherit property "childNodes" with the proper type (21) 
+PASS Node interface: document.doctype must inherit property "firstChild" with the proper type (22) 
+PASS Node interface: document.doctype must inherit property "lastChild" with the proper type (23) 
+PASS Node interface: document.doctype must inherit property "previousSibling" with the proper type (24) 
+PASS Node interface: document.doctype must inherit property "nextSibling" with the proper type (25) 
+PASS Node interface: document.doctype must inherit property "nodeValue" with the proper type (26) 
+PASS Node interface: document.doctype must inherit property "textContent" with the proper type (27) 
+PASS Node interface: document.doctype must inherit property "normalize" with the proper type (28) 
+PASS Node interface: document.doctype must inherit property "cloneNode" with the proper type (29) 
 PASS Node interface: calling cloneNode(boolean) on document.doctype with too few arguments must throw TypeError 
-PASS Node interface: document.doctype must inherit property "isEqualNode" with the proper type (29
+PASS Node interface: document.doctype must inherit property "isEqualNode" with the proper type (30
 PASS Node interface: calling isEqualNode(Node) on document.doctype with too few arguments must throw TypeError 
-PASS Node interface: document.doctype must inherit property "isSameNode" with the proper type (30
+PASS Node interface: document.doctype must inherit property "isSameNode" with the proper type (31
 PASS Node interface: calling isSameNode(Node) on document.doctype with too few arguments must throw TypeError 
-PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (31
-PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (32
-PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (33
-PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (34
-PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (35
-PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (36
-PASS Node interface: document.doctype must inherit property "compareDocumentPosition" with the proper type (37
+PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32
+PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33
+PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34
+PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35
+PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36
+PASS Node interface: document.doctype must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37
+PASS Node interface: document.doctype must inherit property "compareDocumentPosition" with the proper type (38
 PASS Node interface: calling compareDocumentPosition(Node) on document.doctype with too few arguments must throw TypeError 
-PASS Node interface: document.doctype must inherit property "contains" with the proper type (38
+PASS Node interface: document.doctype must inherit property "contains" with the proper type (39
 PASS Node interface: calling contains(Node) on document.doctype with too few arguments must throw TypeError 
-PASS Node interface: document.doctype must inherit property "lookupPrefix" with the proper type (39
+PASS Node interface: document.doctype must inherit property "lookupPrefix" with the proper type (40
 PASS Node interface: calling lookupPrefix(DOMString) on document.doctype with too few arguments must throw TypeError 
-PASS Node interface: document.doctype must inherit property "lookupNamespaceURI" with the proper type (40
+PASS Node interface: document.doctype must inherit property "lookupNamespaceURI" with the proper type (41
 PASS Node interface: calling lookupNamespaceURI(DOMString) on document.doctype with too few arguments must throw TypeError 
-PASS Node interface: document.doctype must inherit property "isDefaultNamespace" with the proper type (41
+PASS Node interface: document.doctype must inherit property "isDefaultNamespace" with the proper type (42
 PASS Node interface: calling isDefaultNamespace(DOMString) on document.doctype with too few arguments must throw TypeError 
-PASS Node interface: document.doctype must inherit property "insertBefore" with the proper type (42
+PASS Node interface: document.doctype must inherit property "insertBefore" with the proper type (43
 PASS Node interface: calling insertBefore(Node,Node) on document.doctype with too few arguments must throw TypeError 
-PASS Node interface: document.doctype must inherit property "appendChild" with the proper type (43
+PASS Node interface: document.doctype must inherit property "appendChild" with the proper type (44
 PASS Node interface: calling appendChild(Node) on document.doctype with too few arguments must throw TypeError 
-PASS Node interface: document.doctype must inherit property "replaceChild" with the proper type (44
+PASS Node interface: document.doctype must inherit property "replaceChild" with the proper type (45
 PASS Node interface: calling replaceChild(Node,Node) on document.doctype with too few arguments must throw TypeError 
-PASS Node interface: document.doctype must inherit property "removeChild" with the proper type (45
+PASS Node interface: document.doctype must inherit property "removeChild" with the proper type (46
 PASS Node interface: calling removeChild(Node) on document.doctype with too few arguments must throw TypeError 
 PASS EventTarget interface: document.doctype must inherit property "addEventListener" with the proper type (0) 
 PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on document.doctype with too few arguments must throw TypeError 
@@ -678,46 +685,48 @@ PASS Node interface: document.createDocumentFragment() must inherit property "no
 PASS Node interface: document.createDocumentFragment() must inherit property "baseURI" with the proper type (14) 
 PASS Node interface: document.createDocumentFragment() must inherit property "isConnected" with the proper type (15) 
 PASS Node interface: document.createDocumentFragment() must inherit property "ownerDocument" with the proper type (16) 
-PASS Node interface: document.createDocumentFragment() must inherit property "parentNode" with the proper type (17) 
-PASS Node interface: document.createDocumentFragment() must inherit property "parentElement" with the proper type (18) 
-PASS Node interface: document.createDocumentFragment() must inherit property "hasChildNodes" with the proper type (19) 
-PASS Node interface: document.createDocumentFragment() must inherit property "childNodes" with the proper type (20) 
-PASS Node interface: document.createDocumentFragment() must inherit property "firstChild" with the proper type (21) 
-PASS Node interface: document.createDocumentFragment() must inherit property "lastChild" with the proper type (22) 
-PASS Node interface: document.createDocumentFragment() must inherit property "previousSibling" with the proper type (23) 
-PASS Node interface: document.createDocumentFragment() must inherit property "nextSibling" with the proper type (24) 
-PASS Node interface: document.createDocumentFragment() must inherit property "nodeValue" with the proper type (25) 
-PASS Node interface: document.createDocumentFragment() must inherit property "textContent" with the proper type (26) 
-PASS Node interface: document.createDocumentFragment() must inherit property "normalize" with the proper type (27) 
-PASS Node interface: document.createDocumentFragment() must inherit property "cloneNode" with the proper type (28) 
+FAIL Node interface: document.createDocumentFragment() must inherit property "getRootNode" with the proper type (17) assert_inherits: property "getRootNode" not found in prototype chain
+FAIL Node interface: calling getRootNode(GetRootNodeOptions) on document.createDocumentFragment() with too few arguments must throw TypeError assert_inherits: property "getRootNode" not found in prototype chain
+PASS Node interface: document.createDocumentFragment() must inherit property "parentNode" with the proper type (18) 
+PASS Node interface: document.createDocumentFragment() must inherit property "parentElement" with the proper type (19) 
+PASS Node interface: document.createDocumentFragment() must inherit property "hasChildNodes" with the proper type (20) 
+PASS Node interface: document.createDocumentFragment() must inherit property "childNodes" with the proper type (21) 
+PASS Node interface: document.createDocumentFragment() must inherit property "firstChild" with the proper type (22) 
+PASS Node interface: document.createDocumentFragment() must inherit property "lastChild" with the proper type (23) 
+PASS Node interface: document.createDocumentFragment() must inherit property "previousSibling" with the proper type (24) 
+PASS Node interface: document.createDocumentFragment() must inherit property "nextSibling" with the proper type (25) 
+PASS Node interface: document.createDocumentFragment() must inherit property "nodeValue" with the proper type (26) 
+PASS Node interface: document.createDocumentFragment() must inherit property "textContent" with the proper type (27) 
+PASS Node interface: document.createDocumentFragment() must inherit property "normalize" with the proper type (28) 
+PASS Node interface: document.createDocumentFragment() must inherit property "cloneNode" with the proper type (29) 
 PASS Node interface: calling cloneNode(boolean) on document.createDocumentFragment() with too few arguments must throw TypeError 
-PASS Node interface: document.createDocumentFragment() must inherit property "isEqualNode" with the proper type (29
+PASS Node interface: document.createDocumentFragment() must inherit property "isEqualNode" with the proper type (30
 PASS Node interface: calling isEqualNode(Node) on document.createDocumentFragment() with too few arguments must throw TypeError 
-PASS Node interface: document.createDocumentFragment() must inherit property "isSameNode" with the proper type (30
+PASS Node interface: document.createDocumentFragment() must inherit property "isSameNode" with the proper type (31
 PASS Node interface: calling isSameNode(Node) on document.createDocumentFragment() with too few arguments must throw TypeError 
-PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (31
-PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (32
-PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (33
-PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (34
-PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (35
-PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (36
-PASS Node interface: document.createDocumentFragment() must inherit property "compareDocumentPosition" with the proper type (37
+PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32
+PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33
+PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34
+PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35
+PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36
+PASS Node interface: document.createDocumentFragment() must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37
+PASS Node interface: document.createDocumentFragment() must inherit property "compareDocumentPosition" with the proper type (38
 PASS Node interface: calling compareDocumentPosition(Node) on document.createDocumentFragment() with too few arguments must throw TypeError 
-PASS Node interface: document.createDocumentFragment() must inherit property "contains" with the proper type (38
+PASS Node interface: document.createDocumentFragment() must inherit property "contains" with the proper type (39
 PASS Node interface: calling contains(Node) on document.createDocumentFragment() with too few arguments must throw TypeError 
-PASS Node interface: document.createDocumentFragment() must inherit property "lookupPrefix" with the proper type (39
+PASS Node interface: document.createDocumentFragment() must inherit property "lookupPrefix" with the proper type (40
 PASS Node interface: calling lookupPrefix(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError 
-PASS Node interface: document.createDocumentFragment() must inherit property "lookupNamespaceURI" with the proper type (40
+PASS Node interface: document.createDocumentFragment() must inherit property "lookupNamespaceURI" with the proper type (41
 PASS Node interface: calling lookupNamespaceURI(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError 
-PASS Node interface: document.createDocumentFragment() must inherit property "isDefaultNamespace" with the proper type (41
+PASS Node interface: document.createDocumentFragment() must inherit property "isDefaultNamespace" with the proper type (42
 PASS Node interface: calling isDefaultNamespace(DOMString) on document.createDocumentFragment() with too few arguments must throw TypeError 
-PASS Node interface: document.createDocumentFragment() must inherit property "insertBefore" with the proper type (42
+PASS Node interface: document.createDocumentFragment() must inherit property "insertBefore" with the proper type (43
 PASS Node interface: calling insertBefore(Node,Node) on document.createDocumentFragment() with too few arguments must throw TypeError 
-PASS Node interface: document.createDocumentFragment() must inherit property "appendChild" with the proper type (43
+PASS Node interface: document.createDocumentFragment() must inherit property "appendChild" with the proper type (44
 PASS Node interface: calling appendChild(Node) on document.createDocumentFragment() with too few arguments must throw TypeError 
-PASS Node interface: document.createDocumentFragment() must inherit property "replaceChild" with the proper type (44
+PASS Node interface: document.createDocumentFragment() must inherit property "replaceChild" with the proper type (45
 PASS Node interface: calling replaceChild(Node,Node) on document.createDocumentFragment() with too few arguments must throw TypeError 
-PASS Node interface: document.createDocumentFragment() must inherit property "removeChild" with the proper type (45
+PASS Node interface: document.createDocumentFragment() must inherit property "removeChild" with the proper type (46
 PASS Node interface: calling removeChild(Node) on document.createDocumentFragment() with too few arguments must throw TypeError 
 PASS EventTarget interface: document.createDocumentFragment() must inherit property "addEventListener" with the proper type (0) 
 PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on document.createDocumentFragment() with too few arguments must throw TypeError 
@@ -883,46 +892,48 @@ PASS Node interface: element must inherit property "nodeName" with the proper ty
 PASS Node interface: element must inherit property "baseURI" with the proper type (14) 
 PASS Node interface: element must inherit property "isConnected" with the proper type (15) 
 PASS Node interface: element must inherit property "ownerDocument" with the proper type (16) 
-PASS Node interface: element must inherit property "parentNode" with the proper type (17) 
-PASS Node interface: element must inherit property "parentElement" with the proper type (18) 
-PASS Node interface: element must inherit property "hasChildNodes" with the proper type (19) 
-PASS Node interface: element must inherit property "childNodes" with the proper type (20) 
-PASS Node interface: element must inherit property "firstChild" with the proper type (21) 
-PASS Node interface: element must inherit property "lastChild" with the proper type (22) 
-PASS Node interface: element must inherit property "previousSibling" with the proper type (23) 
-PASS Node interface: element must inherit property "nextSibling" with the proper type (24) 
-PASS Node interface: element must inherit property "nodeValue" with the proper type (25) 
-PASS Node interface: element must inherit property "textContent" with the proper type (26) 
-PASS Node interface: element must inherit property "normalize" with the proper type (27) 
-PASS Node interface: element must inherit property "cloneNode" with the proper type (28) 
+FAIL Node interface: element must inherit property "getRootNode" with the proper type (17) assert_inherits: property "getRootNode" not found in prototype chain
+FAIL Node interface: calling getRootNode(GetRootNodeOptions) on element with too few arguments must throw TypeError assert_inherits: property "getRootNode" not found in prototype chain
+PASS Node interface: element must inherit property "parentNode" with the proper type (18) 
+PASS Node interface: element must inherit property "parentElement" with the proper type (19) 
+PASS Node interface: element must inherit property "hasChildNodes" with the proper type (20) 
+PASS Node interface: element must inherit property "childNodes" with the proper type (21) 
+PASS Node interface: element must inherit property "firstChild" with the proper type (22) 
+PASS Node interface: element must inherit property "lastChild" with the proper type (23) 
+PASS Node interface: element must inherit property "previousSibling" with the proper type (24) 
+PASS Node interface: element must inherit property "nextSibling" with the proper type (25) 
+PASS Node interface: element must inherit property "nodeValue" with the proper type (26) 
+PASS Node interface: element must inherit property "textContent" with the proper type (27) 
+PASS Node interface: element must inherit property "normalize" with the proper type (28) 
+PASS Node interface: element must inherit property "cloneNode" with the proper type (29) 
 PASS Node interface: calling cloneNode(boolean) on element with too few arguments must throw TypeError 
-PASS Node interface: element must inherit property "isEqualNode" with the proper type (29
+PASS Node interface: element must inherit property "isEqualNode" with the proper type (30
 PASS Node interface: calling isEqualNode(Node) on element with too few arguments must throw TypeError 
-PASS Node interface: element must inherit property "isSameNode" with the proper type (30
+PASS Node interface: element must inherit property "isSameNode" with the proper type (31
 PASS Node interface: calling isSameNode(Node) on element with too few arguments must throw TypeError 
-PASS Node interface: element must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (31
-PASS Node interface: element must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (32
-PASS Node interface: element must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (33
-PASS Node interface: element must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (34
-PASS Node interface: element must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (35
-PASS Node interface: element must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (36
-PASS Node interface: element must inherit property "compareDocumentPosition" with the proper type (37
+PASS Node interface: element must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32
+PASS Node interface: element must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33
+PASS Node interface: element must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34
+PASS Node interface: element must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35
+PASS Node interface: element must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36
+PASS Node interface: element must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37
+PASS Node interface: element must inherit property "compareDocumentPosition" with the proper type (38
 PASS Node interface: calling compareDocumentPosition(Node) on element with too few arguments must throw TypeError 
-PASS Node interface: element must inherit property "contains" with the proper type (38
+PASS Node interface: element must inherit property "contains" with the proper type (39
 PASS Node interface: calling contains(Node) on element with too few arguments must throw TypeError 
-PASS Node interface: element must inherit property "lookupPrefix" with the proper type (39
+PASS Node interface: element must inherit property "lookupPrefix" with the proper type (40
 PASS Node interface: calling lookupPrefix(DOMString) on element with too few arguments must throw TypeError 
-PASS Node interface: element must inherit property "lookupNamespaceURI" with the proper type (40
+PASS Node interface: element must inherit property "lookupNamespaceURI" with the proper type (41
 PASS Node interface: calling lookupNamespaceURI(DOMString) on element with too few arguments must throw TypeError 
-PASS Node interface: element must inherit property "isDefaultNamespace" with the proper type (41
+PASS Node interface: element must inherit property "isDefaultNamespace" with the proper type (42
 PASS Node interface: calling isDefaultNamespace(DOMString) on element with too few arguments must throw TypeError 
-PASS Node interface: element must inherit property "insertBefore" with the proper type (42
+PASS Node interface: element must inherit property "insertBefore" with the proper type (43
 PASS Node interface: calling insertBefore(Node,Node) on element with too few arguments must throw TypeError 
-PASS Node interface: element must inherit property "appendChild" with the proper type (43
+PASS Node interface: element must inherit property "appendChild" with the proper type (44
 PASS Node interface: calling appendChild(Node) on element with too few arguments must throw TypeError 
-PASS Node interface: element must inherit property "replaceChild" with the proper type (44
+PASS Node interface: element must inherit property "replaceChild" with the proper type (45
 PASS Node interface: calling replaceChild(Node,Node) on element with too few arguments must throw TypeError 
-PASS Node interface: element must inherit property "removeChild" with the proper type (45
+PASS Node interface: element must inherit property "removeChild" with the proper type (46
 PASS Node interface: calling removeChild(Node) on element with too few arguments must throw TypeError 
 PASS EventTarget interface: element must inherit property "addEventListener" with the proper type (0) 
 PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on element with too few arguments must throw TypeError 
@@ -981,46 +992,48 @@ PASS Node interface: document.querySelector("[id]").attributes[0] must inherit p
 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "baseURI" with the proper type (14) 
 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isConnected" with the proper type (15) 
 PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "ownerDocument" with the proper type (16) 
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "parentNode" with the proper type (17) 
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "parentElement" with the proper type (18) 
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "hasChildNodes" with the proper type (19) 
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "childNodes" with the proper type (20) 
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "firstChild" with the proper type (21) 
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "lastChild" with the proper type (22) 
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "previousSibling" with the proper type (23) 
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "nextSibling" with the proper type (24) 
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "nodeValue" with the proper type (25) 
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "textContent" with the proper type (26) 
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "normalize" with the proper type (27) 
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "cloneNode" with the proper type (28) 
+FAIL Node interface: document.querySelector("[id]").attributes[0] must inherit property "getRootNode" with the proper type (17) assert_inherits: property "getRootNode" not found in prototype chain
+FAIL Node interface: calling getRootNode(GetRootNodeOptions) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError assert_inherits: property "getRootNode" not found in prototype chain
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "parentNode" with the proper type (18) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "parentElement" with the proper type (19) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "hasChildNodes" with the proper type (20) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "childNodes" with the proper type (21) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "firstChild" with the proper type (22) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "lastChild" with the proper type (23) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "previousSibling" with the proper type (24) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "nextSibling" with the proper type (25) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "nodeValue" with the proper type (26) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "textContent" with the proper type (27) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "normalize" with the proper type (28) 
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "cloneNode" with the proper type (29) 
 PASS Node interface: calling cloneNode(boolean) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isEqualNode" with the proper type (29
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isEqualNode" with the proper type (30
 PASS Node interface: calling isEqualNode(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isSameNode" with the proper type (30
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isSameNode" with the proper type (31
 PASS Node interface: calling isSameNode(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (31
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (32
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (33
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (34
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (35
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (36
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "compareDocumentPosition" with the proper type (37
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "compareDocumentPosition" with the proper type (38
 PASS Node interface: calling compareDocumentPosition(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "contains" with the proper type (38
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "contains" with the proper type (39
 PASS Node interface: calling contains(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "lookupPrefix" with the proper type (39
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "lookupPrefix" with the proper type (40
 PASS Node interface: calling lookupPrefix(DOMString) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "lookupNamespaceURI" with the proper type (40
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "lookupNamespaceURI" with the proper type (41
 PASS Node interface: calling lookupNamespaceURI(DOMString) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isDefaultNamespace" with the proper type (41
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "isDefaultNamespace" with the proper type (42
 PASS Node interface: calling isDefaultNamespace(DOMString) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "insertBefore" with the proper type (42
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "insertBefore" with the proper type (43
 PASS Node interface: calling insertBefore(Node,Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "appendChild" with the proper type (43
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "appendChild" with the proper type (44
 PASS Node interface: calling appendChild(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "replaceChild" with the proper type (44
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "replaceChild" with the proper type (45
 PASS Node interface: calling replaceChild(Node,Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
-PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "removeChild" with the proper type (45
+PASS Node interface: document.querySelector("[id]").attributes[0] must inherit property "removeChild" with the proper type (46
 PASS Node interface: calling removeChild(Node) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
 PASS EventTarget interface: document.querySelector("[id]").attributes[0] must inherit property "addEventListener" with the proper type (0) 
 PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on document.querySelector("[id]").attributes[0] with too few arguments must throw TypeError 
@@ -1098,46 +1111,48 @@ PASS Node interface: document.createTextNode("abc") must inherit property "nodeN
 PASS Node interface: document.createTextNode("abc") must inherit property "baseURI" with the proper type (14) 
 PASS Node interface: document.createTextNode("abc") must inherit property "isConnected" with the proper type (15) 
 PASS Node interface: document.createTextNode("abc") must inherit property "ownerDocument" with the proper type (16) 
-PASS Node interface: document.createTextNode("abc") must inherit property "parentNode" with the proper type (17) 
-PASS Node interface: document.createTextNode("abc") must inherit property "parentElement" with the proper type (18) 
-PASS Node interface: document.createTextNode("abc") must inherit property "hasChildNodes" with the proper type (19) 
-PASS Node interface: document.createTextNode("abc") must inherit property "childNodes" with the proper type (20) 
-PASS Node interface: document.createTextNode("abc") must inherit property "firstChild" with the proper type (21) 
-PASS Node interface: document.createTextNode("abc") must inherit property "lastChild" with the proper type (22) 
-PASS Node interface: document.createTextNode("abc") must inherit property "previousSibling" with the proper type (23) 
-PASS Node interface: document.createTextNode("abc") must inherit property "nextSibling" with the proper type (24) 
-PASS Node interface: document.createTextNode("abc") must inherit property "nodeValue" with the proper type (25) 
-PASS Node interface: document.createTextNode("abc") must inherit property "textContent" with the proper type (26) 
-PASS Node interface: document.createTextNode("abc") must inherit property "normalize" with the proper type (27) 
-PASS Node interface: document.createTextNode("abc") must inherit property "cloneNode" with the proper type (28) 
+FAIL Node interface: document.createTextNode("abc") must inherit property "getRootNode" with the proper type (17) assert_inherits: property "getRootNode" not found in prototype chain
+FAIL Node interface: calling getRootNode(GetRootNodeOptions) on document.createTextNode("abc") with too few arguments must throw TypeError assert_inherits: property "getRootNode" not found in prototype chain
+PASS Node interface: document.createTextNode("abc") must inherit property "parentNode" with the proper type (18) 
+PASS Node interface: document.createTextNode("abc") must inherit property "parentElement" with the proper type (19) 
+PASS Node interface: document.createTextNode("abc") must inherit property "hasChildNodes" with the proper type (20) 
+PASS Node interface: document.createTextNode("abc") must inherit property "childNodes" with the proper type (21) 
+PASS Node interface: document.createTextNode("abc") must inherit property "firstChild" with the proper type (22) 
+PASS Node interface: document.createTextNode("abc") must inherit property "lastChild" with the proper type (23) 
+PASS Node interface: document.createTextNode("abc") must inherit property "previousSibling" with the proper type (24) 
+PASS Node interface: document.createTextNode("abc") must inherit property "nextSibling" with the proper type (25) 
+PASS Node interface: document.createTextNode("abc") must inherit property "nodeValue" with the proper type (26) 
+PASS Node interface: document.createTextNode("abc") must inherit property "textContent" with the proper type (27) 
+PASS Node interface: document.createTextNode("abc") must inherit property "normalize" with the proper type (28) 
+PASS Node interface: document.createTextNode("abc") must inherit property "cloneNode" with the proper type (29) 
 PASS Node interface: calling cloneNode(boolean) on document.createTextNode("abc") with too few arguments must throw TypeError 
-PASS Node interface: document.createTextNode("abc") must inherit property "isEqualNode" with the proper type (29
+PASS Node interface: document.createTextNode("abc") must inherit property "isEqualNode" with the proper type (30
 PASS Node interface: calling isEqualNode(Node) on document.createTextNode("abc") with too few arguments must throw TypeError 
-PASS Node interface: document.createTextNode("abc") must inherit property "isSameNode" with the proper type (30
+PASS Node interface: document.createTextNode("abc") must inherit property "isSameNode" with the proper type (31
 PASS Node interface: calling isSameNode(Node) on document.createTextNode("abc") with too few arguments must throw TypeError 
-PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (31
-PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (32
-PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (33
-PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (34
-PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (35
-PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (36
-PASS Node interface: document.createTextNode("abc") must inherit property "compareDocumentPosition" with the proper type (37
+PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32
+PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33
+PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34
+PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35
+PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36
+PASS Node interface: document.createTextNode("abc") must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37
+PASS Node interface: document.createTextNode("abc") must inherit property "compareDocumentPosition" with the proper type (38
 PASS Node interface: calling compareDocumentPosition(Node) on document.createTextNode("abc") with too few arguments must throw TypeError 
-PASS Node interface: document.createTextNode("abc") must inherit property "contains" with the proper type (38
+PASS Node interface: document.createTextNode("abc") must inherit property "contains" with the proper type (39
 PASS Node interface: calling contains(Node) on document.createTextNode("abc") with too few arguments must throw TypeError 
-PASS Node interface: document.createTextNode("abc") must inherit property "lookupPrefix" with the proper type (39
+PASS Node interface: document.createTextNode("abc") must inherit property "lookupPrefix" with the proper type (40
 PASS Node interface: calling lookupPrefix(DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError 
-PASS Node interface: document.createTextNode("abc") must inherit property "lookupNamespaceURI" with the proper type (40
+PASS Node interface: document.createTextNode("abc") must inherit property "lookupNamespaceURI" with the proper type (41
 PASS Node interface: calling lookupNamespaceURI(DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError 
-PASS Node interface: document.createTextNode("abc") must inherit property "isDefaultNamespace" with the proper type (41
+PASS Node interface: document.createTextNode("abc") must inherit property "isDefaultNamespace" with the proper type (42
 PASS Node interface: calling isDefaultNamespace(DOMString) on document.createTextNode("abc") with too few arguments must throw TypeError 
-PASS Node interface: document.createTextNode("abc") must inherit property "insertBefore" with the proper type (42
+PASS Node interface: document.createTextNode("abc") must inherit property "insertBefore" with the proper type (43
 PASS Node interface: calling insertBefore(Node,Node) on document.createTextNode("abc") with too few arguments must throw TypeError 
-PASS Node interface: document.createTextNode("abc") must inherit property "appendChild" with the proper type (43
+PASS Node interface: document.createTextNode("abc") must inherit property "appendChild" with the proper type (44
 PASS Node interface: calling appendChild(Node) on document.createTextNode("abc") with too few arguments must throw TypeError 
-PASS Node interface: document.createTextNode("abc") must inherit property "replaceChild" with the proper type (44
+PASS Node interface: document.createTextNode("abc") must inherit property "replaceChild" with the proper type (45
 PASS Node interface: calling replaceChild(Node,Node) on document.createTextNode("abc") with too few arguments must throw TypeError 
-PASS Node interface: document.createTextNode("abc") must inherit property "removeChild" with the proper type (45
+PASS Node interface: document.createTextNode("abc") must inherit property "removeChild" with the proper type (46
 PASS Node interface: calling removeChild(Node) on document.createTextNode("abc") with too few arguments must throw TypeError 
 PASS EventTarget interface: document.createTextNode("abc") must inherit property "addEventListener" with the proper type (0) 
 PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on document.createTextNode("abc") with too few arguments must throw TypeError 
@@ -1197,46 +1212,48 @@ PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inher
 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "baseURI" with the proper type (14) 
 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isConnected" with the proper type (15) 
 PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "ownerDocument" with the proper type (16) 
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "parentNode" with the proper type (17) 
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "parentElement" with the proper type (18) 
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "hasChildNodes" with the proper type (19) 
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "childNodes" with the proper type (20) 
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "firstChild" with the proper type (21) 
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "lastChild" with the proper type (22) 
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "previousSibling" with the proper type (23) 
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nextSibling" with the proper type (24) 
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nodeValue" with the proper type (25) 
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "textContent" with the proper type (26) 
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "normalize" with the proper type (27) 
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "cloneNode" with the proper type (28) 
+FAIL Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "getRootNode" with the proper type (17) assert_inherits: property "getRootNode" not found in prototype chain
+FAIL Node interface: calling getRootNode(GetRootNodeOptions) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError assert_inherits: property "getRootNode" not found in prototype chain
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "parentNode" with the proper type (18) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "parentElement" with the proper type (19) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "hasChildNodes" with the proper type (20) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "childNodes" with the proper type (21) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "firstChild" with the proper type (22) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "lastChild" with the proper type (23) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "previousSibling" with the proper type (24) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nextSibling" with the proper type (25) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "nodeValue" with the proper type (26) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "textContent" with the proper type (27) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "normalize" with the proper type (28) 
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "cloneNode" with the proper type (29) 
 PASS Node interface: calling cloneNode(boolean) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isEqualNode" with the proper type (29
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isEqualNode" with the proper type (30
 PASS Node interface: calling isEqualNode(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isSameNode" with the proper type (30
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isSameNode" with the proper type (31
 PASS Node interface: calling isSameNode(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (31
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (32
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (33
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (34
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (35
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (36
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "compareDocumentPosition" with the proper type (37
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "compareDocumentPosition" with the proper type (38
 PASS Node interface: calling compareDocumentPosition(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "contains" with the proper type (38
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "contains" with the proper type (39
 PASS Node interface: calling contains(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "lookupPrefix" with the proper type (39
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "lookupPrefix" with the proper type (40
 PASS Node interface: calling lookupPrefix(DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "lookupNamespaceURI" with the proper type (40
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "lookupNamespaceURI" with the proper type (41
 PASS Node interface: calling lookupNamespaceURI(DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isDefaultNamespace" with the proper type (41
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "isDefaultNamespace" with the proper type (42
 PASS Node interface: calling isDefaultNamespace(DOMString) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "insertBefore" with the proper type (42
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "insertBefore" with the proper type (43
 PASS Node interface: calling insertBefore(Node,Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "appendChild" with the proper type (43
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "appendChild" with the proper type (44
 PASS Node interface: calling appendChild(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "replaceChild" with the proper type (44
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "replaceChild" with the proper type (45
 PASS Node interface: calling replaceChild(Node,Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
-PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "removeChild" with the proper type (45
+PASS Node interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "removeChild" with the proper type (46
 PASS Node interface: calling removeChild(Node) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
 PASS EventTarget interface: xmlDoc.createProcessingInstruction("abc", "def") must inherit property "addEventListener" with the proper type (0) 
 PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on xmlDoc.createProcessingInstruction("abc", "def") with too few arguments must throw TypeError 
@@ -1289,46 +1306,48 @@ PASS Node interface: document.createComment("abc") must inherit property "nodeNa
 PASS Node interface: document.createComment("abc") must inherit property "baseURI" with the proper type (14) 
 PASS Node interface: document.createComment("abc") must inherit property "isConnected" with the proper type (15) 
 PASS Node interface: document.createComment("abc") must inherit property "ownerDocument" with the proper type (16) 
-PASS Node interface: document.createComment("abc") must inherit property "parentNode" with the proper type (17) 
-PASS Node interface: document.createComment("abc") must inherit property "parentElement" with the proper type (18) 
-PASS Node interface: document.createComment("abc") must inherit property "hasChildNodes" with the proper type (19) 
-PASS Node interface: document.createComment("abc") must inherit property "childNodes" with the proper type (20) 
-PASS Node interface: document.createComment("abc") must inherit property "firstChild" with the proper type (21) 
-PASS Node interface: document.createComment("abc") must inherit property "lastChild" with the proper type (22) 
-PASS Node interface: document.createComment("abc") must inherit property "previousSibling" with the proper type (23) 
-PASS Node interface: document.createComment("abc") must inherit property "nextSibling" with the proper type (24) 
-PASS Node interface: document.createComment("abc") must inherit property "nodeValue" with the proper type (25) 
-PASS Node interface: document.createComment("abc") must inherit property "textContent" with the proper type (26) 
-PASS Node interface: document.createComment("abc") must inherit property "normalize" with the proper type (27) 
-PASS Node interface: document.createComment("abc") must inherit property "cloneNode" with the proper type (28) 
+FAIL Node interface: document.createComment("abc") must inherit property "getRootNode" with the proper type (17) assert_inherits: property "getRootNode" not found in prototype chain
+FAIL Node interface: calling getRootNode(GetRootNodeOptions) on document.createComment("abc") with too few arguments must throw TypeError assert_inherits: property "getRootNode" not found in prototype chain
+PASS Node interface: document.createComment("abc") must inherit property "parentNode" with the proper type (18) 
+PASS Node interface: document.createComment("abc") must inherit property "parentElement" with the proper type (19) 
+PASS Node interface: document.createComment("abc") must inherit property "hasChildNodes" with the proper type (20) 
+PASS Node interface: document.createComment("abc") must inherit property "childNodes" with the proper type (21) 
+PASS Node interface: document.createComment("abc") must inherit property "firstChild" with the proper type (22) 
+PASS Node interface: document.createComment("abc") must inherit property "lastChild" with the proper type (23) 
+PASS Node interface: document.createComment("abc") must inherit property "previousSibling" with the proper type (24) 
+PASS Node interface: document.createComment("abc") must inherit property "nextSibling" with the proper type (25) 
+PASS Node interface: document.createComment("abc") must inherit property "nodeValue" with the proper type (26) 
+PASS Node interface: document.createComment("abc") must inherit property "textContent" with the proper type (27) 
+PASS Node interface: document.createComment("abc") must inherit property "normalize" with the proper type (28) 
+PASS Node interface: document.createComment("abc") must inherit property "cloneNode" with the proper type (29) 
 PASS Node interface: calling cloneNode(boolean) on document.createComment("abc") with too few arguments must throw TypeError 
-PASS Node interface: document.createComment("abc") must inherit property "isEqualNode" with the proper type (29
+PASS Node interface: document.createComment("abc") must inherit property "isEqualNode" with the proper type (30
 PASS Node interface: calling isEqualNode(Node) on document.createComment("abc") with too few arguments must throw TypeError 
-PASS Node interface: document.createComment("abc") must inherit property "isSameNode" with the proper type (30
+PASS Node interface: document.createComment("abc") must inherit property "isSameNode" with the proper type (31
 PASS Node interface: calling isSameNode(Node) on document.createComment("abc") with too few arguments must throw TypeError 
-PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (31
-PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (32
-PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (33
-PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (34
-PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (35
-PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (36
-PASS Node interface: document.createComment("abc") must inherit property "compareDocumentPosition" with the proper type (37
+PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_DISCONNECTED" with the proper type (32
+PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_PRECEDING" with the proper type (33
+PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_FOLLOWING" with the proper type (34
+PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_CONTAINS" with the proper type (35
+PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_CONTAINED_BY" with the proper type (36
+PASS Node interface: document.createComment("abc") must inherit property "DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC" with the proper type (37
+PASS Node interface: document.createComment("abc") must inherit property "compareDocumentPosition" with the proper type (38
 PASS Node interface: calling compareDocumentPosition(Node) on document.createComment("abc") with too few arguments must throw TypeError 
-PASS Node interface: document.createComment("abc") must inherit property "contains" with the proper type (38
+PASS Node interface: document.createComment("abc") must inherit property "contains" with the proper type (39
 PASS Node interface: calling contains(Node) on document.createComment("abc") with too few arguments must throw TypeError 
-PASS Node interface: document.createComment("abc") must inherit property "lookupPrefix" with the proper type (39
+PASS Node interface: document.createComment("abc") must inherit property "lookupPrefix" with the proper type (40
 PASS Node interface: calling lookupPrefix(DOMString) on document.createComment("abc") with too few arguments must throw TypeError 
-PASS Node interface: document.createComment("abc") must inherit property "lookupNamespaceURI" with the proper type (40
+PASS Node interface: document.createComment("abc") must inherit property "lookupNamespaceURI" with the proper type (41
 PASS Node interface: calling lookupNamespaceURI(DOMString) on document.createComment("abc") with too few arguments must throw TypeError 
-PASS Node interface: document.createComment("abc") must inherit property "isDefaultNamespace" with the proper type (41
+PASS Node interface: document.createComment("abc") must inherit property "isDefaultNamespace" with the proper type (42
 PASS Node interface: calling isDefaultNamespace(DOMString) on document.createComment("abc") with too few arguments must throw TypeError 
-PASS Node interface: document.createComment("abc") must inherit property "insertBefore" with the proper type (42
+PASS Node interface: document.createComment("abc") must inherit property "insertBefore" with the proper type (43
 PASS Node interface: calling insertBefore(Node,Node) on document.createComment("abc") with too few arguments must throw TypeError 
-PASS Node interface: document.createComment("abc") must inherit property "appendChild" with the proper type (43
+PASS Node interface: document.createComment("abc") must inherit property "appendChild" with the proper type (44
 PASS Node interface: calling appendChild(Node) on document.createComment("abc") with too few arguments must throw TypeError 
-PASS Node interface: document.createComment("abc") must inherit property "replaceChild" with the proper type (44
+PASS Node interface: document.createComment("abc") must inherit property "replaceChild" with the proper type (45
 PASS Node interface: calling replaceChild(Node,Node) on document.createComment("abc") with too few arguments must throw TypeError 
-PASS Node interface: document.createComment("abc") must inherit property "removeChild" with the proper type (45
+PASS Node interface: document.createComment("abc") must inherit property "removeChild" with the proper type (46
 PASS Node interface: calling removeChild(Node) on document.createComment("abc") with too few arguments must throw TypeError 
 PASS EventTarget interface: document.createComment("abc") must inherit property "addEventListener" with the proper type (0) 
 PASS EventTarget interface: calling addEventListener(DOMString,EventListener,[object Object],[object Object]) on document.createComment("abc") with too few arguments must throw TypeError 
index 529c44c..618eca1 100644 (file)
@@ -212,6 +212,7 @@ interface Node : EventTarget {
 
   readonly attribute boolean isConnected;
   readonly attribute Document? ownerDocument;
+  Node getRootNode(optional GetRootNodeOptions options);
   readonly attribute Node? parentNode;
   readonly attribute Element? parentElement;
   boolean hasChildNodes();
@@ -248,6 +249,9 @@ interface Node : EventTarget {
   Node removeChild(Node child);
 };
 
+dictionary GetRootNodeOptions {
+  boolean composed = false;
+};
 
 [Constructor,
  Exposed=Window]
index a59a0a2..9b1f391 100644 (file)
@@ -229,6 +229,8 @@ PASS WHEELEVENT should be an alias for WheelEvent.
 PASS createEvent('WHEELEVENT') should be initialized correctly. 
 PASS Should throw NOT_SUPPORTED_ERR for pluralized legacy event interface "WheelEvents" 
 PASS Should throw NOT_SUPPORTED_ERR for unrecognized arguments 
+PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "AnimationPlaybackEvent" 
+PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "AnimationPlaybackEvents" 
 PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "AnimationPlayerEvent" 
 PASS Should throw NOT_SUPPORTED_ERR for pluralized non-legacy event interface "AnimationPlayerEvents" 
 PASS Should throw NOT_SUPPORTED_ERR for non-legacy event interface "ApplicationCacheErrorEvent" 
index 805e1fe..29a2c01 100644 (file)
@@ -72,6 +72,7 @@ test(function() {
  * interfaces that it is known some UA does or did not throw for.
  */
 var someNonCreateableEvents = [
+  "AnimationPlaybackEvent",
   "AnimationPlayerEvent",
   "ApplicationCacheErrorEvent",
   "AudioProcessingEvent",
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/NodeList-Iterable-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/NodeList-Iterable-expected.txt
new file mode 100644 (file)
index 0000000..9d89653
--- /dev/null
@@ -0,0 +1,8 @@
+
+PASS NodeList has length method. 
+PASS NodeList has values method. 
+PASS NodeList has entries method. 
+PASS NodeList has forEach method. 
+PASS NodeList has Symbol.iterator. 
+PASS NodeList is iterable via for-of loop. 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/NodeList-Iterable.html b/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/NodeList-Iterable.html
new file mode 100644 (file)
index 0000000..e1349cd
--- /dev/null
@@ -0,0 +1,37 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>NodeList Iterable Test</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+    <p id="1"></p>
+    <p id="2"></p>
+    <p id="3"></p>
+    <p id="4"></p>
+    <p id="5"></p>
+<script>
+    var paragraphs;
+    setup(function() {
+        paragraphs = document.querySelectorAll('p');
+    })
+    test(function() {
+        assert_true('length' in paragraphs);
+    }, 'NodeList has length method.');
+    test(function() {
+        assert_true('values' in paragraphs);
+    }, 'NodeList has values method.');
+    test(function() {
+        assert_true('entries' in paragraphs);
+    }, 'NodeList has entries method.');
+    test(function() {
+        assert_true('forEach' in paragraphs);
+    }, 'NodeList has forEach method.');
+    test(function() {
+        assert_true(Symbol.iterator in paragraphs);
+    }, 'NodeList has Symbol.iterator.');
+    test(function() {
+        var ids = "12345", idx=0;
+        for(var node of paragraphs){
+            assert_equals(node.getAttribute('id'), ids[idx++]);
+        }
+    }, 'NodeList is iterable via for-of loop.');
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/rootNode-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/rootNode-expected.txt
new file mode 100644 (file)
index 0000000..bad9e62
--- /dev/null
@@ -0,0 +1,6 @@
+
+FAIL getRootNode() must return the context object when it does not have any parent element.getRootNode is not a function. (In 'element.getRootNode()', 'element.getRootNode' is undefined)
+FAIL getRootNode() must return the parent node of the context object when the context object has a single ancestor not in a document element.getRootNode is not a function. (In 'element.getRootNode()', 'element.getRootNode' is undefined)
+FAIL getRootNode() must return the document when a node is in document element.getRootNode is not a function. (In 'element.getRootNode()', 'element.getRootNode' is undefined)
+FAIL getRootNode() must return a document fragment when a node is in the fragment element.getRootNode is not a function. (In 'element.getRootNode()', 'element.getRootNode' is undefined)
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/rootNode.html b/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/rootNode.html
new file mode 100644 (file)
index 0000000..66343e7
--- /dev/null
@@ -0,0 +1,82 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta charset=utf-8>
+<title>Node.prototype.getRootNode()</title>
+<link rel="help" href="https://dom.spec.whatwg.org/#dom-node-getrootnode">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+</head>
+<body>
+<script>
+
+test(function () {
+    var element = document.createElement('div');
+    assert_equals(element.getRootNode(), element, 'getRootNode() on an element without a parent must return the element itself');
+
+    var text = document.createTextNode('');
+    assert_equals(text.getRootNode(), text, 'getRootNode() on a text node without a parent must return the text node itself');
+
+    var processingInstruction = document.createProcessingInstruction('target', 'data');
+    assert_equals(processingInstruction.getRootNode(), processingInstruction, 'getRootNode() on a processing instruction node without a parent must return the processing instruction node itself');
+
+    assert_equals(document.getRootNode(), document, 'getRootNode() on a document node must return the document itself');
+
+}, 'getRootNode() must return the context object when it does not have any parent');
+
+test(function () {
+    var parent = document.createElement('div');
+
+    var element = document.createElement('div');
+    parent.appendChild(element);
+    assert_equals(element.getRootNode(), parent, 'getRootNode() on an element with a single ancestor must return the parent node');
+
+    var text = document.createTextNode('');
+    parent.appendChild(text);
+    assert_equals(text.getRootNode(), parent, 'getRootNode() on a text node with a single ancestor must return the parent node');
+
+    var processingInstruction = document.createProcessingInstruction('target', 'data');
+    parent.appendChild(processingInstruction)
+    assert_equals(processingInstruction.getRootNode(), parent, 'getRootNode() on a processing instruction node with a single ancestor must return the parent node');
+
+}, 'getRootNode() must return the parent node of the context object when the context object has a single ancestor not in a document');
+
+test(function () {
+    var parent = document.createElement('div');
+    document.body.appendChild(parent);
+
+    var element = document.createElement('div');
+    parent.appendChild(element);
+    assert_equals(element.getRootNode(), document, 'getRootNode() on an element inside a document must return the document');
+
+    var text = document.createTextNode('');
+    parent.appendChild(text);
+    assert_equals(text.getRootNode(), document, 'getRootNode() on a text node inside a document must return the document');
+
+    var processingInstruction = document.createProcessingInstruction('target', 'data');
+    parent.appendChild(processingInstruction)
+    assert_equals(processingInstruction.getRootNode(), document, 'getRootNode() on a processing instruction node inside a document must return the document');
+}, 'getRootNode() must return the document when a node is in document');
+
+test(function () {
+    var fragment = document.createDocumentFragment();
+    var parent = document.createElement('div');
+    fragment.appendChild(parent);
+
+    var element = document.createElement('div');
+    parent.appendChild(element);
+    assert_equals(element.getRootNode(), fragment, 'getRootNode() on an element inside a document fragment must return the fragment');
+
+    var text = document.createTextNode('');
+    parent.appendChild(text);
+    assert_equals(text.getRootNode(), fragment, 'getRootNode() on a text node inside a document fragment must return the fragment');
+
+    var processingInstruction = document.createProcessingInstruction('target', 'data');
+    parent.appendChild(processingInstruction)
+    assert_equals(processingInstruction.getRootNode(), fragment,
+        'getRootNode() on a processing instruction node inside a document fragment must return the fragment');
+}, 'getRootNode() must return a document fragment when a node is in the fragment');
+
+</script>
+</body>
+</html>
index a7dec0f..0c823ee 100644 (file)
@@ -139,6 +139,7 @@ List of files:
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-removeChild.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-replaceChild.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/Node-textContent.html
+/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/NodeList-Iterable.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/ParentNode-append.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/ParentNode-prepend.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/ParentNode-querySelector-All-content.html
@@ -195,4 +196,5 @@ List of files:
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/prepend-on-Document.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/productions.js
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/remove-unscopable.html
+/LayoutTests/imported/w3c/web-platform-tests/dom/nodes/rootNode.html
 /LayoutTests/imported/w3c/web-platform-tests/dom/nodes/selectors.js
index 3e80d35..caa688c 100644 (file)
@@ -1,9 +1,14 @@
 CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
+CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
+CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
+CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
+CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
+CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
 
-PASS 3 origins allowed, match the 3rd (http://localhost:8800) 
-PASS 3 origins allowed, match the 3rd ("*") 
-PASS 3 origins allowed, match twice (http://localhost:8800) 
-PASS 3 origins allowed, match twice ("*") 
-PASS 3 origins allowed, match twice ("*" and http://localhost:8800) 
+FAIL 3 origins allowed, match the 3rd (http://localhost:8800) promise_test: Unhandled rejection with value: object "TypeError: Type error"
+FAIL 3 origins allowed, match the 3rd ("*") promise_test: Unhandled rejection with value: object "TypeError: Type error"
+FAIL 3 origins allowed, match twice (http://localhost:8800) promise_test: Unhandled rejection with value: object "TypeError: Type error"
+FAIL 3 origins allowed, match twice ("*") promise_test: Unhandled rejection with value: object "TypeError: Type error"
+FAIL 3 origins allowed, match twice ("*" and http://localhost:8800) promise_test: Unhandled rejection with value: object "TypeError: Type error"
 PASS 3 origins allowed, no match 
 
index 3e80d35..caa688c 100644 (file)
@@ -1,9 +1,14 @@
 CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
+CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
+CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
+CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
+CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
+CONSOLE MESSAGE: Origin http://localhost:8800 is not allowed by Access-Control-Allow-Origin.
 
-PASS 3 origins allowed, match the 3rd (http://localhost:8800) 
-PASS 3 origins allowed, match the 3rd ("*") 
-PASS 3 origins allowed, match twice (http://localhost:8800) 
-PASS 3 origins allowed, match twice ("*") 
-PASS 3 origins allowed, match twice ("*" and http://localhost:8800) 
+FAIL 3 origins allowed, match the 3rd (http://localhost:8800) promise_test: Unhandled rejection with value: object "TypeError: Type error"
+FAIL 3 origins allowed, match the 3rd ("*") promise_test: Unhandled rejection with value: object "TypeError: Type error"
+FAIL 3 origins allowed, match twice (http://localhost:8800) promise_test: Unhandled rejection with value: object "TypeError: Type error"
+FAIL 3 origins allowed, match twice ("*") promise_test: Unhandled rejection with value: object "TypeError: Type error"
+FAIL 3 origins allowed, match twice ("*" and http://localhost:8800) promise_test: Unhandled rejection with value: object "TypeError: Type error"
 PASS 3 origins allowed, no match 
 
index 01e8c24..3df71c8 100644 (file)
@@ -1,12 +1,12 @@
 
-PASS Referrer policy: no-referrer ('myreferrer' referrer) 
-PASS Referrer policy: no-referrer (default referrer) 
-PASS Referrer policy: "" ('myreferrer' referrer) 
-PASS Referrer policy: "" (default referrer) 
-PASS Referrer policy: origin ('myreferrer' referrer) 
-PASS Referrer policy: origin (default referrer) 
-PASS Referrer policy: origin-when-cross-origin ('myreferrer' referrer) 
-PASS Referrer policy: origin-when-cross-origin (default referrer) 
-PASS Referrer policy: unsafe-url ('myreferrer' referrer) 
-PASS Referrer policy: unsafe-url (default referrer) 
+PASS Referrer policy: no-referrer and referrer: default 
+PASS Referrer policy: no-referrer and referrer: 'myreferrer' 
+PASS Referrer policy: "" and referrer: default 
+PASS Referrer policy: "" and referrer: 'myreferrer' 
+PASS Referrer policy: origin and referrer: default 
+PASS Referrer policy: origin and referrer: 'myreferrer' 
+PASS Referrer policy: origin-when-cross-origin and referrer: default 
+PASS Referrer policy: origin-when-cross-origin and referrer: 'myreferrer' 
+PASS Referrer policy: unsafe-url and referrer: default 
+PASS Referrer policy: unsafe-url and referrer: 'myreferrer' 
 
index 01e8c24..3df71c8 100644 (file)
@@ -1,12 +1,12 @@
 
-PASS Referrer policy: no-referrer ('myreferrer' referrer) 
-PASS Referrer policy: no-referrer (default referrer) 
-PASS Referrer policy: "" ('myreferrer' referrer) 
-PASS Referrer policy: "" (default referrer) 
-PASS Referrer policy: origin ('myreferrer' referrer) 
-PASS Referrer policy: origin (default referrer) 
-PASS Referrer policy: origin-when-cross-origin ('myreferrer' referrer) 
-PASS Referrer policy: origin-when-cross-origin (default referrer) 
-PASS Referrer policy: unsafe-url ('myreferrer' referrer) 
-PASS Referrer policy: unsafe-url (default referrer) 
+PASS Referrer policy: no-referrer and referrer: default 
+PASS Referrer policy: no-referrer and referrer: 'myreferrer' 
+PASS Referrer policy: "" and referrer: default 
+PASS Referrer policy: "" and referrer: 'myreferrer' 
+PASS Referrer policy: origin and referrer: default 
+PASS Referrer policy: origin and referrer: 'myreferrer' 
+PASS Referrer policy: origin-when-cross-origin and referrer: default 
+PASS Referrer policy: origin-when-cross-origin and referrer: 'myreferrer' 
+PASS Referrer policy: unsafe-url and referrer: default 
+PASS Referrer policy: unsafe-url and referrer: 'myreferrer' 
 
index b937867..bb65050 100644 (file)
@@ -29,8 +29,9 @@ function corsPreflightReferrer(desc, corsUrl, referrerPolicy, referrer, expected
         assert_equals(resp.headers.get("x-control-request-headers"), "", "Access-Control-Allow-Headers value");
       });
     });
-  }, desc + (referrer ? " (default referrer)" : " ('myreferrer' referrer)"));
+  }, desc + " and referrer: " + (referrer ? "'" + referrer + "'" : "default"));
 }
+
 var corsUrl = get_host_info().HTTP_REMOTE_ORIGIN  + dirname(location.pathname) + RESOURCES_DIR + "preflight.py";
 var origin = get_host_info().HTTP_ORIGIN + "/";
 
index e0cad0f..8391545 100644 (file)
@@ -4,8 +4,8 @@ CONSOLE MESSAGE: Unsafe attempt to load URL data:text/plain;base64,cmVzcG9uc2Unc
 CONSOLE MESSAGE: Cross-origin redirection to data:text/plain;base64,cmVzcG9uc2UncyBib2R5 denied by Cross-Origin Resource Sharing policy: URL is either a non-HTTP URL or contains credentials.
 
 PASS Testing data URL loading after same-origin redirection (cors mode) 
-PASS Testing data URL loading after same-origin redirection (no-cors mode) 
+FAIL Testing data URL loading after same-origin redirection (no-cors mode) assert_unreached: Should have rejected. Reached unreachable code
 PASS Testing data URL loading after same-origin redirection (same-origin mode) 
 PASS Testing data URL loading after cross-origin redirection (cors mode) 
-PASS Testing data URL loading after cross-origin redirection (no-cors mode) 
+FAIL Testing data URL loading after cross-origin redirection (no-cors mode) assert_unreached: Should have rejected. Reached unreachable code
 
index a21bd78..074ad90 100644 (file)
@@ -4,8 +4,8 @@ CONSOLE MESSAGE: Unsafe attempt to load URL data:text/plain;base64,cmVzcG9uc2Unc
 CONSOLE MESSAGE: Cross-origin redirection to data:text/plain;base64,cmVzcG9uc2UncyBib2R5 denied by Cross-Origin Resource Sharing policy: URL is either a non-HTTP URL or contains credentials.
 
 PASS Testing data URL loading after same-origin redirection (cors mode) 
-PASS Testing data URL loading after same-origin redirection (no-cors mode) 
+FAIL Testing data URL loading after same-origin redirection (no-cors mode) assert_unreached: Should have rejected. Reached unreachable code
 PASS Testing data URL loading after same-origin redirection (same-origin mode) 
 PASS Testing data URL loading after cross-origin redirection (cors mode) 
-PASS Testing data URL loading after cross-origin redirection (no-cors mode) 
+FAIL Testing data URL loading after cross-origin redirection (no-cors mode) assert_unreached: Should have rejected. Reached unreachable code
 
index 89779c7..c3bae3f 100644 (file)
@@ -7,29 +7,24 @@ var dataURL = "data:text/plain;base64,cmVzcG9uc2UncyBib2R5";
 var body = "response's body";
 var contentType = "text/plain";
 
-function redirectDataURL(desc, redirectUrl, mode, isOK) {
+function redirectDataURL(desc, redirectUrl, mode) {
     var url = redirectUrl +  "?cors&location=" + encodeURIComponent(dataURL);
 
     var requestInit = {"mode": mode};
 
     promise_test(function(test) {
-        var promise = fetch(url, requestInit).then(function(response) {
-            assert_equals(response.type, "opaque", "Response's type should be opaque");
-            assert_equals(response.url, "", "Response URL is empty");
-            assert_equals(response.status, 0, "Response's status should be 0");
-        });
-        return isOK ? promise : promise_rejects(test, new TypeError(), promise);
+        return promise_rejects(test, new TypeError(), fetch(url, requestInit));
     }, desc);
 }
 
 var redirUrl = get_host_info().HTTP_ORIGIN + "/fetch/api/resources/redirect.py";
 var corsRedirUrl = get_host_info().HTTP_REMOTE_ORIGIN + "/fetch/api/resources/redirect.py";
 
-redirectDataURL("Testing data URL loading after same-origin redirection (cors mode)", redirUrl, "cors", false);
-redirectDataURL("Testing data URL loading after same-origin redirection (no-cors mode)", redirUrl, "no-cors", true);
-redirectDataURL("Testing data URL loading after same-origin redirection (same-origin mode)", redirUrl, "same-origin", false);
+redirectDataURL("Testing data URL loading after same-origin redirection (cors mode)", redirUrl, "cors");
+redirectDataURL("Testing data URL loading after same-origin redirection (no-cors mode)", redirUrl, "no-cors");
+redirectDataURL("Testing data URL loading after same-origin redirection (same-origin mode)", redirUrl, "same-origin");
 
-redirectDataURL("Testing data URL loading after cross-origin redirection (cors mode)", corsRedirUrl, "cors", false);
-redirectDataURL("Testing data URL loading after cross-origin redirection (no-cors mode)", corsRedirUrl, "no-cors", true);
+redirectDataURL("Testing data URL loading after cross-origin redirection (cors mode)", corsRedirUrl, "cors");
+redirectDataURL("Testing data URL loading after cross-origin redirection (no-cors mode)", corsRedirUrl, "no-cors");
 
 done();
index 6a50440..e09c666 100644 (file)
@@ -14,7 +14,7 @@
       var url = "http://test.url:1234/";
       test(function() {
         redirectResponse = Response.redirect(url);
-        assert_equals(redirectResponse.status, 302, "Default redictect status is 302");
+        assert_equals(redirectResponse.status, 302, "Default redirect status is 302");
         assert_equals(redirectResponse.headers.get("Location"), url,
           "redirected response has Location header with the correct url");
       }, "Check default redirect response");
@@ -23,7 +23,7 @@
       redirectStatus.forEach(function(status) {
         test(function() {
           redirectResponse = Response.redirect(url, status);
-          assert_equals(redirectResponse.status, status, "Redictect status is " + status);
+          assert_equals(redirectResponse.status, status, "Redirect status is " + status);
         }, "Check response returned by static method redirect(), status = " + status);
       });
 
index c603f93..f3dd416 100644 (file)
@@ -17,6 +17,6 @@ PASS A and B jointly observe the same identity for cross-origin Window and Locat
 PASS Cross-origin functions get local Function.prototype 
 PASS Cross-origin Window accessors get local Function.prototype 
 PASS Same-origin observers get different functions for cross-origin objects 
-PASS Same-origin obsevers get different accessors for cross-origin Window 
+PASS Same-origin observers get different accessors for cross-origin Window 
 PASS Same-origin observers get different accessors for cross-origin Location 
  
index 99f9449..abb5eae 100644 (file)
@@ -299,7 +299,7 @@ addTest(function() {
   checkFunction(get_self_parent, Function.prototype);
   checkFunction(get_parent_A, Function.prototype);
   checkFunction(get_parent_B, B.Function.prototype);
-}, "Same-origin obsevers get different accessors for cross-origin Window");
+}, "Same-origin observers get different accessors for cross-origin Window");
 
 addTest(function() {
   var set_self_href = Object.getOwnPropertyDescriptor(window.location, 'href').set;
diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/origin-of-data-document-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/origin-of-data-document-expected.txt
new file mode 100644 (file)
index 0000000..cc947b1
--- /dev/null
@@ -0,0 +1,4 @@
+
+
+PASS The origin of a 'data:' document in a frame is opaque. 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/origin-of-data-document.html b/LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/origin-of-data-document.html
new file mode 100644 (file)
index 0000000..cedb251
--- /dev/null
@@ -0,0 +1,28 @@
+<!doctype html>
+<html>
+  <head>
+    <meta charset=utf-8>
+    <title>Origin of document produced from a 'data:' URL</title>
+    <link rel="help" href="https://html.spec.whatwg.org/multipage/browsers.html#origin">
+    <script src="/resources/testharness.js"></script>
+    <script src="/resources/testharnessreport.js"></script>
+  </head>
+  <body>
+    <script>
+      async_test(function (t) {
+        window.addEventListener("message", t.step_func_done(function (e) {
+          assert_equals(e.origin, "null", "Messages sent from a 'data:' URL should have an opaque origin (which serializes to 'null').");
+          assert_throws("SecurityError", function () {
+            var couldAccessCrossOriginProperty = e.source.location.href;
+          }, "The 'data:' frame should be cross-origin.")
+        }));
+
+        var i = document.createElement('iframe');
+        i.src = "data:text/html,<script>" +
+                "  window.parent.postMessage('Hello!', '*');" +
+                "</scr" + "ipt>";
+        document.body.appendChild(i);
+      }, "The origin of a 'data:' document in a frame is opaque.");
+    </script>
+  </body>
+</html>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/w3c-import.log b/LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/w3c-import.log
new file mode 100644 (file)
index 0000000..00e81ff
--- /dev/null
@@ -0,0 +1,18 @@
+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in WebKit.
+Instead, create a pull request on the W3C CSS or WPT github:
+       https://github.com/w3c/csswg-test
+       https://github.com/w3c/web-platform-tests
+
+Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
+
+Do NOT modify or remove this file.
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/html/browsers/origin/origin-of-data-document.html
index 39ab525..486926f 100644 (file)
@@ -1,6 +1,6 @@
 CONSOLE MESSAGE: line 7: Blocked a frame with origin "http://127.0.0.1:8800" from accessing a frame with origin "http://localhost:8800". Protocols, domains, and ports must match.
 
-FAIL The window's frameElement attribute must return its container element if it is a nested browsing context undefined is not an object (evaluating 'document.getElementById("fr4").contentWindow[0].frameElement')
+PASS The window's frameElement attribute must return its container element if it is a nested browsing context 
 PASS The SecurityError must be thrown if the window accesses to frameElement attribute of a Window which does not have the same effective script origin 
 PASS The window's frameElement attribute must return null if the container's document does not have the same effective script origin 
 PASS The window's frameElement attribute must return null if it is not a nested browsing context 
index 955d14e..ca3abcc 100644 (file)
@@ -1,5 +1,7 @@
 CONSOLE MESSAGE: line 19: Unsafe JavaScript attempt to initiate navigation for frame with URL 'about:blank' from frame with URL 'http://localhost:8800/html/browsers/windows/targeting-cross-origin-nested-browsing-contexts.sub.html'. The frame attempting navigation is neither same-origin with the target, nor is it the target's parent or opener.
 
+CONSOLE MESSAGE: line 19: Unsafe JavaScript attempt to initiate navigation for frame with URL 'about:blank' from frame with URL 'http://localhost:8800/html/browsers/windows/targeting-cross-origin-nested-browsing-contexts.sub.html'. The frame attempting navigation is neither same-origin with the target, nor is it the target's parent or opener.
+
 
 PASS Targeting nested browsing contexts 
 
index b64123c..d8f8747 100644 (file)
@@ -2,7 +2,7 @@
 PASS document.forms 
 PASS document.forms.item with string arg 
 PASS document.forms with empty string 
-FAIL document.forms iteration assert_array_equals: property 3, expected "item" but got "length"
+FAIL document.forms iteration assert_array_equals: lengths differ, expected 3 got 2
 PASS document.forms getOwnPropertyNames 
      
      
index 32f35f1..3bb89f4 100644 (file)
@@ -53,7 +53,14 @@ test(function() {
   for (var p in document.forms) {
     result.push(p);
   }
-  assert_array_equals(result, ["0", "1", "2", "item", "namedItem", "length"])
+  // http://heycam.github.io/webidl/#property-enumeration
+  // If the object supports indexed properties, then the object’s supported
+  // property indices are enumerated first, in numerical order.
+  assert_array_equals(result.splice(0, 2), ["0", "1", "2"]);
+  // [...]
+  // Finally, any enumerable own properties or properties from the object’s
+  // prototype chain are then enumerated, in no defined order.
+  assert_array_equals(result.sort(), ["0", "1", "2", "item", "namedItem", "length"].sort())
 }, "document.forms iteration")
 
 test(function() {
index 18ca94e..fb9fb91 100644 (file)
@@ -26,7 +26,6 @@ var embeddedElements = {
     srcdoc: "string",
     name: "string",
     sandbox: "settable tokenlist",
-    seamless: "boolean",
     allowFullscreen: "boolean",
     width: "string",
     height: "string",
@@ -135,11 +134,9 @@ var embeddedElements = {
     shape: "string",
     target: "string",
     download: "string",
-    ping: "urls",
+    ping: "string",
     rel: "string",
     relList: {type: "tokenlist", domAttrName: "rel"},
-    hreflang: "string",
-    type: "string",
 
     // HTMLHyperlinkElementUtils
     href: "url",
index 1b9c1c4..bb54ade 100644 (file)
@@ -1,9 +1,6 @@
 // Up-to-date as of 2013-04-12.
 var tabularElements = {
   table: {
-    // Conforming
-    sortable: "boolean",
-
     // Obsolete
     align: "string",
     border: "string",
index 96c1d92..268eb26 100644 (file)
@@ -4,7 +4,7 @@ var textElements = {
     // Conforming
     target: "string",
     download: "string",
-    ping: "urls",
+    ping: "string",
     rel: "string",
     relList: {type: "tokenlist", domAttrName: "rel"},
     hreflang: "string",
index b332267..0f102a9 100644 (file)
@@ -5662,10 +5662,10 @@ PASS HTMLAppletElement interface: document.createElement("applet") must inherit
 PASS HTMLAppletElement interface: document.createElement("applet") must inherit property "code" with the proper type (3) 
 PASS HTMLAppletElement interface: document.createElement("applet") must inherit property "codeBase" with the proper type (4) 
 PASS HTMLAppletElement interface: document.createElement("applet") must inherit property "height" with the proper type (5) 
-FAIL HTMLAppletElement interface: document.createElement("applet") must inherit property "hspace" with the proper type (6) assert_equals: expected "number" but got "string"
+PASS HTMLAppletElement interface: document.createElement("applet") must inherit property "hspace" with the proper type (6) 
 PASS HTMLAppletElement interface: document.createElement("applet") must inherit property "name" with the proper type (7) 
 PASS HTMLAppletElement interface: document.createElement("applet") must inherit property "object" with the proper type (8) 
-FAIL HTMLAppletElement interface: document.createElement("applet") must inherit property "vspace" with the proper type (9) assert_equals: expected "number" but got "string"
+PASS HTMLAppletElement interface: document.createElement("applet") must inherit property "vspace" with the proper type (9) 
 PASS HTMLAppletElement interface: document.createElement("applet") must inherit property "width" with the proper type (10) 
 PASS HTMLMarqueeElement interface: existence and properties of interface object 
 PASS HTMLMarqueeElement interface object length 
index d148c0a..bfcb0c3 100644 (file)
@@ -2685,85 +2685,6 @@ PASS iframe.name: IDL set to object "test-toString" followed by IDL get
 PASS iframe.name: IDL set to object "test-valueOf" should not throw 
 PASS iframe.name: IDL set to object "test-valueOf" followed by getAttribute() 
 PASS iframe.name: IDL set to object "test-valueOf" followed by IDL get 
-FAIL iframe.seamless: typeof IDL attribute assert_equals: expected "boolean" but got "undefined"
-FAIL iframe.seamless: IDL get with DOM attribute unset assert_equals: expected (boolean) false but got (undefined) undefined
-PASS iframe.seamless: setAttribute() to "" followed by getAttribute() 
-FAIL iframe.seamless: setAttribute() to "" followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS iframe.seamless: setAttribute() to " foo " followed by getAttribute() 
-FAIL iframe.seamless: setAttribute() to " foo " followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS iframe.seamless: setAttribute() to undefined followed by getAttribute() 
-FAIL iframe.seamless: setAttribute() to undefined followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS iframe.seamless: setAttribute() to null followed by getAttribute() 
-FAIL iframe.seamless: setAttribute() to null followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS iframe.seamless: setAttribute() to 7 followed by getAttribute() 
-FAIL iframe.seamless: setAttribute() to 7 followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS iframe.seamless: setAttribute() to 1.5 followed by getAttribute() 
-FAIL iframe.seamless: setAttribute() to 1.5 followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS iframe.seamless: setAttribute() to true followed by getAttribute() 
-FAIL iframe.seamless: setAttribute() to true followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS iframe.seamless: setAttribute() to false followed by getAttribute() 
-FAIL iframe.seamless: setAttribute() to false followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS iframe.seamless: setAttribute() to object "[object Object]" followed by getAttribute() 
-FAIL iframe.seamless: setAttribute() to object "[object Object]" followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS iframe.seamless: setAttribute() to NaN followed by getAttribute() 
-FAIL iframe.seamless: setAttribute() to NaN followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS iframe.seamless: setAttribute() to Infinity followed by getAttribute() 
-FAIL iframe.seamless: setAttribute() to Infinity followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS iframe.seamless: setAttribute() to -Infinity followed by getAttribute() 
-FAIL iframe.seamless: setAttribute() to -Infinity followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS iframe.seamless: setAttribute() to "\0" followed by getAttribute() 
-FAIL iframe.seamless: setAttribute() to "\0" followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS iframe.seamless: setAttribute() to object "test-toString" followed by getAttribute() 
-FAIL iframe.seamless: setAttribute() to object "test-toString" followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS iframe.seamless: setAttribute() to object "test-valueOf" followed by getAttribute() 
-FAIL iframe.seamless: setAttribute() to object "test-valueOf" followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS iframe.seamless: setAttribute() to "seamless" followed by getAttribute() 
-FAIL iframe.seamless: setAttribute() to "seamless" followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS iframe.seamless: IDL set to "" should not throw 
-FAIL iframe.seamless: IDL set to "" followed by hasAttribute() assert_equals: expected false but got true
-FAIL iframe.seamless: IDL set to "" followed by IDL get assert_equals: expected (boolean) false but got (string) ""
-PASS iframe.seamless: IDL set to " foo " should not throw 
-PASS iframe.seamless: IDL set to " foo " followed by hasAttribute() 
-FAIL iframe.seamless: IDL set to " foo " followed by IDL get assert_equals: expected (boolean) true but got (string) " foo "
-PASS iframe.seamless: IDL set to undefined should not throw 
-FAIL iframe.seamless: IDL set to undefined followed by hasAttribute() assert_equals: expected false but got true
-FAIL iframe.seamless: IDL set to undefined followed by IDL get assert_equals: expected (boolean) false but got (undefined) undefined
-PASS iframe.seamless: IDL set to null should not throw 
-FAIL iframe.seamless: IDL set to null followed by hasAttribute() assert_equals: expected false but got true
-FAIL iframe.seamless: IDL set to null followed by IDL get assert_equals: expected (boolean) false but got (object) null
-PASS iframe.seamless: IDL set to 7 should not throw 
-PASS iframe.seamless: IDL set to 7 followed by hasAttribute() 
-FAIL iframe.seamless: IDL set to 7 followed by IDL get assert_equals: expected (boolean) true but got (number) 7
-PASS iframe.seamless: IDL set to 1.5 should not throw 
-PASS iframe.seamless: IDL set to 1.5 followed by hasAttribute() 
-FAIL iframe.seamless: IDL set to 1.5 followed by IDL get assert_equals: expected (boolean) true but got (number) 1.5
-PASS iframe.seamless: IDL set to true should not throw 
-PASS iframe.seamless: IDL set to true followed by hasAttribute() 
-PASS iframe.seamless: IDL set to true followed by IDL get 
-PASS iframe.seamless: IDL set to false should not throw 
-FAIL iframe.seamless: IDL set to false followed by hasAttribute() assert_equals: expected false but got true
-PASS iframe.seamless: IDL set to false followed by IDL get 
-PASS iframe.seamless: IDL set to object "[object Object]" should not throw 
-PASS iframe.seamless: IDL set to object "[object Object]" followed by hasAttribute() 
-FAIL iframe.seamless: IDL set to object "[object Object]" followed by IDL get assert_equals: expected (boolean) true but got (object) object "[object Object]"
-PASS iframe.seamless: IDL set to NaN should not throw 
-FAIL iframe.seamless: IDL set to NaN followed by hasAttribute() assert_equals: expected false but got true
-FAIL iframe.seamless: IDL set to NaN followed by IDL get assert_equals: expected (boolean) false but got (number) NaN
-PASS iframe.seamless: IDL set to Infinity should not throw 
-PASS iframe.seamless: IDL set to Infinity followed by hasAttribute() 
-FAIL iframe.seamless: IDL set to Infinity followed by IDL get assert_equals: expected (boolean) true but got (number) Infinity
-PASS iframe.seamless: IDL set to -Infinity should not throw 
-PASS iframe.seamless: IDL set to -Infinity followed by hasAttribute() 
-FAIL iframe.seamless: IDL set to -Infinity followed by IDL get assert_equals: expected (boolean) true but got (number) -Infinity
-PASS iframe.seamless: IDL set to "\0" should not throw 
-PASS iframe.seamless: IDL set to "\0" followed by hasAttribute() 
-FAIL iframe.seamless: IDL set to "\0" followed by IDL get assert_equals: expected (boolean) true but got (string) "\0"
-PASS iframe.seamless: IDL set to object "test-toString" should not throw 
-PASS iframe.seamless: IDL set to object "test-toString" followed by hasAttribute() 
-FAIL iframe.seamless: IDL set to object "test-toString" followed by IDL get assert_equals: expected (boolean) true but got (object) object "test-toString"
-PASS iframe.seamless: IDL set to object "test-valueOf" should not throw 
-PASS iframe.seamless: IDL set to object "test-valueOf" followed by hasAttribute() 
-FAIL iframe.seamless: IDL set to object "test-valueOf" followed by IDL get assert_equals: expected (boolean) true but got (object) object "test-valueOf"
 PASS iframe.allowFullscreen: typeof IDL attribute 
 PASS iframe.allowFullscreen: IDL get with DOM attribute unset 
 PASS iframe.allowFullscreen: setAttribute() to "" followed by getAttribute() 
@@ -14832,94 +14753,79 @@ PASS area.ping: typeof IDL attribute
 PASS area.ping: IDL get with DOM attribute unset 
 PASS area.ping: setAttribute() to "" followed by getAttribute() 
 PASS area.ping: setAttribute() to "" followed by IDL get 
-PASS area.ping: setAttribute() to " foo   " followed by getAttribute() 
-FAIL area.ping: setAttribute() to " foo   " followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/foo" but got " foo   "
-PASS area.ping: setAttribute() to "http://site.example/ foo  bar   baz" followed by getAttribute() 
-FAIL area.ping: setAttribute() to "http://site.example/ foo  bar   baz" followed by IDL get assert_equals: expected "http://site.example/ http://localhost:8800/html/dom/foo http://localhost:8800/html/dom/bar http://localhost:8800/html/dom/baz" but got "http://site.example/ foo  bar   baz"
-PASS area.ping: setAttribute() to "//site.example/path???@#l" followed by getAttribute() 
-FAIL area.ping: setAttribute() to "//site.example/path???@#l" followed by IDL get assert_equals: expected "http://site.example/path???@#l" but got "//site.example/path???@#l"
-PASS area.ping: setAttribute() to "\0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f " followed by getAttribute() 
-FAIL area.ping: setAttribute() to "\0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f " followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/reflection-embedded.html http://localhost:8800/html/dom/reflection-embedded.html http://localhost:8800/html/dom/reflection-embedded.html http://localhost:8800/html/dom/reflection-embedded.html" but got "\0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f "
+PASS area.ping: setAttribute() to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo " followed by getAttribute() 
+PASS area.ping: setAttribute() to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo " followed by IDL get 
 PASS area.ping: setAttribute() to undefined followed by getAttribute() 
-FAIL area.ping: setAttribute() to undefined followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/undefined" but got "undefined"
+PASS area.ping: setAttribute() to undefined followed by IDL get 
 PASS area.ping: setAttribute() to 7 followed by getAttribute() 
-FAIL area.ping: setAttribute() to 7 followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/7" but got "7"
+PASS area.ping: setAttribute() to 7 followed by IDL get 
 PASS area.ping: setAttribute() to 1.5 followed by getAttribute() 
-FAIL area.ping: setAttribute() to 1.5 followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/1.5" but got "1.5"
+PASS area.ping: setAttribute() to 1.5 followed by IDL get 
 PASS area.ping: setAttribute() to true followed by getAttribute() 
-FAIL area.ping: setAttribute() to true followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/true" but got "true"
+PASS area.ping: setAttribute() to true followed by IDL get 
 PASS area.ping: setAttribute() to false followed by getAttribute() 
-FAIL area.ping: setAttribute() to false followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/false" but got "false"
+PASS area.ping: setAttribute() to false followed by IDL get 
 PASS area.ping: setAttribute() to object "[object Object]" followed by getAttribute() 
-FAIL area.ping: setAttribute() to object "[object Object]" followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/[object http://localhost:8800/html/dom/Object]" but got "[object Object]"
+PASS area.ping: setAttribute() to object "[object Object]" followed by IDL get 
 PASS area.ping: setAttribute() to NaN followed by getAttribute() 
-FAIL area.ping: setAttribute() to NaN followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/NaN" but got "NaN"
+PASS area.ping: setAttribute() to NaN followed by IDL get 
 PASS area.ping: setAttribute() to Infinity followed by getAttribute() 
-FAIL area.ping: setAttribute() to Infinity followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/Infinity" but got "Infinity"
+PASS area.ping: setAttribute() to Infinity followed by IDL get 
 PASS area.ping: setAttribute() to -Infinity followed by getAttribute() 
-FAIL area.ping: setAttribute() to -Infinity followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/-Infinity" but got "-Infinity"
+PASS area.ping: setAttribute() to -Infinity followed by IDL get 
 PASS area.ping: setAttribute() to "\0" followed by getAttribute() 
-FAIL area.ping: setAttribute() to "\0" followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/reflection-embedded.html" but got "\0"
+PASS area.ping: setAttribute() to "\0" followed by IDL get 
 PASS area.ping: setAttribute() to null followed by getAttribute() 
-FAIL area.ping: setAttribute() to null followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/null" but got "null"
+PASS area.ping: setAttribute() to null followed by IDL get 
 PASS area.ping: setAttribute() to object "test-toString" followed by getAttribute() 
-FAIL area.ping: setAttribute() to object "test-toString" followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/test-toString" but got "test-toString"
+PASS area.ping: setAttribute() to object "test-toString" followed by IDL get 
 PASS area.ping: setAttribute() to object "test-valueOf" followed by getAttribute() 
-FAIL area.ping: setAttribute() to object "test-valueOf" followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/test-valueOf" but got "test-valueOf"
+PASS area.ping: setAttribute() to object "test-valueOf" followed by IDL get 
 PASS area.ping: IDL set to "" should not throw 
 PASS area.ping: IDL set to "" followed by getAttribute() 
 PASS area.ping: IDL set to "" followed by IDL get 
-PASS area.ping: IDL set to " foo   " should not throw 
-PASS area.ping: IDL set to " foo   " followed by getAttribute() 
-FAIL area.ping: IDL set to " foo   " followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/foo" but got " foo   "
-PASS area.ping: IDL set to "http://site.example/ foo  bar   baz" should not throw 
-PASS area.ping: IDL set to "http://site.example/ foo  bar   baz" followed by getAttribute() 
-FAIL area.ping: IDL set to "http://site.example/ foo  bar   baz" followed by IDL get assert_equals: expected "http://site.example/ http://localhost:8800/html/dom/foo http://localhost:8800/html/dom/bar http://localhost:8800/html/dom/baz" but got "http://site.example/ foo  bar   baz"
-PASS area.ping: IDL set to "//site.example/path???@#l" should not throw 
-PASS area.ping: IDL set to "//site.example/path???@#l" followed by getAttribute() 
-FAIL area.ping: IDL set to "//site.example/path???@#l" followed by IDL get assert_equals: expected "http://site.example/path???@#l" but got "//site.example/path???@#l"
-PASS area.ping: IDL set to "\0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f " should not throw 
-PASS area.ping: IDL set to "\0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f " followed by getAttribute() 
-FAIL area.ping: IDL set to "\0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f " followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/reflection-embedded.html http://localhost:8800/html/dom/reflection-embedded.html http://localhost:8800/html/dom/reflection-embedded.html http://localhost:8800/html/dom/reflection-embedded.html" but got "\0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f "
+PASS area.ping: IDL set to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo " should not throw 
+PASS area.ping: IDL set to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo " followed by getAttribute() 
+PASS area.ping: IDL set to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo " followed by IDL get 
 PASS area.ping: IDL set to undefined should not throw 
 PASS area.ping: IDL set to undefined followed by getAttribute() 
-FAIL area.ping: IDL set to undefined followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/undefined" but got "undefined"
+PASS area.ping: IDL set to undefined followed by IDL get 
 PASS area.ping: IDL set to 7 should not throw 
 PASS area.ping: IDL set to 7 followed by getAttribute() 
-FAIL area.ping: IDL set to 7 followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/7" but got "7"
+PASS area.ping: IDL set to 7 followed by IDL get 
 PASS area.ping: IDL set to 1.5 should not throw 
 PASS area.ping: IDL set to 1.5 followed by getAttribute() 
-FAIL area.ping: IDL set to 1.5 followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/1.5" but got "1.5"
+PASS area.ping: IDL set to 1.5 followed by IDL get 
 PASS area.ping: IDL set to true should not throw 
 PASS area.ping: IDL set to true followed by getAttribute() 
-FAIL area.ping: IDL set to true followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/true" but got "true"
+PASS area.ping: IDL set to true followed by IDL get 
 PASS area.ping: IDL set to false should not throw 
 PASS area.ping: IDL set to false followed by getAttribute() 
-FAIL area.ping: IDL set to false followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/false" but got "false"
+PASS area.ping: IDL set to false followed by IDL get 
 PASS area.ping: IDL set to object "[object Object]" should not throw 
 PASS area.ping: IDL set to object "[object Object]" followed by getAttribute() 
-FAIL area.ping: IDL set to object "[object Object]" followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/[object http://localhost:8800/html/dom/Object]" but got "[object Object]"
+PASS area.ping: IDL set to object "[object Object]" followed by IDL get 
 PASS area.ping: IDL set to NaN should not throw 
 PASS area.ping: IDL set to NaN followed by getAttribute() 
-FAIL area.ping: IDL set to NaN followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/NaN" but got "NaN"
+PASS area.ping: IDL set to NaN followed by IDL get 
 PASS area.ping: IDL set to Infinity should not throw 
 PASS area.ping: IDL set to Infinity followed by getAttribute() 
-FAIL area.ping: IDL set to Infinity followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/Infinity" but got "Infinity"
+PASS area.ping: IDL set to Infinity followed by IDL get 
 PASS area.ping: IDL set to -Infinity should not throw 
 PASS area.ping: IDL set to -Infinity followed by getAttribute() 
-FAIL area.ping: IDL set to -Infinity followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/-Infinity" but got "-Infinity"
+PASS area.ping: IDL set to -Infinity followed by IDL get 
 PASS area.ping: IDL set to "\0" should not throw 
 PASS area.ping: IDL set to "\0" followed by getAttribute() 
-FAIL area.ping: IDL set to "\0" followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/reflection-embedded.html" but got "\0"
+PASS area.ping: IDL set to "\0" followed by IDL get 
 PASS area.ping: IDL set to null should not throw 
 PASS area.ping: IDL set to null followed by getAttribute() 
-FAIL area.ping: IDL set to null followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/null" but got "null"
+PASS area.ping: IDL set to null followed by IDL get 
 PASS area.ping: IDL set to object "test-toString" should not throw 
 PASS area.ping: IDL set to object "test-toString" followed by getAttribute() 
-FAIL area.ping: IDL set to object "test-toString" followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/test-toString" but got "test-toString"
+PASS area.ping: IDL set to object "test-toString" followed by IDL get 
 PASS area.ping: IDL set to object "test-valueOf" should not throw 
 PASS area.ping: IDL set to object "test-valueOf" followed by getAttribute() 
-FAIL area.ping: IDL set to object "test-valueOf" followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/test-valueOf" but got "test-valueOf"
+PASS area.ping: IDL set to object "test-valueOf" followed by IDL get 
 PASS area.rel: typeof IDL attribute 
 PASS area.rel: IDL get with DOM attribute unset 
 PASS area.rel: setAttribute() to "" followed by getAttribute() 
@@ -14997,160 +14903,6 @@ PASS area.rel: IDL set to object "test-toString" followed by IDL get
 PASS area.rel: IDL set to object "test-valueOf" should not throw 
 PASS area.rel: IDL set to object "test-valueOf" followed by getAttribute() 
 PASS area.rel: IDL set to object "test-valueOf" followed by IDL get 
-FAIL area.hreflang: typeof IDL attribute assert_equals: expected "string" but got "undefined"
-FAIL area.hreflang: IDL get with DOM attribute unset assert_equals: expected (string) "" but got (undefined) undefined
-PASS area.hreflang: setAttribute() to "" followed by getAttribute() 
-FAIL area.hreflang: setAttribute() to "" followed by IDL get assert_equals: expected (string) "" but got (undefined) undefined
-PASS area.hreflang: setAttribute() to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo " followed by getAttribute() 
-FAIL area.hreflang: setAttribute() to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo " followed by IDL get assert_equals: expected (string) " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo " but got (undefined) undefined
-PASS area.hreflang: setAttribute() to undefined followed by getAttribute() 
-FAIL area.hreflang: setAttribute() to undefined followed by IDL get assert_equals: expected (string) "undefined" but got (undefined) undefined
-PASS area.hreflang: setAttribute() to 7 followed by getAttribute() 
-FAIL area.hreflang: setAttribute() to 7 followed by IDL get assert_equals: expected (string) "7" but got (undefined) undefined
-PASS area.hreflang: setAttribute() to 1.5 followed by getAttribute() 
-FAIL area.hreflang: setAttribute() to 1.5 followed by IDL get assert_equals: expected (string) "1.5" but got (undefined) undefined
-PASS area.hreflang: setAttribute() to true followed by getAttribute() 
-FAIL area.hreflang: setAttribute() to true followed by IDL get assert_equals: expected (string) "true" but got (undefined) undefined
-PASS area.hreflang: setAttribute() to false followed by getAttribute() 
-FAIL area.hreflang: setAttribute() to false followed by IDL get assert_equals: expected (string) "false" but got (undefined) undefined
-PASS area.hreflang: setAttribute() to object "[object Object]" followed by getAttribute() 
-FAIL area.hreflang: setAttribute() to object "[object Object]" followed by IDL get assert_equals: expected (string) "[object Object]" but got (undefined) undefined
-PASS area.hreflang: setAttribute() to NaN followed by getAttribute() 
-FAIL area.hreflang: setAttribute() to NaN followed by IDL get assert_equals: expected (string) "NaN" but got (undefined) undefined
-PASS area.hreflang: setAttribute() to Infinity followed by getAttribute() 
-FAIL area.hreflang: setAttribute() to Infinity followed by IDL get assert_equals: expected (string) "Infinity" but got (undefined) undefined
-PASS area.hreflang: setAttribute() to -Infinity followed by getAttribute() 
-FAIL area.hreflang: setAttribute() to -Infinity followed by IDL get assert_equals: expected (string) "-Infinity" but got (undefined) undefined
-PASS area.hreflang: setAttribute() to "\0" followed by getAttribute() 
-FAIL area.hreflang: setAttribute() to "\0" followed by IDL get assert_equals: expected (string) "\0" but got (undefined) undefined
-PASS area.hreflang: setAttribute() to null followed by getAttribute() 
-FAIL area.hreflang: setAttribute() to null followed by IDL get assert_equals: expected (string) "null" but got (undefined) undefined
-PASS area.hreflang: setAttribute() to object "test-toString" followed by getAttribute() 
-FAIL area.hreflang: setAttribute() to object "test-toString" followed by IDL get assert_equals: expected (string) "test-toString" but got (undefined) undefined
-PASS area.hreflang: setAttribute() to object "test-valueOf" followed by getAttribute() 
-FAIL area.hreflang: setAttribute() to object "test-valueOf" followed by IDL get assert_equals: expected (string) "test-valueOf" but got (undefined) undefined
-PASS area.hreflang: IDL set to "" should not throw 
-FAIL area.hreflang: IDL set to "" followed by getAttribute() assert_equals: expected "" but got "test-valueOf"
-PASS area.hreflang: IDL set to "" followed by IDL get 
-PASS area.hreflang: IDL set to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo " should not throw 
-FAIL area.hreflang: IDL set to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo " followed by getAttribute() assert_equals: expected " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo " but got "test-valueOf"
-PASS area.hreflang: IDL set to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo " followed by IDL get 
-PASS area.hreflang: IDL set to undefined should not throw 
-FAIL area.hreflang: IDL set to undefined followed by getAttribute() assert_equals: expected "undefined" but got "test-valueOf"
-FAIL area.hreflang: IDL set to undefined followed by IDL get assert_equals: expected (string) "undefined" but got (undefined) undefined
-PASS area.hreflang: IDL set to 7 should not throw 
-FAIL area.hreflang: IDL set to 7 followed by getAttribute() assert_equals: expected "7" but got "test-valueOf"
-FAIL area.hreflang: IDL set to 7 followed by IDL get assert_equals: expected (string) "7" but got (number) 7
-PASS area.hreflang: IDL set to 1.5 should not throw 
-FAIL area.hreflang: IDL set to 1.5 followed by getAttribute() assert_equals: expected "1.5" but got "test-valueOf"
-FAIL area.hreflang: IDL set to 1.5 followed by IDL get assert_equals: expected (string) "1.5" but got (number) 1.5
-PASS area.hreflang: IDL set to true should not throw 
-FAIL area.hreflang: IDL set to true followed by getAttribute() assert_equals: expected "true" but got "test-valueOf"
-FAIL area.hreflang: IDL set to true followed by IDL get assert_equals: expected (string) "true" but got (boolean) true
-PASS area.hreflang: IDL set to false should not throw 
-FAIL area.hreflang: IDL set to false followed by getAttribute() assert_equals: expected "false" but got "test-valueOf"
-FAIL area.hreflang: IDL set to false followed by IDL get assert_equals: expected (string) "false" but got (boolean) false
-PASS area.hreflang: IDL set to object "[object Object]" should not throw 
-FAIL area.hreflang: IDL set to object "[object Object]" followed by getAttribute() assert_equals: expected "[object Object]" but got "test-valueOf"
-FAIL area.hreflang: IDL set to object "[object Object]" followed by IDL get assert_equals: expected (string) "[object Object]" but got (object) object "[object Object]"
-PASS area.hreflang: IDL set to NaN should not throw 
-FAIL area.hreflang: IDL set to NaN followed by getAttribute() assert_equals: expected "NaN" but got "test-valueOf"
-FAIL area.hreflang: IDL set to NaN followed by IDL get assert_equals: expected (string) "NaN" but got (number) NaN
-PASS area.hreflang: IDL set to Infinity should not throw 
-FAIL area.hreflang: IDL set to Infinity followed by getAttribute() assert_equals: expected "Infinity" but got "test-valueOf"
-FAIL area.hreflang: IDL set to Infinity followed by IDL get assert_equals: expected (string) "Infinity" but got (number) Infinity
-PASS area.hreflang: IDL set to -Infinity should not throw 
-FAIL area.hreflang: IDL set to -Infinity followed by getAttribute() assert_equals: expected "-Infinity" but got "test-valueOf"
-FAIL area.hreflang: IDL set to -Infinity followed by IDL get assert_equals: expected (string) "-Infinity" but got (number) -Infinity
-PASS area.hreflang: IDL set to "\0" should not throw 
-FAIL area.hreflang: IDL set to "\0" followed by getAttribute() assert_equals: expected "\0" but got "test-valueOf"
-PASS area.hreflang: IDL set to "\0" followed by IDL get 
-PASS area.hreflang: IDL set to null should not throw 
-FAIL area.hreflang: IDL set to null followed by getAttribute() assert_equals: expected "null" but got "test-valueOf"
-FAIL area.hreflang: IDL set to null followed by IDL get assert_equals: expected (string) "null" but got (object) null
-PASS area.hreflang: IDL set to object "test-toString" should not throw 
-FAIL area.hreflang: IDL set to object "test-toString" followed by getAttribute() assert_equals: expected "test-toString" but got "test-valueOf"
-FAIL area.hreflang: IDL set to object "test-toString" followed by IDL get assert_equals: expected (string) "test-toString" but got (object) object "test-toString"
-PASS area.hreflang: IDL set to object "test-valueOf" should not throw 
-PASS area.hreflang: IDL set to object "test-valueOf" followed by getAttribute() 
-FAIL area.hreflang: IDL set to object "test-valueOf" followed by IDL get assert_equals: expected (string) "test-valueOf" but got (object) object "test-valueOf"
-FAIL area.type: typeof IDL attribute assert_equals: expected "string" but got "undefined"
-FAIL area.type: IDL get with DOM attribute unset assert_equals: expected (string) "" but got (undefined) undefined
-PASS area.type: setAttribute() to "" followed by getAttribute() 
-FAIL area.type: setAttribute() to "" followed by IDL get assert_equals: expected (string) "" but got (undefined) undefined
-PASS area.type: setAttribute() to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo " followed by getAttribute() 
-FAIL area.type: setAttribute() to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo " followed by IDL get assert_equals: expected (string) " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo " but got (undefined) undefined
-PASS area.type: setAttribute() to undefined followed by getAttribute() 
-FAIL area.type: setAttribute() to undefined followed by IDL get assert_equals: expected (string) "undefined" but got (undefined) undefined
-PASS area.type: setAttribute() to 7 followed by getAttribute() 
-FAIL area.type: setAttribute() to 7 followed by IDL get assert_equals: expected (string) "7" but got (undefined) undefined
-PASS area.type: setAttribute() to 1.5 followed by getAttribute() 
-FAIL area.type: setAttribute() to 1.5 followed by IDL get assert_equals: expected (string) "1.5" but got (undefined) undefined
-PASS area.type: setAttribute() to true followed by getAttribute() 
-FAIL area.type: setAttribute() to true followed by IDL get assert_equals: expected (string) "true" but got (undefined) undefined
-PASS area.type: setAttribute() to false followed by getAttribute() 
-FAIL area.type: setAttribute() to false followed by IDL get assert_equals: expected (string) "false" but got (undefined) undefined
-PASS area.type: setAttribute() to object "[object Object]" followed by getAttribute() 
-FAIL area.type: setAttribute() to object "[object Object]" followed by IDL get assert_equals: expected (string) "[object Object]" but got (undefined) undefined
-PASS area.type: setAttribute() to NaN followed by getAttribute() 
-FAIL area.type: setAttribute() to NaN followed by IDL get assert_equals: expected (string) "NaN" but got (undefined) undefined
-PASS area.type: setAttribute() to Infinity followed by getAttribute() 
-FAIL area.type: setAttribute() to Infinity followed by IDL get assert_equals: expected (string) "Infinity" but got (undefined) undefined
-PASS area.type: setAttribute() to -Infinity followed by getAttribute() 
-FAIL area.type: setAttribute() to -Infinity followed by IDL get assert_equals: expected (string) "-Infinity" but got (undefined) undefined
-PASS area.type: setAttribute() to "\0" followed by getAttribute() 
-FAIL area.type: setAttribute() to "\0" followed by IDL get assert_equals: expected (string) "\0" but got (undefined) undefined
-PASS area.type: setAttribute() to null followed by getAttribute() 
-FAIL area.type: setAttribute() to null followed by IDL get assert_equals: expected (string) "null" but got (undefined) undefined
-PASS area.type: setAttribute() to object "test-toString" followed by getAttribute() 
-FAIL area.type: setAttribute() to object "test-toString" followed by IDL get assert_equals: expected (string) "test-toString" but got (undefined) undefined
-PASS area.type: setAttribute() to object "test-valueOf" followed by getAttribute() 
-FAIL area.type: setAttribute() to object "test-valueOf" followed by IDL get assert_equals: expected (string) "test-valueOf" but got (undefined) undefined
-PASS area.type: IDL set to "" should not throw 
-FAIL area.type: IDL set to "" followed by getAttribute() assert_equals: expected "" but got "test-valueOf"
-PASS area.type: IDL set to "" followed by IDL get 
-PASS area.type: IDL set to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo " should not throw 
-FAIL area.type: IDL set to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo " followed by getAttribute() assert_equals: expected " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo " but got "test-valueOf"
-PASS area.type: IDL set to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo " followed by IDL get 
-PASS area.type: IDL set to undefined should not throw 
-FAIL area.type: IDL set to undefined followed by getAttribute() assert_equals: expected "undefined" but got "test-valueOf"
-FAIL area.type: IDL set to undefined followed by IDL get assert_equals: expected (string) "undefined" but got (undefined) undefined
-PASS area.type: IDL set to 7 should not throw 
-FAIL area.type: IDL set to 7 followed by getAttribute() assert_equals: expected "7" but got "test-valueOf"
-FAIL area.type: IDL set to 7 followed by IDL get assert_equals: expected (string) "7" but got (number) 7
-PASS area.type: IDL set to 1.5 should not throw 
-FAIL area.type: IDL set to 1.5 followed by getAttribute() assert_equals: expected "1.5" but got "test-valueOf"
-FAIL area.type: IDL set to 1.5 followed by IDL get assert_equals: expected (string) "1.5" but got (number) 1.5
-PASS area.type: IDL set to true should not throw 
-FAIL area.type: IDL set to true followed by getAttribute() assert_equals: expected "true" but got "test-valueOf"
-FAIL area.type: IDL set to true followed by IDL get assert_equals: expected (string) "true" but got (boolean) true
-PASS area.type: IDL set to false should not throw 
-FAIL area.type: IDL set to false followed by getAttribute() assert_equals: expected "false" but got "test-valueOf"
-FAIL area.type: IDL set to false followed by IDL get assert_equals: expected (string) "false" but got (boolean) false
-PASS area.type: IDL set to object "[object Object]" should not throw 
-FAIL area.type: IDL set to object "[object Object]" followed by getAttribute() assert_equals: expected "[object Object]" but got "test-valueOf"
-FAIL area.type: IDL set to object "[object Object]" followed by IDL get assert_equals: expected (string) "[object Object]" but got (object) object "[object Object]"
-PASS area.type: IDL set to NaN should not throw 
-FAIL area.type: IDL set to NaN followed by getAttribute() assert_equals: expected "NaN" but got "test-valueOf"
-FAIL area.type: IDL set to NaN followed by IDL get assert_equals: expected (string) "NaN" but got (number) NaN
-PASS area.type: IDL set to Infinity should not throw 
-FAIL area.type: IDL set to Infinity followed by getAttribute() assert_equals: expected "Infinity" but got "test-valueOf"
-FAIL area.type: IDL set to Infinity followed by IDL get assert_equals: expected (string) "Infinity" but got (number) Infinity
-PASS area.type: IDL set to -Infinity should not throw 
-FAIL area.type: IDL set to -Infinity followed by getAttribute() assert_equals: expected "-Infinity" but got "test-valueOf"
-FAIL area.type: IDL set to -Infinity followed by IDL get assert_equals: expected (string) "-Infinity" but got (number) -Infinity
-PASS area.type: IDL set to "\0" should not throw 
-FAIL area.type: IDL set to "\0" followed by getAttribute() assert_equals: expected "\0" but got "test-valueOf"
-PASS area.type: IDL set to "\0" followed by IDL get 
-PASS area.type: IDL set to null should not throw 
-FAIL area.type: IDL set to null followed by getAttribute() assert_equals: expected "null" but got "test-valueOf"
-FAIL area.type: IDL set to null followed by IDL get assert_equals: expected (string) "null" but got (object) null
-PASS area.type: IDL set to object "test-toString" should not throw 
-FAIL area.type: IDL set to object "test-toString" followed by getAttribute() assert_equals: expected "test-toString" but got "test-valueOf"
-FAIL area.type: IDL set to object "test-toString" followed by IDL get assert_equals: expected (string) "test-toString" but got (object) object "test-toString"
-PASS area.type: IDL set to object "test-valueOf" should not throw 
-PASS area.type: IDL set to object "test-valueOf" followed by getAttribute() 
-FAIL area.type: IDL set to object "test-valueOf" followed by IDL get assert_equals: expected (string) "test-valueOf" but got (object) object "test-valueOf"
 PASS area.href: typeof IDL attribute 
 PASS area.href: IDL get with DOM attribute unset 
 PASS area.href: setAttribute() to "" followed by getAttribute() 
index 6a53d94..4378b1a 100644 (file)
@@ -4844,83 +4844,4 @@ PASS style.type: IDL set to object "test-toString" followed by IDL get
 PASS style.type: IDL set to object "test-valueOf" should not throw 
 PASS style.type: IDL set to object "test-valueOf" followed by getAttribute() 
 PASS style.type: IDL set to object "test-valueOf" followed by IDL get 
-FAIL style.scoped: typeof IDL attribute assert_equals: expected "boolean" but got "undefined"
-FAIL style.scoped: IDL get with DOM attribute unset assert_equals: expected (boolean) false but got (undefined) undefined
-PASS style.scoped: setAttribute() to "" followed by getAttribute() 
-FAIL style.scoped: setAttribute() to "" followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS style.scoped: setAttribute() to " foo " followed by getAttribute() 
-FAIL style.scoped: setAttribute() to " foo " followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS style.scoped: setAttribute() to undefined followed by getAttribute() 
-FAIL style.scoped: setAttribute() to undefined followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS style.scoped: setAttribute() to null followed by getAttribute() 
-FAIL style.scoped: setAttribute() to null followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS style.scoped: setAttribute() to 7 followed by getAttribute() 
-FAIL style.scoped: setAttribute() to 7 followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS style.scoped: setAttribute() to 1.5 followed by getAttribute() 
-FAIL style.scoped: setAttribute() to 1.5 followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS style.scoped: setAttribute() to true followed by getAttribute() 
-FAIL style.scoped: setAttribute() to true followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS style.scoped: setAttribute() to false followed by getAttribute() 
-FAIL style.scoped: setAttribute() to false followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS style.scoped: setAttribute() to object "[object Object]" followed by getAttribute() 
-FAIL style.scoped: setAttribute() to object "[object Object]" followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS style.scoped: setAttribute() to NaN followed by getAttribute() 
-FAIL style.scoped: setAttribute() to NaN followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS style.scoped: setAttribute() to Infinity followed by getAttribute() 
-FAIL style.scoped: setAttribute() to Infinity followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS style.scoped: setAttribute() to -Infinity followed by getAttribute() 
-FAIL style.scoped: setAttribute() to -Infinity followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS style.scoped: setAttribute() to "\0" followed by getAttribute() 
-FAIL style.scoped: setAttribute() to "\0" followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS style.scoped: setAttribute() to object "test-toString" followed by getAttribute() 
-FAIL style.scoped: setAttribute() to object "test-toString" followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS style.scoped: setAttribute() to object "test-valueOf" followed by getAttribute() 
-FAIL style.scoped: setAttribute() to object "test-valueOf" followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS style.scoped: setAttribute() to "scoped" followed by getAttribute() 
-FAIL style.scoped: setAttribute() to "scoped" followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS style.scoped: IDL set to "" should not throw 
-FAIL style.scoped: IDL set to "" followed by hasAttribute() assert_equals: expected false but got true
-FAIL style.scoped: IDL set to "" followed by IDL get assert_equals: expected (boolean) false but got (string) ""
-PASS style.scoped: IDL set to " foo " should not throw 
-PASS style.scoped: IDL set to " foo " followed by hasAttribute() 
-FAIL style.scoped: IDL set to " foo " followed by IDL get assert_equals: expected (boolean) true but got (string) " foo "
-PASS style.scoped: IDL set to undefined should not throw 
-FAIL style.scoped: IDL set to undefined followed by hasAttribute() assert_equals: expected false but got true
-FAIL style.scoped: IDL set to undefined followed by IDL get assert_equals: expected (boolean) false but got (undefined) undefined
-PASS style.scoped: IDL set to null should not throw 
-FAIL style.scoped: IDL set to null followed by hasAttribute() assert_equals: expected false but got true
-FAIL style.scoped: IDL set to null followed by IDL get assert_equals: expected (boolean) false but got (object) null
-PASS style.scoped: IDL set to 7 should not throw 
-PASS style.scoped: IDL set to 7 followed by hasAttribute() 
-FAIL style.scoped: IDL set to 7 followed by IDL get assert_equals: expected (boolean) true but got (number) 7
-PASS style.scoped: IDL set to 1.5 should not throw 
-PASS style.scoped: IDL set to 1.5 followed by hasAttribute() 
-FAIL style.scoped: IDL set to 1.5 followed by IDL get assert_equals: expected (boolean) true but got (number) 1.5
-PASS style.scoped: IDL set to true should not throw 
-PASS style.scoped: IDL set to true followed by hasAttribute() 
-PASS style.scoped: IDL set to true followed by IDL get 
-PASS style.scoped: IDL set to false should not throw 
-FAIL style.scoped: IDL set to false followed by hasAttribute() assert_equals: expected false but got true
-PASS style.scoped: IDL set to false followed by IDL get 
-PASS style.scoped: IDL set to object "[object Object]" should not throw 
-PASS style.scoped: IDL set to object "[object Object]" followed by hasAttribute() 
-FAIL style.scoped: IDL set to object "[object Object]" followed by IDL get assert_equals: expected (boolean) true but got (object) object "[object Object]"
-PASS style.scoped: IDL set to NaN should not throw 
-FAIL style.scoped: IDL set to NaN followed by hasAttribute() assert_equals: expected false but got true
-FAIL style.scoped: IDL set to NaN followed by IDL get assert_equals: expected (boolean) false but got (number) NaN
-PASS style.scoped: IDL set to Infinity should not throw 
-PASS style.scoped: IDL set to Infinity followed by hasAttribute() 
-FAIL style.scoped: IDL set to Infinity followed by IDL get assert_equals: expected (boolean) true but got (number) Infinity
-PASS style.scoped: IDL set to -Infinity should not throw 
-PASS style.scoped: IDL set to -Infinity followed by hasAttribute() 
-FAIL style.scoped: IDL set to -Infinity followed by IDL get assert_equals: expected (boolean) true but got (number) -Infinity
-PASS style.scoped: IDL set to "\0" should not throw 
-PASS style.scoped: IDL set to "\0" followed by hasAttribute() 
-FAIL style.scoped: IDL set to "\0" followed by IDL get assert_equals: expected (boolean) true but got (string) "\0"
-PASS style.scoped: IDL set to object "test-toString" should not throw 
-PASS style.scoped: IDL set to object "test-toString" followed by hasAttribute() 
-FAIL style.scoped: IDL set to object "test-toString" followed by IDL get assert_equals: expected (boolean) true but got (object) object "test-toString"
-PASS style.scoped: IDL set to object "test-valueOf" should not throw 
-PASS style.scoped: IDL set to object "test-valueOf" followed by hasAttribute() 
-FAIL style.scoped: IDL set to object "test-valueOf" followed by IDL get assert_equals: expected (boolean) true but got (object) object "test-valueOf"
 (Note: missing tests for types tokenlist, settable tokenlist.)
index bf2db88..88b9a22 100644 (file)
@@ -592,85 +592,6 @@ PASS table.tabIndex: IDL set to 2147483647 followed by IDL get
 PASS table.tabIndex: IDL set to -2147483648 should not throw 
 PASS table.tabIndex: IDL set to -2147483648 followed by getAttribute() 
 PASS table.tabIndex: IDL set to -2147483648 followed by IDL get 
-FAIL table.sortable: typeof IDL attribute assert_equals: expected "boolean" but got "undefined"
-FAIL table.sortable: IDL get with DOM attribute unset assert_equals: expected (boolean) false but got (undefined) undefined
-PASS table.sortable: setAttribute() to "" followed by getAttribute() 
-FAIL table.sortable: setAttribute() to "" followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS table.sortable: setAttribute() to " foo " followed by getAttribute() 
-FAIL table.sortable: setAttribute() to " foo " followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS table.sortable: setAttribute() to undefined followed by getAttribute() 
-FAIL table.sortable: setAttribute() to undefined followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS table.sortable: setAttribute() to null followed by getAttribute() 
-FAIL table.sortable: setAttribute() to null followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS table.sortable: setAttribute() to 7 followed by getAttribute() 
-FAIL table.sortable: setAttribute() to 7 followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS table.sortable: setAttribute() to 1.5 followed by getAttribute() 
-FAIL table.sortable: setAttribute() to 1.5 followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS table.sortable: setAttribute() to true followed by getAttribute() 
-FAIL table.sortable: setAttribute() to true followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS table.sortable: setAttribute() to false followed by getAttribute() 
-FAIL table.sortable: setAttribute() to false followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS table.sortable: setAttribute() to object "[object Object]" followed by getAttribute() 
-FAIL table.sortable: setAttribute() to object "[object Object]" followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS table.sortable: setAttribute() to NaN followed by getAttribute() 
-FAIL table.sortable: setAttribute() to NaN followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS table.sortable: setAttribute() to Infinity followed by getAttribute() 
-FAIL table.sortable: setAttribute() to Infinity followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS table.sortable: setAttribute() to -Infinity followed by getAttribute() 
-FAIL table.sortable: setAttribute() to -Infinity followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS table.sortable: setAttribute() to "\0" followed by getAttribute() 
-FAIL table.sortable: setAttribute() to "\0" followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS table.sortable: setAttribute() to object "test-toString" followed by getAttribute() 
-FAIL table.sortable: setAttribute() to object "test-toString" followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS table.sortable: setAttribute() to object "test-valueOf" followed by getAttribute() 
-FAIL table.sortable: setAttribute() to object "test-valueOf" followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS table.sortable: setAttribute() to "sortable" followed by getAttribute() 
-FAIL table.sortable: setAttribute() to "sortable" followed by IDL get assert_equals: expected (boolean) true but got (undefined) undefined
-PASS table.sortable: IDL set to "" should not throw 
-FAIL table.sortable: IDL set to "" followed by hasAttribute() assert_equals: expected false but got true
-FAIL table.sortable: IDL set to "" followed by IDL get assert_equals: expected (boolean) false but got (string) ""
-PASS table.sortable: IDL set to " foo " should not throw 
-PASS table.sortable: IDL set to " foo " followed by hasAttribute() 
-FAIL table.sortable: IDL set to " foo " followed by IDL get assert_equals: expected (boolean) true but got (string) " foo "
-PASS table.sortable: IDL set to undefined should not throw 
-FAIL table.sortable: IDL set to undefined followed by hasAttribute() assert_equals: expected false but got true
-FAIL table.sortable: IDL set to undefined followed by IDL get assert_equals: expected (boolean) false but got (undefined) undefined
-PASS table.sortable: IDL set to null should not throw 
-FAIL table.sortable: IDL set to null followed by hasAttribute() assert_equals: expected false but got true
-FAIL table.sortable: IDL set to null followed by IDL get assert_equals: expected (boolean) false but got (object) null
-PASS table.sortable: IDL set to 7 should not throw 
-PASS table.sortable: IDL set to 7 followed by hasAttribute() 
-FAIL table.sortable: IDL set to 7 followed by IDL get assert_equals: expected (boolean) true but got (number) 7
-PASS table.sortable: IDL set to 1.5 should not throw 
-PASS table.sortable: IDL set to 1.5 followed by hasAttribute() 
-FAIL table.sortable: IDL set to 1.5 followed by IDL get assert_equals: expected (boolean) true but got (number) 1.5
-PASS table.sortable: IDL set to true should not throw 
-PASS table.sortable: IDL set to true followed by hasAttribute() 
-PASS table.sortable: IDL set to true followed by IDL get 
-PASS table.sortable: IDL set to false should not throw 
-FAIL table.sortable: IDL set to false followed by hasAttribute() assert_equals: expected false but got true
-PASS table.sortable: IDL set to false followed by IDL get 
-PASS table.sortable: IDL set to object "[object Object]" should not throw 
-PASS table.sortable: IDL set to object "[object Object]" followed by hasAttribute() 
-FAIL table.sortable: IDL set to object "[object Object]" followed by IDL get assert_equals: expected (boolean) true but got (object) object "[object Object]"
-PASS table.sortable: IDL set to NaN should not throw 
-FAIL table.sortable: IDL set to NaN followed by hasAttribute() assert_equals: expected false but got true
-FAIL table.sortable: IDL set to NaN followed by IDL get assert_equals: expected (boolean) false but got (number) NaN
-PASS table.sortable: IDL set to Infinity should not throw 
-PASS table.sortable: IDL set to Infinity followed by hasAttribute() 
-FAIL table.sortable: IDL set to Infinity followed by IDL get assert_equals: expected (boolean) true but got (number) Infinity
-PASS table.sortable: IDL set to -Infinity should not throw 
-PASS table.sortable: IDL set to -Infinity followed by hasAttribute() 
-FAIL table.sortable: IDL set to -Infinity followed by IDL get assert_equals: expected (boolean) true but got (number) -Infinity
-PASS table.sortable: IDL set to "\0" should not throw 
-PASS table.sortable: IDL set to "\0" followed by hasAttribute() 
-FAIL table.sortable: IDL set to "\0" followed by IDL get assert_equals: expected (boolean) true but got (string) "\0"
-PASS table.sortable: IDL set to object "test-toString" should not throw 
-PASS table.sortable: IDL set to object "test-toString" followed by hasAttribute() 
-FAIL table.sortable: IDL set to object "test-toString" followed by IDL get assert_equals: expected (boolean) true but got (object) object "test-toString"
-PASS table.sortable: IDL set to object "test-valueOf" should not throw 
-PASS table.sortable: IDL set to object "test-valueOf" followed by hasAttribute() 
-FAIL table.sortable: IDL set to object "test-valueOf" followed by IDL get assert_equals: expected (boolean) true but got (object) object "test-valueOf"
 PASS table.align: typeof IDL attribute 
 PASS table.align: IDL get with DOM attribute unset 
 PASS table.align: setAttribute() to "" followed by getAttribute() 
index f2f9634..9f4a583 100644 (file)
@@ -750,94 +750,79 @@ PASS a.ping: typeof IDL attribute
 PASS a.ping: IDL get with DOM attribute unset 
 PASS a.ping: setAttribute() to "" followed by getAttribute() 
 PASS a.ping: setAttribute() to "" followed by IDL get 
-PASS a.ping: setAttribute() to " foo   " followed by getAttribute() 
-FAIL a.ping: setAttribute() to " foo   " followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/foo" but got " foo   "
-PASS a.ping: setAttribute() to "http://site.example/ foo  bar   baz" followed by getAttribute() 
-FAIL a.ping: setAttribute() to "http://site.example/ foo  bar   baz" followed by IDL get assert_equals: expected "http://site.example/ http://localhost:8800/html/dom/foo http://localhost:8800/html/dom/bar http://localhost:8800/html/dom/baz" but got "http://site.example/ foo  bar   baz"
-PASS a.ping: setAttribute() to "//site.example/path???@#l" followed by getAttribute() 
-FAIL a.ping: setAttribute() to "//site.example/path???@#l" followed by IDL get assert_equals: expected "http://site.example/path???@#l" but got "//site.example/path???@#l"
-PASS a.ping: setAttribute() to "\0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f " followed by getAttribute() 
-FAIL a.ping: setAttribute() to "\0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f " followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/reflection-text.html http://localhost:8800/html/dom/reflection-text.html http://localhost:8800/html/dom/reflection-text.html http://localhost:8800/html/dom/reflection-text.html" but got "\0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f "
+PASS a.ping: setAttribute() to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo " followed by getAttribute() 
+PASS a.ping: setAttribute() to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo " followed by IDL get 
 PASS a.ping: setAttribute() to undefined followed by getAttribute() 
-FAIL a.ping: setAttribute() to undefined followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/undefined" but got "undefined"
+PASS a.ping: setAttribute() to undefined followed by IDL get 
 PASS a.ping: setAttribute() to 7 followed by getAttribute() 
-FAIL a.ping: setAttribute() to 7 followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/7" but got "7"
+PASS a.ping: setAttribute() to 7 followed by IDL get 
 PASS a.ping: setAttribute() to 1.5 followed by getAttribute() 
-FAIL a.ping: setAttribute() to 1.5 followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/1.5" but got "1.5"
+PASS a.ping: setAttribute() to 1.5 followed by IDL get 
 PASS a.ping: setAttribute() to true followed by getAttribute() 
-FAIL a.ping: setAttribute() to true followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/true" but got "true"
+PASS a.ping: setAttribute() to true followed by IDL get 
 PASS a.ping: setAttribute() to false followed by getAttribute() 
-FAIL a.ping: setAttribute() to false followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/false" but got "false"
+PASS a.ping: setAttribute() to false followed by IDL get 
 PASS a.ping: setAttribute() to object "[object Object]" followed by getAttribute() 
-FAIL a.ping: setAttribute() to object "[object Object]" followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/[object http://localhost:8800/html/dom/Object]" but got "[object Object]"
+PASS a.ping: setAttribute() to object "[object Object]" followed by IDL get 
 PASS a.ping: setAttribute() to NaN followed by getAttribute() 
-FAIL a.ping: setAttribute() to NaN followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/NaN" but got "NaN"
+PASS a.ping: setAttribute() to NaN followed by IDL get 
 PASS a.ping: setAttribute() to Infinity followed by getAttribute() 
-FAIL a.ping: setAttribute() to Infinity followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/Infinity" but got "Infinity"
+PASS a.ping: setAttribute() to Infinity followed by IDL get 
 PASS a.ping: setAttribute() to -Infinity followed by getAttribute() 
-FAIL a.ping: setAttribute() to -Infinity followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/-Infinity" but got "-Infinity"
+PASS a.ping: setAttribute() to -Infinity followed by IDL get 
 PASS a.ping: setAttribute() to "\0" followed by getAttribute() 
-FAIL a.ping: setAttribute() to "\0" followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/reflection-text.html" but got "\0"
+PASS a.ping: setAttribute() to "\0" followed by IDL get 
 PASS a.ping: setAttribute() to null followed by getAttribute() 
-FAIL a.ping: setAttribute() to null followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/null" but got "null"
+PASS a.ping: setAttribute() to null followed by IDL get 
 PASS a.ping: setAttribute() to object "test-toString" followed by getAttribute() 
-FAIL a.ping: setAttribute() to object "test-toString" followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/test-toString" but got "test-toString"
+PASS a.ping: setAttribute() to object "test-toString" followed by IDL get 
 PASS a.ping: setAttribute() to object "test-valueOf" followed by getAttribute() 
-FAIL a.ping: setAttribute() to object "test-valueOf" followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/test-valueOf" but got "test-valueOf"
+PASS a.ping: setAttribute() to object "test-valueOf" followed by IDL get 
 PASS a.ping: IDL set to "" should not throw 
 PASS a.ping: IDL set to "" followed by getAttribute() 
 PASS a.ping: IDL set to "" followed by IDL get 
-PASS a.ping: IDL set to " foo   " should not throw 
-PASS a.ping: IDL set to " foo   " followed by getAttribute() 
-FAIL a.ping: IDL set to " foo   " followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/foo" but got " foo   "
-PASS a.ping: IDL set to "http://site.example/ foo  bar   baz" should not throw 
-PASS a.ping: IDL set to "http://site.example/ foo  bar   baz" followed by getAttribute() 
-FAIL a.ping: IDL set to "http://site.example/ foo  bar   baz" followed by IDL get assert_equals: expected "http://site.example/ http://localhost:8800/html/dom/foo http://localhost:8800/html/dom/bar http://localhost:8800/html/dom/baz" but got "http://site.example/ foo  bar   baz"
-PASS a.ping: IDL set to "//site.example/path???@#l" should not throw 
-PASS a.ping: IDL set to "//site.example/path???@#l" followed by getAttribute() 
-FAIL a.ping: IDL set to "//site.example/path???@#l" followed by IDL get assert_equals: expected "http://site.example/path???@#l" but got "//site.example/path???@#l"
-PASS a.ping: IDL set to "\0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f " should not throw 
-PASS a.ping: IDL set to "\0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f " followed by getAttribute() 
-FAIL a.ping: IDL set to "\0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f " followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/reflection-text.html http://localhost:8800/html/dom/reflection-text.html http://localhost:8800/html/dom/reflection-text.html http://localhost:8800/html/dom/reflection-text.html" but got "\0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f "
+PASS a.ping: IDL set to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo " should not throw 
+PASS a.ping: IDL set to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo " followed by getAttribute() 
+PASS a.ping: IDL set to " \0\x01\x02\x03\x04\x05\x06\x07 \b\t\n\v\f\r\x0e\x0f \x10\x11\x12\x13\x14\x15\x16\x17 \x18\x19\x1a\x1b\x1c\x1d\x1e\x1f  foo " followed by IDL get 
 PASS a.ping: IDL set to undefined should not throw 
 PASS a.ping: IDL set to undefined followed by getAttribute() 
-FAIL a.ping: IDL set to undefined followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/undefined" but got "undefined"
+PASS a.ping: IDL set to undefined followed by IDL get 
 PASS a.ping: IDL set to 7 should not throw 
 PASS a.ping: IDL set to 7 followed by getAttribute() 
-FAIL a.ping: IDL set to 7 followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/7" but got "7"
+PASS a.ping: IDL set to 7 followed by IDL get 
 PASS a.ping: IDL set to 1.5 should not throw 
 PASS a.ping: IDL set to 1.5 followed by getAttribute() 
-FAIL a.ping: IDL set to 1.5 followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/1.5" but got "1.5"
+PASS a.ping: IDL set to 1.5 followed by IDL get 
 PASS a.ping: IDL set to true should not throw 
 PASS a.ping: IDL set to true followed by getAttribute() 
-FAIL a.ping: IDL set to true followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/true" but got "true"
+PASS a.ping: IDL set to true followed by IDL get 
 PASS a.ping: IDL set to false should not throw 
 PASS a.ping: IDL set to false followed by getAttribute() 
-FAIL a.ping: IDL set to false followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/false" but got "false"
+PASS a.ping: IDL set to false followed by IDL get 
 PASS a.ping: IDL set to object "[object Object]" should not throw 
 PASS a.ping: IDL set to object "[object Object]" followed by getAttribute() 
-FAIL a.ping: IDL set to object "[object Object]" followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/[object http://localhost:8800/html/dom/Object]" but got "[object Object]"
+PASS a.ping: IDL set to object "[object Object]" followed by IDL get 
 PASS a.ping: IDL set to NaN should not throw 
 PASS a.ping: IDL set to NaN followed by getAttribute() 
-FAIL a.ping: IDL set to NaN followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/NaN" but got "NaN"
+PASS a.ping: IDL set to NaN followed by IDL get 
 PASS a.ping: IDL set to Infinity should not throw 
 PASS a.ping: IDL set to Infinity followed by getAttribute() 
-FAIL a.ping: IDL set to Infinity followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/Infinity" but got "Infinity"
+PASS a.ping: IDL set to Infinity followed by IDL get 
 PASS a.ping: IDL set to -Infinity should not throw 
 PASS a.ping: IDL set to -Infinity followed by getAttribute() 
-FAIL a.ping: IDL set to -Infinity followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/-Infinity" but got "-Infinity"
+PASS a.ping: IDL set to -Infinity followed by IDL get 
 PASS a.ping: IDL set to "\0" should not throw 
 PASS a.ping: IDL set to "\0" followed by getAttribute() 
-FAIL a.ping: IDL set to "\0" followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/reflection-text.html" but got "\0"
+PASS a.ping: IDL set to "\0" followed by IDL get 
 PASS a.ping: IDL set to null should not throw 
 PASS a.ping: IDL set to null followed by getAttribute() 
-FAIL a.ping: IDL set to null followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/null" but got "null"
+PASS a.ping: IDL set to null followed by IDL get 
 PASS a.ping: IDL set to object "test-toString" should not throw 
 PASS a.ping: IDL set to object "test-toString" followed by getAttribute() 
-FAIL a.ping: IDL set to object "test-toString" followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/test-toString" but got "test-toString"
+PASS a.ping: IDL set to object "test-toString" followed by IDL get 
 PASS a.ping: IDL set to object "test-valueOf" should not throw 
 PASS a.ping: IDL set to object "test-valueOf" followed by getAttribute() 
-FAIL a.ping: IDL set to object "test-valueOf" followed by IDL get assert_equals: expected "http://localhost:8800/html/dom/test-valueOf" but got "test-valueOf"
+PASS a.ping: IDL set to object "test-valueOf" followed by IDL get 
 PASS a.rel: typeof IDL attribute 
 PASS a.rel: IDL get with DOM attribute unset 
 PASS a.rel: setAttribute() to "" followed by getAttribute() 
index 2f31db9..72ed01e 100644 (file)
@@ -10,9 +10,8 @@ ReflectionTests.start = new Date().getTime();
  * algorithm here, because we're not concerned with its correctness -- we're
  * only testing HTML reflection, not Web Addresses.
  *
- * Return "" if the URL couldn't be resolved, since this is really for
- * reflected URL attributes, and those are supposed to return "" if the URL
- * couldn't be resolved.
+ * Return the input if the URL couldn't be resolved, per the spec for
+ * reflected URL attributes.
  *
  * It seems like IE9 doesn't implement URL decomposition attributes correctly
  * for <a>, which causes all these tests to fail.  Ideally I'd do this in some
@@ -25,42 +24,18 @@ ReflectionTests.start = new Date().getTime();
  * special cases for all the values we test.
  */
 ReflectionTests.resolveUrl = function(url) {
+    url = String(url);
     var el = document.createElement("a");
-    el.href = String(url);
+    el.href = url;
     var ret = el.protocol + "//" + el.host + el.pathname + el.search + el.hash;
     if (ret == "//") {
-        return "";
+        return url;
     } else {
         return ret;
     }
 };
 
 /**
- * Given some input, convert to a multi-URL value for IDL get per the spec.
- */
-ReflectionTests.urlsExpected = function(urls) {
-    var expected = "";
-    // TODO: Test other whitespace?
-    urls = urls + "";
-    var split = urls.split(" ");
-    for (var j = 0; j < split.length; j++) {
-        if (split[j] == "") {
-            continue;
-        }
-        var append = ReflectionTests.resolveUrl(split[j]);
-        if (append == "") {
-            continue;
-        }
-        if (expected == "") {
-            expected = append;
-        } else {
-            expected += " " + append;
-        }
-    }
-    return expected;
-};
-
-/**
  * The "rules for parsing non-negative integers" from the HTML spec.  They're
  * mostly used for reflection, so here seems like as good a place to test them
  * as any.  Returns false on error.
@@ -177,14 +152,17 @@ ReflectionTests.typeMap = {
                 ]
     },
     /**
-     * "If a reflecting IDL attribute is a DOMString attribute whose content
-     * attribute is defined to contain a URL, then on getting, the IDL
-     * attribute must resolve the value of the content attribute relative to
-     * the element and return the resulting absolute URL if that was
-     * successful, or the empty string otherwise; and on setting, must set the
-     * content attribute to the specified literal value. If the content
-     * attribute is absent, the IDL attribute must return the default value, if
-     * the content attribute has one, or else the empty string."
+     * "If a reflecting IDL attribute is a USVString attribute whose content
+     * attribute is defined to contain a URL, then on getting, if the content
+     * attribute is absent, the IDL attribute must return the empty string.
+     * Otherwise, the IDL attribute must parse the value of the content
+     * attribute relative to the element's node document and if that is
+     * successful, return the resulting URL string. If parsing fails, then the
+     * value of the content attribute must be returned instead, converted to a
+     * USVString. On setting, the content attribute must be set to the specified
+     * new value."
+     *
+     * Also HTMLHyperLinkElementUtils href, used by a.href and area.href
      */
     "url": {
         "jsType": "string",
@@ -198,31 +176,6 @@ ReflectionTests.typeMap = {
         "idlIdlExpected": ReflectionTests.resolveUrl
     },
     /**
-     * "If a reflecting IDL attribute is a DOMString attribute whose content
-     * attribute is defined to contain one or more URLs, then on getting, the
-     * IDL attribute must split the content attribute on spaces and return the
-     * concatenation of resolving each token URL to an absolute URL relative to
-     * the element, with a single U+0020 SPACE character between each URL,
-     * ignoring any tokens that did not resolve successfully. If the content
-     * attribute is absent, the IDL attribute must return the default value, if
-     * the content attribute has one, or else the empty string. On setting, the
-     * IDL attribute must set the content attribute to the specified literal
-     * value."
-     *
-     * Seems to only be used for ping.
-     */
-    "urls": {
-        "jsType": "string",
-        "defaultVal": "",
-        "domTests": ["", " foo   ", "http://site.example/ foo  bar   baz",
-                     "//site.example/path???@#l", binaryString, undefined, 7, 1.5, true,
-                     false, {"test": 6}, NaN, +Infinity, -Infinity, "\0", null,
-                     {"toString":function(){return "test-toString";}},
-                     {"valueOf":function(){return "test-valueOf";}, toString:null}],
-        "domExpected": ReflectionTests.urlsExpected,
-        "idlIdlExpected": ReflectionTests.urlsExpected
-    },
-    /**
      * "If a reflecting IDL attribute is a DOMString whose content attribute is
      * an enumerated attribute, and the IDL attribute is limited to only known
      * values, then, on getting, the IDL attribute must return the conforming
diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-style-element/historical-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-style-element/historical-expected.txt
new file mode 100644 (file)
index 0000000..65c7ae6
--- /dev/null
@@ -0,0 +1,3 @@
+
+PASS style.scoped should not be supported 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-style-element/historical.html b/LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-style-element/historical.html
new file mode 100644 (file)
index 0000000..d475f5b
--- /dev/null
@@ -0,0 +1,14 @@
+<!doctype html>
+<title>Historical style element features should not be supported</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+function t(property) {
+  test(function() {
+    assert_false(property in document.createElement('style'));
+  }, 'style.' + property + ' should not be supported');
+}
+// added in https://github.com/whatwg/html/commit/29cf39d2163cfc85b67409f4e10390619ffb2b40
+// removed in https://github.com/whatwg/html/commit/c2a3b2a2e3db49c14b486a5e99acf7d10cfe8443
+t('scoped');
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-style-element/style_scoped-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-style-element/style_scoped-expected.txt
deleted file mode 100644 (file)
index 981e200..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-
-FAIL The scoped attribute is present, the style information must be applied only to its parent element assert_equals: The width should not be applied. expected "50px" but got "100px"
-
diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-style-element/style_scoped.html b/LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-style-element/style_scoped.html
deleted file mode 100644 (file)
index d18e925..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <meta charset="utf-8">
-    <title>HTML Test: The scoped attribute must apply the style information only to its parent element</title>
-    <link rel="author" title="Intel" href="http://www.intel.com/">
-    <link rel="help" href="https://html.spec.whatwg.org/multipage/#attr-style-scoped">
-    <link rel="help" href="https://html.spec.whatwg.org/multipage/#the-style-element">
-    <script src="/resources/testharness.js"></script>
-    <script src="/resources/testharnessreport.js"></script>
-    <style>
-      #test {
-        width: 50px;
-      }
-    </style>
-  </head>
-  <body>
-    <div id="log"></div>
-    <div id="test"></div>
-    <div>
-      <style id="style">
-        #test {
-          width: 100px;
-        }
-      </style>
-    <div>
-    <script>
-      test(function() {
-        var testElement = document.getElementById("test");
-        var style = document.getElementById("style");
-        var width1, width2;
-
-        width1 = window.getComputedStyle(testElement, false)["width"];
-        assert_equals(width1, "100px", "The style 'width' should be applied.");
-
-        style.scoped = true;
-        width2 = window.getComputedStyle(testElement, false)["width"];
-        assert_equals(width2, "50px", "The width should not be applied.");
-      }, "The scoped attribute is present, the style information must be applied only to its parent element");
-    </script>
-  </body>
-</html>
index a320deb..186cbeb 100644 (file)
@@ -15,10 +15,10 @@ Property values requiring vendor prefixes:
 None
 ------------------------------------------------------------------------
 List of files:
+/LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-style-element/historical.html
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-style-element/html_style_in_comment-expected.html
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-style-element/html_style_in_comment.xhtml
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-style-element/style-error-01.html
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-style-element/style_disabled.html
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-style-element/style_events.html
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-style-element/style_media.html
-/LayoutTests/imported/w3c/web-platform-tests/html/semantics/document-metadata/the-style-element/style_scoped.html
index 9b9c7f0..ded6b94 100644 (file)
@@ -42,4 +42,9 @@ PASS video.audio should not be supported
 PASS audio.startDate should not be supported 
 PASS video.startDate should not be supported 
 PASS TextTrackCue constructor should not be supported 
+FAIL audio.mediaGroup should not be supported assert_false: expected false got true
+FAIL video.mediaGroup should not be supported assert_false: expected false got true
+FAIL audio.controller should not be supported assert_false: expected false got true
+FAIL video.controller should not be supported assert_false: expected false got true
+FAIL MediaController constructor should not be supported assert_false: expected false got true
 
index 99f18b6..4519234 100644 (file)
@@ -42,4 +42,12 @@ test(function() {
     new TextTrackCue(0, 0, '');
   });
 }, 'TextTrackCue constructor should not be supported');
+
+// added in https://github.com/whatwg/html/commit/66c5b32240c202c74f475872e7ea2cd163777b4a
+// removed in https://github.com/whatwg/html/commit/634698e70ea4586d58c989fa7d2cbfcad20d33e6
+t('mediaGroup');
+t('controller');
+test(function() {
+  assert_false('MediaController' in window);
+}, 'MediaController constructor should not be supported');
 </script>
index 2aef677..f6bbcaa 100644 (file)
@@ -1,11 +1,13 @@
 
 PASS HTMLTrackElement.src missing value 
-FAIL HTMLTrackElement.src empty string in content attribute assert_equals: expected "" but got "http://localhost:8800/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/src.html"
-FAIL HTMLTrackElement.src empty string in IDL attribute assert_equals: expected "" but got "http://localhost:8800/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/src.html"
+PASS HTMLTrackElement.src empty string in content attribute 
+PASS HTMLTrackElement.src assigning empty string to IDL attribute 
 PASS HTMLTrackElement.src unresolvable value in content attribute 
-PASS HTMLTrackElement.src resolvable value in content attribute 
-FAIL HTMLTrackElement.src \u0000 in content attribute assert_equals: expected "http://localhost:8800/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/%00" but got "http://localhost:8800/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/src.html"
 PASS HTMLTrackElement.src assigning unresolvable value to IDL attribute 
+PASS HTMLTrackElement.src resolvable value in content attribute 
 PASS HTMLTrackElement.src assigning resolvable value to IDL attribute 
-FAIL HTMLTrackElement.src assigning \u0000 to IDL attribute assert_equals: expected "http://localhost:8800/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/%00" but got "http://localhost:8800/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/src.html"
+PASS HTMLTrackElement.src \u0000 in content attribute 
+PASS HTMLTrackElement.src assigning \u0000 to IDL attribute 
+FAIL HTMLTrackElement.src foo\u0000bar in content attribute assert_equals: expected "http://localhost:8800/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/foo%00bar" but got "http://localhost:8800/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/foo"
+FAIL HTMLTrackElement.src assigning foo\u0000bar to IDL attribute assert_equals: expected "http://localhost:8800/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/foo%00bar" but got "http://localhost:8800/html/semantics/embedded-content/media-elements/interfaces/HTMLElement/HTMLTrackElement/foo"
 
index cc70386..4089913 100644 (file)
@@ -5,73 +5,39 @@
 <div id=log></div>
 <script>
 test(function(){
-    var track = document.createElement('track');
-    assert_equals(track.src, '');
-    assert_equals(track.getAttribute('src'), null);
+  var track = document.createElement('track');
+  assert_equals(track.src, '');
+  assert_equals(track.getAttribute('src'), null);
 }, document.title + ' missing value');
 
-test(function(){
-    var track = document.createElement('track');
-    track.setAttribute('src', '');
-    assert_equals(track.src, '');
-    assert_equals(track.getAttribute('src'), '');
-}, document.title + ' empty string in content attribute');
-
-test(function(){
-    var track = document.createElement('track');
-    track.src = '';
-    assert_equals(track.src, '');
-    assert_equals(track.getAttribute('src'), '');
-}, document.title + ' empty string in IDL attribute');
-
-test(function(){
-    var track = document.createElement('track');
-    track.setAttribute('src', 'http://foo bar');
-    assert_equals(track.src, 'http://foo bar');
-    assert_equals(track.getAttribute('src'), 'http://foo bar');
-}, document.title + ' unresolvable value in content attribute');
-
-test(function(){
-    var track = document.createElement('track');
-    track.setAttribute('src', 'test');
-    var link = document.createElement('a');
-    link.setAttribute('href', 'test');
-    assert_equals(track.src, link.href);
-    assert_equals(track.getAttribute('src'), 'test');
-}, document.title + ' resolvable value in content attribute');
-
-test(function(){
-    var track = document.createElement('track');
-    track.setAttribute('src', '\u0000');
-    var link = document.createElement('a');
-    link.setAttribute('href', '%00');
-    assert_equals(track.src, link.href);
-    assert_equals(track.getAttribute('src'), '\u0000');
-}, document.title + ' \\u0000 in content attribute');
-
-test(function(){
-    var track = document.createElement('track');
-    track.src = 'http://foo bar';
-    assert_equals(track.src, 'http://foo bar');
-    assert_equals(track.getAttribute('src'), 'http://foo bar');
-}, document.title + ' assigning unresolvable value to IDL attribute');
-
-test(function(){
-    var track = document.createElement('track');
-    track.src = 'test';
-    var link = document.createElement('a');
-    link.setAttribute('href', 'test');
-    assert_equals(track.src, link.href);
-    assert_equals(track.getAttribute('src'), 'test');
-}, document.title + ' assigning resolvable value to IDL attribute');
-
-test(function(){
-    var track = document.createElement('track');
-    track.src = '\u0000';
-    var link = document.createElement('a');
-    link.setAttribute('href', '%00');
-    assert_equals(track.src, link.href);
-    assert_equals(track.getAttribute('src'), '\u0000');
-}, document.title + ' assigning \\u0000 to IDL attribute');
-
+function resolve(url) {
+  var link = document.createElement('a');
+  link.setAttribute('href', url);
+  return link.href;
+}
+
+var tests = [
+  {input:'', expectedIDL:resolve(''), desc:'empty string'},
+  {input:'http://foo bar', expectedIDL:'http://foo bar', desc:'unresolvable value'},
+  {input:'test', expectedIDL:resolve('test'), desc:'resolvable value'},
+  // Leading and trailing C0 controls and space is stripped per url spec.
+  {input:'\u0000', expectedIDL:resolve(''), desc:'\\u0000'},
+  {input:'foo\u0000bar', expectedIDL:resolve('foo%00bar'), desc:'foo\\u0000bar'},
+];
+
+tests.forEach(function(t) {
+  test(function(){
+      var track = document.createElement('track');
+      track.setAttribute('src', t.input);
+      assert_equals(track.src, t.expectedIDL);
+      assert_equals(track.getAttribute('src'), t.input);
+  }, [document.title, t.desc, 'in content attribute'].join(' '));
+
+  test(function(){
+      var track = document.createElement('track');
+      track.src = t.input;
+      assert_equals(track.src, t.expectedIDL);
+      assert_equals(track.getAttribute('src'), t.input);
+  }, [document.title, 'assigning', t.desc, 'to IDL attribute'].join(' '));
+});
 </script>
index 4d298ab..c28397d 100644 (file)
@@ -7,6 +7,8 @@ PASS invalid value default: "2,2,10,10" (foobar invalid)
 PASS invalid value default: "2,2,10,10" () 
 PASS empty string: "" (default) 
 PASS omitted coords: null (DEFAULT) 
+PASS simple: "2,2,10,10" (rect) 
+PASS simple: "2,2,10,10" (rectangle) 
 PASS simple: "20,40,10" (circle) 
 PASS simple: "20,40,10" (circ) 
 PASS simple: "20,40,10" (CIRCLE) 
index 2494227..1ad0690 100644 (file)
@@ -20,6 +20,9 @@ var tests = [
   {desc: 'empty string', shape: 'default', coords: "", hit: hitAll},
   {desc: 'omitted coords', shape: 'DEFAULT', coords: null, hit: hitAll},
 
+  {desc: 'simple', shape: 'rect', coords: "2,2,10,10", hit: hitRect},
+  {desc: 'simple', shape: 'rectangle', coords: "2,2,10,10", hit: hitRect},
+
   {desc: 'simple', shape: 'circle', coords: "20,40,10", hit: hitCircle},
   {desc: 'simple', shape: 'circ', coords: "20,40,10", hit: hitCircle},
   {desc: 'simple', shape: 'CIRCLE', coords: "20,40,10", hit: hitCircle},
index ffc824f..c731c28 100644 (file)
@@ -1,4 +1,11 @@
 
 PASS Canvas support for supportsContext 
 PASS Canvas support for probablySupportsContext 
+PASS CanvasRenderingContext2D support for width 
+PASS CanvasRenderingContext2D support for height 
+PASS Canvas support for setContext 
+PASS Canvas support for transferControlToProxy 
+PASS Window support for CanvasProxy 
+PASS Canvas support for commit 
+PASS CanvasRenderingContext2D constructors 
 
index bf96e9e..8c85817 100644 (file)
@@ -5,13 +5,39 @@
 <script src=/resources/testharnessreport.js></script>
 <div id=log></div>
 <script>
-var canvas;
+var canvas, context;
 setup(function() {
   canvas = document.createElement("canvas");
+  context = canvas.getContext('2d');
 });
-["supportsContext", "probablySupportsContext"].forEach(function(m) {
+function t(member, obj) {
+  var name = obj === canvas ? "Canvas" : String(obj).match(/\[object (\S+)\]/)[1];
   test(function() {
-    assert_false(m in canvas);
-  }, "Canvas support for " + m);
-});
+    assert_false(member in obj);
+  }, name + " support for " + member);
+}
+// added in https://github.com/whatwg/html/commit/0ecbf0e010df16d9c6d11eef6b2c58419158c4da
+// renamed in https://github.com/whatwg/html/commit/2542a12cb25ee93534cbed1f31b5e1bc05fcdd0e
+t("supportsContext", canvas);
+
+// removed in https://github.com/whatwg/html/commit/2cfb8e3f03d3166842d2ad0f661459d26e2a40eb
+t("probablySupportsContext", canvas);
+
+// removed in https://github.com/whatwg/html/commit/ef72f55da4acdf266174225c6ca8bf2a650d0219
+t("width", context);
+t("height", context);
+
+// removed in https://github.com/whatwg/html/commit/740634d0f30a3b76e9da166ac2fa8835fcc073ab
+t("setContext", canvas);
+t("transferControlToProxy", canvas);
+t("CanvasProxy", window);
+t("commit", canvas);
+test(function() {
+  assert_throws(new TypeError(), function() {
+    new CanvasRenderingContext2D();
+  }, 'no arguments');
+  assert_throws(new TypeError(), function() {
+    new CanvasRenderingContext2D(1, 1);
+  }, 'with arguments');
+}, "CanvasRenderingContext2D constructors");
 </script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/historical-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/historical-expected.txt
new file mode 100644 (file)
index 0000000..387587b
--- /dev/null
@@ -0,0 +1,3 @@
+
+PASS iframe.seamless should not be supported 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/historical.html b/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/historical.html
new file mode 100644 (file)
index 0000000..850a52f
--- /dev/null
@@ -0,0 +1,16 @@
+<!doctype html>
+<title>Historical iframe element features should not be supported</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id=log></div>
+<script>
+function t(property) {
+  test(function() {
+    assert_false(property in document.createElement('iframe'));
+  }, 'iframe.' + property + ' should not be supported');
+}
+
+// added in https://github.com/whatwg/html/commit/f6490f17f577fa3478791b29ad8c2b586418001f
+// removed in https://github.com/whatwg/html/commit/1490eba4dba5ab476f0981443a86c01acae01311
+t('seamless');
+</script>
index ae100ff..5321a3b 100644 (file)
@@ -21,6 +21,7 @@ List of files:
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/cross_origin_child.html
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/cross_origin_grandchild.html
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/cross_origin_parentage.html
+/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/historical.html
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-allowfullscreen.html
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-load-event.html
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe-with-base-expected.html
index 69b8616..2a0245d 100644 (file)
@@ -3,7 +3,7 @@ Harness Error (TIMEOUT), message = null
 
 PASS img (no src), onload, narrow 
 PASS img (no src), resize to wide 
-FAIL img (empty src), onload, narrow assert_equals: expected "" but got "http://localhost:8800/html/semantics/embedded-content/the-img-element/environment-changes/iframed.sub.html?id=e009c0c7-ac38-47aa-86c2-089727469390"
+FAIL img (empty src), onload, narrow assert_equals: expected "" but got "http://localhost:8800/html/semantics/embedded-content/the-img-element/environment-changes/iframed.sub.html?id=be66a72b-5cfb-43ca-a2eb-cdefb02fab7a"
 PASS img (empty src), resize to wide 
 PASS img (src only) broken image, onload, narrow 
 PASS img (src only) broken image, resize to wide 
@@ -25,7 +25,7 @@ PASS picture: same URL in source (max-width:500px) and img, onload, narrow
 FAIL picture: same URL in source (max-width:500px) and img, resize to wide assert_unreached: Got unexpected load event Reached unreachable code
 PASS img (no src), onload, wide 
 PASS img (no src), resize to narrow 
-FAIL img (empty src), onload, wide assert_equals: expected "" but got "http://localhost:8800/html/semantics/embedded-content/the-img-element/environment-changes/iframed.sub.html?id=8a65edba-2ac9-484a-870a-28e32d20662c"
+FAIL img (empty src), onload, wide assert_equals: expected "" but got "http://localhost:8800/html/semantics/embedded-content/the-img-element/environment-changes/iframed.sub.html?id=0bbe45b0-ade2-4f85-8ade-697e62732529"
 PASS img (empty src), resize to narrow 
 PASS img (src only) broken image, onload, wide 
 PASS img (src only) broken image, resize to narrow 
@@ -35,13 +35,13 @@ PASS img (srcset 1 cand) broken image, onload, wide
 PASS img (srcset 1 cand) broken image, resize to narrow 
 PASS img (srcset 1 cand) valid image, onload, wide 
 PASS img (srcset 1 cand) valid image, resize to narrow 
-FAIL picture: source (max-width:500px) broken image, img broken image, onload, wide assert_equals: expected "http://localhost:8800/images/broken.png?71-8a65edba-2ac9-484a-870a-28e32d20662c" but got "http://localhost:8800/images/broken.png?70-8a65edba-2ac9-484a-870a-28e32d20662c"
+FAIL picture: source (max-width:500px) broken image, img broken image, onload, wide assert_equals: expected "http://localhost:8800/images/broken.png?71-0bbe45b0-ade2-4f85-8ade-697e62732529" but got "http://localhost:8800/images/broken.png?70-0bbe45b0-ade2-4f85-8ade-697e62732529"
 TIMEOUT picture: source (max-width:500px) broken image, img broken image, resize to narrow Test timed out
-FAIL picture: source (max-width:500px) broken image, img valid image, onload, wide assert_equals: expected "http://localhost:8800/images/green-2x2.png?81-8a65edba-2ac9-484a-870a-28e32d20662c" but got "http://localhost:8800/images/broken.png?80-8a65edba-2ac9-484a-870a-28e32d20662c"
+FAIL picture: source (max-width:500px) broken image, img valid image, onload, wide assert_equals: expected "http://localhost:8800/images/green-2x2.png?81-0bbe45b0-ade2-4f85-8ade-697e62732529" but got "http://localhost:8800/images/broken.png?80-0bbe45b0-ade2-4f85-8ade-697e62732529"
 TIMEOUT picture: source (max-width:500px) broken image, img valid image, resize to narrow Test timed out
-FAIL picture: source (max-width:500px) valid image, img broken image, onload, wide assert_equals: expected "http://localhost:8800/images/broken.png?91-8a65edba-2ac9-484a-870a-28e32d20662c" but got "http://localhost:8800/images/green-1x1.png?90-8a65edba-2ac9-484a-870a-28e32d20662c"
+FAIL picture: source (max-width:500px) valid image, img broken image, onload, wide assert_equals: expected "http://localhost:8800/images/broken.png?91-0bbe45b0-ade2-4f85-8ade-697e62732529" but got "http://localhost:8800/images/green-1x1.png?90-0bbe45b0-ade2-4f85-8ade-697e62732529"
 TIMEOUT picture: source (max-width:500px) valid image, img broken image, resize to narrow Test timed out
-FAIL picture: source (max-width:500px) valid image, img valid image, onload, wide assert_equals: expected "http://localhost:8800/images/green-2x2.png?101-8a65edba-2ac9-484a-870a-28e32d20662c" but got "http://localhost:8800/images/green-1x1.png?100-8a65edba-2ac9-484a-870a-28e32d20662c"
+FAIL picture: source (max-width:500px) valid image, img valid image, onload, wide assert_equals: expected "http://localhost:8800/images/green-2x2.png?101-0bbe45b0-ade2-4f85-8ade-697e62732529" but got "http://localhost:8800/images/green-1x1.png?100-0bbe45b0-ade2-4f85-8ade-697e62732529"
 TIMEOUT picture: source (max-width:500px) valid image, img valid image, resize to narrow Test timed out
 PASS picture: same URL in source (max-width:500px) and img, onload, wide 
 PASS picture: same URL in source (max-width:500px) and img, resize to narrow 
diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/nonexistent-image-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/nonexistent-image-expected.txt
new file mode 100644 (file)
index 0000000..9953476
--- /dev/null
@@ -0,0 +1,4 @@
+
+
+PASS Loading an nonexisting image should fail; triggering appropriate events 
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/nonexistent-image.html b/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/nonexistent-image.html
new file mode 100644 (file)
index 0000000..f58569e
--- /dev/null
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML>
+<meta charset="utf-8">
+<title>Loading an nonexisting image should fail; triggering appropriate events</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<img>
+
+<script>
+  async_test(function(t) {
+    var img = document.querySelector("img");
+    img.onload = this.step_func_done(function() {
+      assert_unreached("image.onload() was not supposed to be called");
+    });
+    img.onerror = this.step_func_done(function(e) {
+      assert_equals(e.type, "error", "image.onerror() called");
+      t.done();
+    });
+    img.src = "404";
+  });
+</script>
index 0d89938..28c09d4 100644 (file)
@@ -24,5 +24,6 @@ List of files:
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/image-1.jpg
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/img.complete.html
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/invalid-src.html
+/LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/nonexistent-image.html
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/update-media.html
 /LayoutTests/imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/update-the-source-set.html
index ae355f7..f955a10 100644 (file)
@@ -51,7 +51,7 @@ PASS [INPUT in EMAIL status] suffering from a type mismatch
 PASS [INPUT in EMAIL status] suffering from a type mismatch (in a form) 
 PASS [INPUT in EMAIL status] suffering from being missing 
 PASS [INPUT in EMAIL status] suffering from being missing (in a form) 
-FAIL [INPUT in DATETIME status] The datetime type must be supported. assert_equals: The datetime type should be supported. expected "datetime" but got "text"
+FAIL [INPUT in DATETIME-LOCAL status] The datetime-local type must be supported. assert_equals: The datetime-local type should be supported. expected "datetime-local" but got "text"
 FAIL [INPUT in DATE status] The date type must be supported. assert_equals: The date type should be supported. expected "date" but got "text"
 FAIL [INPUT in MONTH status] The month type must be supported. assert_equals: The month type should be supported. expected "month" but got "text"
 FAIL [INPUT in WEEK status] The week type must be supported. assert_equals: The week type should be supported. expected "week" but got "text"
index 9ef5ddd..429fa32 100644 (file)
     },
     {
       tag: "input",
-      types: ["datetime"],
+      types: ["datetime-local"],
       testData: [
         {conditions: {}, expected: true, name: "[target] no constraint"},
-        {conditions: {max: "2000-01-01T12:00:00Z", value: "2001-01-01T12:00:00Z"}, expected: false, name: "[target] suffering from an overflow"},
-        {conditions: {min: "2001-01-01T12:00:00Z", value: "2000-01-01T12:00:00Z"}, expected: false, name: "[target] suffering from an underflow"},
-        {conditions: {step: 2 * 60 * 1000, value: "2001-01-01T12:03:00Z"}, expected: false, name: "[target] suffering from a step mismatch"},
+        {conditions: {max: "2000-01-01T12:00:00", value: "2001-01-01T12:00:00"}, expected: false, name: "[target] suffering from an overflow"},
+        {conditions: {min: "2001-01-01T12:00:00", value: "2000-01-01T12:00:00"}, expected: false, name: "[target] suffering from an underflow"},
+        {conditions: {step: 2 * 60 * 1000, value: "2001-01-01T12:03:00"}, expected: false, name: "[target] suffering from a step mismatch"},
         {conditions: {required: true, value: ""}, expected: false, name: "[target] suffering from being missing"}
       ]
     },
@@ -71,7 +71,7 @@
         {conditions: {}, expected: true, name: "[target] no constraint"},
         {conditions: {max: "2000-01", value: "2001-01"}, expected: false, name: "[target] suffering from an overflow"},
         {conditions: {min: "2001-01", value: "2000-01"}, expected: false, name: "[target] suffering from an underflow"},
-        {conditions: {step: 2 * 1 * 1, value: "2001-03"}, expected: false, name: "[target] suffering from a step mismatch"},
+        {conditions: {step: 3 * 1 * 1, value: "2001-03"}, expected: false, name: "[target] suffering from a step mismatch"},
         {conditions: {required: true, value: ""}, expected: false, name: "[target] suffering from being missing"}
       ]
     },
index 462ea7e..efba39a 100644 (file)
@@ -51,7 +51,7 @@ FAIL [INPUT in EMAIL status] suffering from a type mismatch assert_true: The rep
 FAIL [INPUT in EMAIL status] suffering from a type mismatch (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
 FAIL [INPUT in EMAIL status] suffering from being missing assert_true: The reportValidity method doesn't exist. expected true got false
 FAIL [INPUT in EMAIL status] suffering from being missing (in a form) assert_true: The reportValidity method doesn't exist. expected true got false
-FAIL [INPUT in DATETIME status] The datetime type must be supported. assert_equals: The datetime type should be supported. expected "datetime" but got "text"
+FAIL [INPUT in DATETIME-LOCAL status] The datetime-local type must be supported. assert_equals: The datetime-local type should be supported. expected "datetime-local" but got "text"
 FAIL [INPUT in DATE status] The date type must be supported. assert_equals: The date type should be supported. expected "date" but got "text"
 FAIL [INPUT in MONTH status] The month type must be supported. assert_equals: The month type should be supported. expected "month" but got "text"
 FAIL [INPUT in WEEK status] The week type must be supported. assert_equals: The week type should be supported. expected "week" but got "text"
index f69c125..e7f9105 100644 (file)
     },
     {
       tag: "input",
-      types: ["datetime"],
+      types: ["datetime-local"],
       testData: [
         {conditions: {}, expected: true, name: "[target] no constraint"},
-        {conditions: {max: "2000-01-01T12:00:00Z", value: "2001-01-01T12:00:00Z"}, expected: false, name: "[target] suffering from an overflow"},
-        {conditions: {min: "2001-01-01T12:00:00Z", value: "2000-01-01T12:00:00Z"}, expected: false, name: "[target] suffering from an underflow"},
-        {conditions: {step: 2 * 60 * 1000, value: "2001-01-01T12:03:00Z"}, expected: false, name: "[target] suffering from a step mismatch"},
+        {conditions: {max: "2000-01-01T12:00:00", value: "2001-01-01T12:00:00"}, expected: false, name: "[target] suffering from an overflow"},
+        {conditions: {min: "2001-01-01T12:00:00", value: "2000-01-01T12:00:00"}, expected: false, name: "[target] suffering from an underflow"},
+        {conditions: {step: 2 * 60 * 1000, value: "2001-01-01T12:03:00"}, expected: false, name: "[target] suffering from a step mismatch"},
         {conditions: {required: true, value: ""}, expected: false, name: "[target] suffering from being missing"}
       ]
     },
@@ -71,7 +71,7 @@
         {conditions: {}, expected: true, name: "[target] no constraint"},
         {conditions: {max: "2000-01", value: "2001-01"}, expected: false, name: "[target] suffering from an overflow"},
         {conditions: {min: "2001-01", value: "2000-01"}, expected: false, name: "[target] suffering from an underflow"},
-        {conditions: {step: 2 * 1 * 1, value: "2001-03"}, expected: false, name: "[target] suffering from a step mismatch"},
+        {conditions: {step: 3 * 1 * 1, value: "2001-03"}, expected: false, name: "[target] suffering from a step mismatch"},
         {conditions: {required: true, value: ""}, expected: false, name: "[target] suffering from being missing"}
       ]
     },
index 976a961..18f51a5 100644 (file)
@@ -1,5 +1,5 @@
 
-FAIL [INPUT in DATETIME status] The datetime type must be supported. assert_equals: The datetime type should be supported. expected "datetime" but got "text"
+FAIL [INPUT in DATETIME-LOCAL status] The datetime-local type must be supported. assert_equals: The datetime-local type should be supported. expected "datetime-local" but got "text"
 FAIL [INPUT in DATE status] The date type must be supported. assert_equals: The date type should be supported. expected "date" but got "text"
 FAIL [INPUT in MONTH status] The month type must be supported. assert_equals: The month type should be supported. expected "month" but got "text"
 FAIL [INPUT in WEEK status] The week type must be supported. assert_equals: The week type should be supported. expected "week" but got "text"
index 2fe2142..ca423ef 100644 (file)
   var testElements = [
     {
       tag: "input",
-      types: ["datetime"],
+      types: ["datetime-local"],
       testData: [
-        {conditions: {max: "", value: "2000-01-01T12:00:00Z"}, expected: false, name: "[target] The max attribute is not set"},
-        {conditions: {max: "2000-01-01T12:00:00Z", value: ""}, expected: false, name: "[target] Value is empty string"},
-        {conditions: {max: "2000-01-01  12:00:00Z", value: "2001-01-01T12:00:00Z"}, expected: false, name: "[target] The max attribute is an invalid global date time string"},
-        {conditions: {max: "2000-01-01T12:00:00Z", value: "2000-01-01T11:00:00Z"}, expected: false, name: "[target] The max attribute is greater than the value attribute"},
-        {conditions: {max: "2000-01-01T23:59:59Z", value: "2001-01-01T24:00:00Z"}, expected: false, name: "[target] The value is an invalid datetime string(hour is greater than 23)"},
-        {conditions: {max: "1970-01-01T12:00Z", value: "80-01-01T12:00Z"}, expected: false, name: "[target] The value if an invalid date time string(year is two digits)"},
-        {conditions: {max: "2000-01-01T12:00:00Z", value: "2001-01-01T13:00:00Z"}, expected: true, name: "[target] The value is greater than max"},
-        {conditions: {max: "2000-01-01T12:00:00.1Z", value: "2000-01-01T12:00:00.2Z"}, expected: true, name: "[target] The value is greater than max(with millisecond in 1 digit)"},
-        {conditions: {max: "2000-01-01T12:00:00.01Z", value: "2000-01-01T12:00:00.02Z"}, expected: true, name: "[target] The value is greater than max(with millisecond in 2 digits)"},
-        {conditions: {max: "2000-01-01T12:00:00.001Z", value: "2000-01-01T12:00:00.002Z"}, expected: true, name: "[target] The value is greater than max(with millisecond in 3 digits)"},
+        {conditions: {max: "", value: "2000-01-01T12:00:00"}, expected: false, name: "[target] The max attribute is not set"},
+        {conditions: {max: "2000-01-01T12:00:00", value: ""}, expected: false, name: "[target] Value is empty string"},
+        {conditions: {max: "2000-01-01  12:00:00", value: "2001-01-01T12:00:00"}, expected: false, name: "[target] The max attribute is an invalid local date time string"},
+        {conditions: {max: "2000-01-01T12:00:00", value: "2000-01-01T11:00:00"}, expected: false, name: "[target] The max attribute is greater than the value attribute"},
+        {conditions: {max: "2000-01-01T23:59:59", value: "2001-01-01T24:00:00"}, expected: false, name: "[target] The value is an invalid local date time string(hour is greater than 23)"},
+        {conditions: {max: "1970-01-01T12:00", value: "80-01-01T12:00"}, expected: false, name: "[target] The value if an invalid local date time string(year is two digits)"},
+        {conditions: {max: "2000-01-01T12:00:00", value: "2001-01-01T13:00:00"}, expected: true, name: "[target] The value is greater than max"},
+        {conditions: {max: "2000-01-01T12:00:00.1", value: "2000-01-01T12:00:00.2"}, expected: true, name: "[target] The value is greater than max(with millisecond in 1 digit)"},
+        {conditions: {max: "2000-01-01T12:00:00.01", value: "2000-01-01T12:00:00.02"}, expected: true, name: "[target] The value is greater than max(with millisecond in 2 digits)"},
+        {conditions: {max: "2000-01-01T12:00:00.001", value: "2000-01-01T12:00:00.002"}, expected: true, name: "[target] The value is greater than max(with millisecond in 3 digits)"},
         {conditions: {max: "2000-01-01T12:00:00", value: "10000-01-01T12:00:00"}, expected: true, name: "[target] The value is greater than max(Year is 10000 should be valid)"},
-        {conditions: {max: "8592-01-01T02:09+02:09", value: "8593-01-01T02:09+02:09"}, expected: true, name: "[target] The value is greater than max(with timezone)"}
       ]
     },
     {
index d178dbf..608640e 100644 (file)
@@ -1,5 +1,5 @@
 
-FAIL [INPUT in DATETIME status] The datetime type must be supported. assert_equals: The datetime type should be supported. expected "datetime" but got "text"
+FAIL [INPUT in DATETIME-LOCAL status] The datetime-local type must be supported. assert_equals: The datetime-local type should be supported. expected "datetime-local" but got "text"
 FAIL [INPUT in DATE status] The date type must be supported. assert_equals: The date type should be supported. expected "date" but got "text"
 FAIL [INPUT in MONTH status] The month type must be supported. assert_equals: The month type should be supported. expected "month" but got "text"
 FAIL [INPUT in WEEK status] The week type must be supported. assert_equals: The week type should be supported. expected "week" but got "text"
index 567345c..d6bf860 100644 (file)
   var testElements = [
     {
       tag: "input",
-      types: ["datetime"],
+      types: ["datetime-local"],
       testData: [
-        {conditions: {min: "", value: "2000-01-01T12:00:00Z"}, expected: false, name: "[target] The min attribute is not set"},
-        {conditions: {min: "2000-01-01T12:00:00Z", value: ""}, expected: false, name: "[target] Value is empty string"},
-        {conditions: {min: "2001-01-01  12:00:00Z", value: "2000-01-01T12:00:00Z"}, expected: false, name: "[target] The min attribute is an invalid global date time string"},
-        {conditions: {min: "2000-01-01T11:00:00Z", value: "2000-01-01T12:00:00Z"}, expected: false, name: "[target] The min attribute is less than the value attribute"},
-        {conditions: {min: "2001-01-01T23:59:59Z", value: "2000-01-01T24:00:00Z"}, expected: false, name: "[target] The value is an invalid datetime string(hour is greater than 23)"},
-        {conditions: {min: "1980-01-01T12:00Z", value: "79-01-01T12:00Z"}, expected: false, name: "[target] The value is an invalid date time string(year is two digits)"},
-        {conditions: {min: "2000-01-01T13:00:00Z", value: "2000-01-01T12:00:00Z"}, expected: true, name: "[target] The value is less than min"},
-        {conditions: {min: "2000-01-01T12:00:00.2Z", value: "2000-01-01T12:00:00.1Z"}, expected: true, name: "[target] The value is less than min(with millisecond in 1 digit)"},
-        {conditions: {min: "2000-01-01T12:00:00.02Z", value: "2000-01-01T12:00:00.01Z"}, expected: true, name: "[target] The value is less than min(with millisecond in 2 digits)"},
-        {conditions: {min: "2000-01-01T12:00:00.002Z", value: "2000-01-01T12:00:00.001Z"}, expected: true, name: "[target] The value is less than min(with millisecond in 3 digits)"},
-        {conditions: {min: "10000-01-01T12:00:00Z", value: "2000-01-01T12:00:00Z"}, expected: true, name: "[target] The value is less than min(Year is 10000 should be valid)"},
-        {conditions: {min: "8593-01-01T02:09+02:09", value: "8592-01-01T02:09+02:09"}, expected: true, name: "[target] The value is greater than max(with timezone)"}
+        {conditions: {min: "", value: "2000-01-01T12:00:00"}, expected: false, name: "[target] The min attribute is not set"},
+        {conditions: {min: "2000-01-01T12:00:00", value: ""}, expected: false, name: "[target] Value is empty string"},
+        {conditions: {min: "2001-01-01  12:00:00", value: "2000-01-01T12:00:00"}, expected: false, name: "[target] The min attribute is an invalid local date time string"},
+        {conditions: {min: "2000-01-01T11:00:00", value: "2000-01-01T12:00:00"}, expected: false, name: "[target] The min attribute is less than the value attribute"},
+        {conditions: {min: "2001-01-01T23:59:59", value: "2000-01-01T24:00:00"}, expected: false, name: "[target] The value is an invalid local date time string(hour is greater than 23)"},
+        {conditions: {min: "1980-01-01T12:00", value: "79-01-01T12:00"}, expected: false, name: "[target] The value is an invalid local date time string(year is two digits)"},
+        {conditions: {min: "2000-01-01T13:00:00", value: "2000-01-01T12:00:00"}, expected: true, name: "[target] The value is less than min"},
+        {conditions: {min: "2000-01-01T12:00:00.2", value: "2000-01-01T12:00:00.1"}, expected: true, name: "[target] The value is less than min(with millisecond in 1 digit)"},
+        {conditions: {min: "2000-01-01T12:00:00.02", value: "2000-01-01T12:00:00.01"}, expected: true, name: "[target] The value is less than min(with millisecond in 2 digits)"},
+        {conditions: {min: "2000-01-01T12:00:00.002", value: "2000-01-01T12:00:00.001"}, expected: true, name: "[target] The value is less than min(with millisecond in 3 digits)"},
+        {conditions: {min: "10000-01-01T12:00:00", value: "2000-01-01T12:00:00"}, expected: true, name: "[target] The value is less than min(Year is 10000 should be valid)"},
+        {conditions: {max: "8593-01-01T02:09", value: "8592-01-01T02:09"}, expected: false, name: "[target] The value is greater than max"}
       ]
     },
     {
index 0146f8b..25bdd19 100644 (file)
@@ -1,5 +1,4 @@
 
-FAIL [INPUT in DATETIME status] The datetime type must be supported. assert_equals: The datetime type should be supported. expected "datetime" but got "text"
 FAIL [INPUT in DATE status] The date type must be supported. assert_equals: The date type should be supported. expected "date" but got "text"
 FAIL [INPUT in MONTH status] The month type must be supported. assert_equals: The month type should be supported. expected "month" but got "text"
 FAIL [INPUT in WEEK status] The week type must be supported. assert_equals: The week type should be supported. expected "week" but got "text"
index 86d684a..b623939 100644 (file)
   var testElements = [
     {
       tag: "input",
-      types: ["datetime"],
-      testData: [
-        {conditions: {step: "", value: "2000-01-01T12:00:00Z"}, expected: false, name: "[target] The step attribute is not set"},
-        {conditions: {step: 2 * 60 * 1000, value: ""}, expected: false, name: "[target] The value attibute is empty string"},
-        {conditions: {step: 2 * 60 * 1000, value: "2000-01-01T12:58Z"}, expected: false, name: "[target] The value must match the step"},
-        {conditions: {step: 2 * 60 * 1000, value: "2000-01-01T12:59Z"}, expected: true, name: "[target] The value must mismatch the step"}
-      ]
-    },
-    {
-      tag: "input",
       types: ["date"],
       testData: [
         {conditions: {step: "", value: "2000-01-01"}, expected: false, name: "[target] The step attribute is not set"},
index bfb0e22..61024ac 100644 (file)
@@ -19,7 +19,7 @@ FAIL [INPUT in EMAIL status] validity.valid must be false if validity.tooLong is
 PASS [INPUT in EMAIL status] validity.valid must be false if validity.patternMismatch is true 
 PASS [INPUT in EMAIL status] validity.valid must be false if validity.typeMismatch is true 
 PASS [INPUT in EMAIL status] validity.valid must be false if validity.valueMissing is true 
-FAIL [INPUT in DATETIME status] The datetime type must be supported. assert_equals: The datetime type should be supported. expected "datetime" but got "text"
+FAIL [INPUT in DATETIME-LOCAL status] The datetime-local type must be supported. assert_equals: The datetime-local type should be supported. expected "datetime-local" but got "text"
 FAIL [INPUT in DATE status] The date type must be supported. assert_equals: The date type should be supported. expected "date" but got "text"
 FAIL [INPUT in MONTH status] The month type must be supported. assert_equals: The month type should be supported. expected "month" but got "text"
 FAIL [INPUT in WEEK status] The week type must be supported. assert_equals: The week type should be supported. expected "week" but got "text"
index 3f66646..bf31253 100644 (file)
     },
     {
       tag: "input",
-      types: ["datetime"],
+      types: ["datetime-local"],
       testData: [
-        {conditions: {max: "2000-01-01T12:00:00Z", value: "2001-01-01T12:00:00Z"}, expected: false, name: "[target] validity.valid must be false if validity.rangeOverflow is true"},
-        {conditions: {min: "2001-01-01T12:00:00Z", value: "2000-01-01T12:00:00Z"}, expected: false, name: "[target] validity.valid must be false if validity.rangeUnderflow is true"},
-        {conditions: {step: 2 * 60 * 1000, value: "2001-01-01T12:03:00Z"}, expected: false, name: "[target] validity.valid must be false if validity.stepMismatch is true"},
+        {conditions: {max: "2000-01-01T12:00:00", value: "2001-01-01T12:00:00"}, expected: false, name: "[target] validity.valid must be false if validity.rangeOverflow is true"},
+        {conditions: {min: "2001-01-01T12:00:00", value: "2000-01-01T12:00:00"}, expected: false, name: "[target] validity.valid must be false if validity.rangeUnderflow is true"},
+        {conditions: {step: 2 * 60 * 1000, value: "2001-01-01T12:03:00"}, expected: false, name: "[target] validity.valid must be false if validity.stepMismatch is true"},
         {conditions: {required: true, value: ""}, expected: false, name: "[target] validity.valid must be false if validity.valueMissing is true"}
       ]
     },
index 0cc7d9c..ad40afb 100644 (file)
@@ -17,7 +17,7 @@ PASS [INPUT in EMAIL status] The value is empty and required is true
 PASS [INPUT in PASSWORD status] The required attribute is not set 
 PASS [INPUT in PASSWORD status] The value is not empty and required is true 
 PASS [INPUT in PASSWORD status] The value is empty and required is true 
-FAIL [INPUT in DATETIME status] The datetime type must be supported. assert_equals: The datetime type should be supported. expected "datetime" but got "text"
+FAIL [INPUT in DATETIME-LOCAL status] The datetime-local type must be supported. assert_equals: The datetime-local type should be supported. expected "datetime-local" but got "text"
 FAIL [INPUT in DATE status] The date type must be supported. assert_equals: The date type should be supported. expected "date" but got "text"
 FAIL [INPUT in MONTH status] The month type must be supported. assert_equals: The month type should be supported. expected "month" but got "text"
 FAIL [INPUT in WEEK status] The week type must be supported. assert_equals: The week type should be supported. expected "week" but got "text"
index 97894a1..3c9e4c4 100644 (file)
     },
     {
       tag: "input",
-      types: ["datetime"],
+      types: ["datetime-local"],
       testData: [
         {conditions: {required: false, value: ""}, expected: false, name: "[target] The required attribute is not set"},
-        {conditions: {required: true, value: "2000-12-10T12:00:00Z"}, expected: false, name: "[target] Valid global date and time string(2000-12-10T12:00:00Z)"},
-        {conditions: {required: true, value: "2000-12-10 12:00Z"}, expected: false, name: "[target] Valid global date and time string(2000-12-10 12:00Z)"},
-        {conditions: {required: true, value: "1979-10-14T12:00:00.001-04:00"}, expected: false, name: "[target] Valid global date and time string(1979-10-14T12:00:00.001-04:00)"},
-        {conditions: {required: true, value: "8592-01-01T02:09+02:09"}, expected: false, name: "[target] Valid global date and time string(8592-01-01T02:09+02:09)"},
+        {conditions: {required: true, value: "2000-12-10T12:00:00"}, expected: false, name: "[target] Valid local date and time string(2000-12-10T12:00:00)"},
+        {conditions: {required: true, value: "2000-12-10 12:00"}, expected: false, name: "[target] Valid local date and time string(2000-12-10 12:00)"},
+        {conditions: {required: true, value: "1979-10-14T12:00:00.001"}, expected: false, name: "[target] Valid local date and time string(1979-10-14T12:00:00.001)"},
         {conditions: {required: true, value: 1234567}, expected: true, name: "[target] The value attribute is a number(1234567)"},
         {conditions: {required: true, value: new Date()}, expected: true, name: "[target] The value attribute is a Date object"},
-        {conditions: {required: true, value: "1979-10-99 99:99Z"}, expected: true, name: "[target] Invalid global date and time string(1979-10-99 99:99Z)"},
-        {conditions: {required: true, value: "1979-10-14 12:00:00"}, expected: true, name: "[target] Invalid global date and time string(1979-10-14 12:00:00)"},
-        {conditions: {required: true, value: "2001-12-21  12:00Z"}, expected: true, name: "[target] Invalid global date and time string(2001-12-21  12:00Z)-two white space"},
+        {conditions: {required: true, value: "1979-10-99 99:99"}, expected: true, name: "[target] Invalid local date and time string(1979-10-99 99:99)"},
+        {conditions: {required: true, value: "1979-10-14 12:00:00"}, expected: false, name: "[target] Valid local date and time string(1979-10-14 12:00:00)"},
+        {conditions: {required: true, value: "2001-12-21  12:00"}, expected: true, name: "[target] Invalid local date and time string(2001-12-21  12:00)-two white space"},
         {conditions: {required: true, value: "abc"}, expected: true, name: "[target] the value attribute is a string(abc)"},
         {conditions: {required: true, value: ""}, expected: true, name: "[target] The value attribute is empty string"}
       ]
index 41afbfc..142403e 100644 (file)
@@ -32,7 +32,7 @@ PASS [INPUT in PASSWORD status] Must be barred from the constraint validation if
 PASS [INPUT in PASSWORD status] The willValidate attribute must be true if an element is mutable 
 PASS [INPUT in PASSWORD status] Must be barred from the constraint validation if it is readonly 
 PASS [INPUT in PASSWORD status] The willValidate attribute must be false if it has a datalist ancestor 
-FAIL [INPUT in DATETIME status] The datetime type must be supported. assert_equals: The datetime type should be supported. expected "datetime" but got "text"
+FAIL [INPUT in DATETIME-LOCAL status] The datetime-local type must be supported. assert_equals: The datetime-local type should be supported. expected "datetime-local" but got "text"
 FAIL [INPUT in DATE status] The date type must be supported. assert_equals: The date type should be supported. expected "date" but got "text"
 FAIL [INPUT in MONTH status] The month type must be supported. assert_equals: The month type should be supported. expected "month" but got "text"
 FAIL [INPUT in WEEK status] The week type must be supported. assert_equals: The week type should be supported. expected "week" but got "text"
index 04300c6..237572b 100644 (file)
@@ -49,7 +49,7 @@
     //If the readonly attribute is specified on an INPUT element, the element is barred from constraint validation.
     {
       tag: "input",
-      types: ["text", "search", "tel", "url", "email", "password", "datetime", "date", "month", "week", "time", "color", "file", "submit"],
+      types: ["text", "search", "tel", "url", "email", "password", "datetime-local", "date", "month", "week", "time", "color", "file", "submit"],
       testData: [
         {conditions: {disabled: true}, expected: false, name: "[target] Must be barred from the constraint validation if it is disabled"},
         {conditions: {disabled: false, readOnly: false}, expected: true, name: "[target] The willValidate attribute must be true if an element is mutable"},
index 201eb8d..68ba86b 100644 (file)
@@ -5,7 +5,7 @@ FAIL text field selection for the input hidden assert_throws: function "function
 FAIL text field selection for the input email assert_throws: function "function (){
         el.selectionStart;
       }" did not throw
-FAIL text field selection for the input datetime assert_throws: function "function (){
+FAIL text field selection for the input datetime-local assert_throws: function "function (){
         el.selectionStart;
       }" did not throw
 FAIL text field selection for the input date assert_throws: function "function (){
index 4ecaa4a..576e6d1 100644 (file)
@@ -7,7 +7,7 @@
 <script src="/resources/testharnessreport.js"></script>
 <div id="log"></div>
 <script>
-  var types = ["hidden", "email", "datetime", "date", "month", "week", "time", "number", "range", "color", "checkbox", "radio", "file", "submit", "image", "reset", "button"]; //types for which the API doesn't apply
+  var types = ["hidden", "email", "datetime-local", "date", "month", "week", "time", "number", "range", "color", "checkbox", "radio", "file", "submit", "image", "reset", "button"]; //types for which the API doesn't apply
   var types2 = ["text", "search", "tel", "url", "password"]; //types for which the API applies
 
   types.forEach(function(type){
diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/cloning-steps-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/cloning-steps-expected.txt
new file mode 100644 (file)
index 0000000..9700de7
--- /dev/null
@@ -0,0 +1,6 @@
+
+PASS input element's value should be cloned 
+PASS input element's dirty value flag should be cloned, so setAttribute doesn't affect the cloned input's value 
+PASS input element's checkedness should be cloned 
+FAIL input element's dirty checkedness should be cloned, so setAttribute doesn't affect the cloned input's checkedness assert_equals: expected false but got true
+
diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/cloning-steps.html b/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/cloning-steps.html
new file mode 100644 (file)
index 0000000..9e6c46f
--- /dev/null
@@ -0,0 +1,53 @@
+<!DOCTYPE html>
+<meta charset="utf-8">
+<title>Cloning of input elements</title>
+<link rel="help" href="https://dom.spec.whatwg.org/#dom-node-clonenode">
+<link rel="help" href="https://dom.spec.whatwg.org/#concept-node-clone">
+<link rel="help" href="https://dom.spec.whatwg.org/#concept-node-clone-ext">
+<link rel="help" href="https://html.spec.whatwg.org/multipage/forms.html#the-input-element:concept-node-clone-ext">
+<link rel="author" title="Matthew Phillips" href="mailto:matthew@matthewphillips.info">
+
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+
+<script>
+"use strict";
+
+test(function() {
+  var input = document.createElement("input");
+  input.value = "foo bar";
+
+  var copy = input.cloneNode();
+  assert_equals(copy.value, "foo bar");
+}, "input element's value should be cloned");
+
+test(function() {
+  var input = document.createElement("input");
+  input.value = "foo bar";
+
+  var copy = input.cloneNode();
+  copy.setAttribute("value", "something else");
+
+  assert_equals(copy.value, "foo bar");
+}, "input element's dirty value flag should be cloned, so setAttribute doesn't affect the cloned input's value");
+
+test(function() {
+  var input = document.createElement("input");
+  input.setAttribute("type", "radio");
+  input.checked = true;
+
+  var copy = input.cloneNode();
+  assert_equals(copy.checked, true);
+}, "input element's checkedness should be cloned");
+
+test(function() {
+  var input = document.createElement("input");
+  input.setAttribute("type", "radio");
+  input.checked = false;
+
+  var copy = input.cloneNode();
+  copy.setAttribute("checked", "checked");
+
+  assert_equals(copy.checked, false);
+}, "input element's dirty checkedness should be cloned, so setAttribute doesn't affect the cloned input's checkedness");
+</script>
diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/datetime-2-expected.txt b/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/datetime-2-expected.txt
deleted file mode 100644 (file)
index 584d207..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-
-PASS empty value 
-PASS datetime input value set to 2014-01-01T11:11Z without min/max 
-FAIL datetime input value set to 2014-01-01 11:11Z without min/max assert_equals: expected "2014-01-01T11:11Z" but got "2014-01-01 11:11Z"
-FAIL datetime input value set to 2014-01-01 11:11-04:00 without min/max assert_equals: expected "2014-01-01T15:11Z" but got "2014-01-01 11:11-04:00"
-FAIL datetime input value set to 2014-01-01 11:11-0400 without min/max assert_equals: expected "2014-01-01T15:11Z" but got "2014-01-01 11:11-0400"
-FAIL datetime input value set to 2014-01-01 11:11:00.000-04:00 without min/max assert_equals: expected "2014-01-01T15:11Z" but got "2014-01-01 11:11:00.000-04:00"
-FAIL datetime input value set to 2014-01-01  11:11:00.000Z without min/max assert_equals: expected "" but got "2014-01-01  11:11:00.000Z"
-FAIL datetime input value set to 2014-01-01 11:11:00.000 without min/max assert_equals: expected "" but got "2014-01-01 11:11:00.000"
-FAIL datetime input value set to 2014-01-01 11:11:00.000+ without min/max assert_equals: expected "" but got "2014-01-01 11:11:00.000+"
-FAIL datetime input value set to 2014-01-01 11:11:00.000+24 without min/max assert_equals: expected "" but got "2014-01-01 11:11:00.000+24"
-FAIL datetime input value set to 2014-01-01 11:11:00.000+2360 without min/max assert_equals: expected "" but got "2014-01-01 11:11:00.000+2360"
-FAIL datetime input value set to 2014-01-0 11:11:00.000+0400 without min/max assert_equals: expected "" but got "2014-01-0 11:11:00.000+0400"
-FAIL datetime input value set to 2014-01-01 11:1:00.000+0400 without min/max assert_equals: expected "" but got "2014-01-01 11:1:00.000+0400"
-FAIL Value >= min attribute assert_equals: expected "2014-01-01T11:11Z" but got "2014-01-01 11:11Z"
-FAIL Value < min attribute assert_equals: expected "2014-01-01T11:11Z" but got "2014-01-01 11:10Z"
-FAIL Value <= max attribute assert_equals: expected "2014-01-01T11:11Z" but got "2014-01-01 11:10Z"
-FAIL Value > max attribute assert_equals: expected "2014-01-01T11:10Z" but got "2014-01-01 11:11Z"
-
diff --git a/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/datetime-2.html b/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/datetime-2.html
deleted file mode 100644 (file)
index 121dce8..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<!DOCTYPE html>
-<meta charset=utf-8>
-<title>Form input type=datetime</title>
-<link rel="author" title="Denis Ah-Kang" href="mailto:denis@w3.org">
-<link rel=help href="https://html.spec.whatwg.org/multipage/multipage/common-microsyntaxes.html#global-dates-and-times">
-<link rel=help href="https://html.spec.whatwg.org/multipage/multipage/states-of-the-type-attribute.html#local-date-and-time-state-(type=datetime)">
-<script src="/resources/testharness.js"></script>
-<script src="/resources/testharnessreport.js"></script>
-<div id="log"></div>
-<script>
-  var datetime = [
-    // valid values
-    {value: "", expected: "", testname: "empty value"},
-    {value: "2014-01-01T11:11Z", expected: "2014-01-01T11:11Z", testname: "datetime input value set to 2014-01-01T11:11Z without min/max"},
-    {value: "2014-01-01 11:11Z", expected: "2014-01-01T11:11Z", testname: "datetime input value set to 2014-01-01 11:11Z without min/max"},
-    {value: "2014-01-01 11:11-04:00", expected: "2014-01-01T15:11Z", testname: "datetime input value set to 2014-01-01 11:11-04:00 without min/max"},
-    {value: "2014-01-01 11:11-0400", expected: "2014-01-01T15:11Z", testname: "datetime input value set to 2014-01-01 11:11-0400 without min/max"},
-    {value: "2014-01-01 11:11:00.000-04:00", expected: "2014-01-01T15:11Z", testname: "datetime input value set to 2014-01-01 11:11:00.000-04:00 without min/max"},
-    // invalid values
-    {value: "2014-01-01  11:11:00.000Z", expected: "", testname: "datetime input value set to 2014-01-01  11:11:00.000Z without min/max"},
-    {value: "2014-01-01 11:11:00.000", expected: "", testname: "datetime input value set to 2014-01-01 11:11:00.000 without min/max"},
-    {value: "2014-01-01 11:11:00.000+", expected: "", testname: "datetime input value set to 2014-01-01 11:11:00.000+ without min/max"},
-    {value: "2014-01-01 11:11:00.000+24", expected: "", testname: "datetime input value set to 2014-01-01 11:11:00.000+24 without min/max"},
-    {value: "2014-01-01 11:11:00.000+2360", expected: "", testname: "datetime input value set to 2014-01-01 11:11:00.000+2360 without min/max"},
-    {value: "2014-01-0 11:11:00.000+0400", expected: "", testname: "datetime input value set to 2014-01-0 11:11:00.000+0400 without min/max"},
-    {value: "2014-01-01 11:1:00.000+0400", expected: "", testname: "datetime input value set to 2014-01-01 11:1:00.000+0400 without min/max"},
-    // min/max
-    {value: "2014-01-01 11:11Z", attributes: { min: "2014-01-01T11:10Z" }, expected: "2014-01-01T11:11Z", testname: "Value >= min attribute"},
-    {value: "2014-01-01 11:10Z", attributes: { min: "2014-01-01T11:11Z" }, expected: "2014-01-01T11:11Z", testname: "Value < min attribute"},
-    {value: "2014-01-01 11:10Z", attributes: { max: "2014-01-01T11:11Z" }, expected: "2014-01-01T11:11Z", testname: "Value <= max attribute"},
-    {value: "2014-01-01 11:11Z", attributes: { max: "2014-01-01T11:10Z" }, expected: "2014-01-01T11:10Z", testname: "Value > max attribute"}
-  ];
-  for (var i = 0; i < datetime.length; i++) {
-    var w = datetime[i];
-    test(function() {
-      var input = document.createElement("input");
-      input.type = "datetime";
-      input.value = w.value;
-      for(var attr in w.attributes) {
-        input[attr] = w.attributes[attr];
-      }
-      assert_equals(input.value, w.expected);
-    }, w.testname);
-  }
-</script>
index 181ab60..509d22a 100644 (file)
@@ -6,7 +6,6 @@ PASS files for input type=tel
 PASS files for input type=url 
 PASS files for input type=email 
 PASS files for input type=password 
-PASS files for input type=datetime 
 PASS files for input type=date 
 PASS files for input type=month 
 PASS files for input type=week 
index eea8d35..3577018 100644 (file)
@@ -2,14 +2,10 @@ Inputs Month
 
 
 FAIL month type support on input element assert_equals: expected "month" but got "text"
-FAIL The value attribute, if specified and not empty, must have a value that is a valid month string assert_equals: expected "2011-01" but got "1999-01"
-FAIL The min attribute, if specified, must have a value that is a valid month string. assert_equals: expected "" but got "invalid_min"
-FAIL The max attribute, if specified, must have a value that is a valid month string assert_equals: expected "2099-01" but got "2011-12"
 FAIL User agents must not allow the user to set the value to a non-empty string that is not a valid month string. assert_equals: expected "" but got "invalid-month"
 PASS Month value can be empty string. 
 FAIL When value attribute has two digits year value, the value,which is invalid, must return empty string. assert_equals: expected "" but got "13-06"
 FAIL When value is set with invalid value, the value must return empty string. assert_equals: expected "" but got "invalid value"
-FAIL When value is given invalid value to non-empty valid string, the value must be same as before. assert_equals: expected "2013-05" but got "invalid value"
 FAIL When step attribute is given invalid value, it must ignore the invalid value and use defaul value instead. The object is in an invalid state.
 FAIL Month should be <= 13: If the value of the element is not a valid month string, then set it to the empty string instead. assert_equals: expected "" but got "2013-13"
 FAIL Month should be > 0: If the value of the element is not a valid month string, then set it to the empty string instead.> assert_equals: expected "" but got "2013-00"
index 198fb9f..15fa76d 100644 (file)
     <h1>Inputs Month</h1>
     <div style="display: none">
       <input id="valid" type="month" value="2011-11" min="2011-01" max="2011-12" />
-      <input id="too_small_value" type="month" value="1999-01" min="2011-01" max="2011-12"/>
-      <input id="too_large_value" type="month" value="2099-01" min="2011-01" max="2011-12"/>
       <input id="invalid_value" type="month" value="invalid-month" min="2011-01" max="2011-12"/>
-      <input id="invalid_min" type="month" value="2011-01" min="invalid_min" max="2011-12"/>
-      <input id="invalid_max" type="month" value="2011-01" min="2011-01" max="invalid_max"/>
-      <input id="min_larger_than_max" type="month" value="2011-01" min="2099-01" max="2011-12"/>
       <input id="value_can_be_empty_string" type="month" value="2013-06" />
       <input id="invalid_value_with_two_digits_year" type="month" value="13-06" />
       <input id="invalid_value_is_set" type="month" />
-      <input id="invalid_value_is_set_to_valid_value" type="month" value="2013-05" />
       <input id="step_attribute_is_invalid_value" type="month" value="2013-06" step="invalid_step_value" />
       <input id="invalid_month_too_high" type="month" value="2013-13" />
       <input id="invalid_month_too_low" type="month" value="2013-00" />
       }, "month type support on input element");
 
       test(function() {
-        assert_equals(document.getElementById("valid").value, "2011-11"),
-        assert_equals(document.getElementById("too_small_value").value, "2011-01"),
-        assert_equals(document.getElementById("too_large_value").value, "2011-12")
-      }, "The value attribute, if specified and not empty, must have a value that is a valid month string");
-
-      test(function() {
-        assert_equals(document.getElementById("valid").min, "2011-01"),
-        assert_equals(document.getElementById("invalid_min").min, "")
-      }, "The min attribute, if specified, must have a value that is a valid month string.");
-
-      test(function() {
-        assert_equals(document.getElementById("valid").max, "2011-12"),
-        assert_equals(document.getElementById("min_larger_than_max").max, "2099-01"),
-        assert_equals(document.getElementById("invalid_max").max, "")
-      }, "The max attribute, if specified, must have a value that is a valid month string");
-
-      test(function() {
         assert_equals(document.getElementById("invalid_value").value, "")
       }, "User agents must not allow the user to set the value to a non-empty string that is not a valid month string.");
 
       }, "When value is set with invalid value, the value must return empty string.");
 
       test(function() {
-        document.getElementById("invalid_value_is_set_to_valid_value").value = "invalid value";
-        assert_equals(document.getElementById("invalid_value_is_set_to_valid_value").value, "2013-05")
-      }, "When value is given invalid value to non-empty valid string, the value must be same as before.");
-
-      test(function() {
         document.getElementById("step_attribute_is_invalid_value").stepUp();
         assert_equals(document.getElementById("step_attribute_is_invalid_value").value, "2013-07")
       }, "When step attribute is given invalid value, it must ignore the invalid value and use defaul value instead.");
index cf4d464..e88ab9d 100644 (file)
@@ -5,7 +5,7 @@ PASS change state from hidden to tel
 PASS change state from hidden to url 
 PASS change state from hidden to email 
 PASS change state from hidden to password 
-FAIL change state from hidden to datetime assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
+FAIL change state from hidden to datetime-local assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from hidden to date assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from hidden to month assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from hidden to week assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
@@ -26,7 +26,7 @@ PASS change state from text to tel
 PASS change state from text to url 
 PASS change state from text to email 
 PASS change state from text to password 
-FAIL change state from text to datetime assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
+FAIL change state from text to datetime-local assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from text to date assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from text to month assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from text to week assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
@@ -47,7 +47,7 @@ PASS change state from search to tel
 PASS change state from search to url 
 PASS change state from search to email 
 PASS change state from search to password 
-FAIL change state from search to datetime assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
+FAIL change state from search to datetime-local assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from search to date assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from search to month assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from search to week assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
@@ -68,7 +68,7 @@ PASS change state from tel to search
 PASS change state from tel to url 
 PASS change state from tel to email 
 PASS change state from tel to password 
-FAIL change state from tel to datetime assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
+FAIL change state from tel to datetime-local assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from tel to date assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from tel to month assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from tel to week assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
@@ -89,7 +89,7 @@ FAIL change state from url to search assert_equals: input.value should be   foob
 FAIL change state from url to tel assert_equals: input.value should be   foobar   after change of state expected "  foobar  " but got "foobar"
 PASS change state from url to email 
 FAIL change state from url to password assert_equals: input.value should be   foobar   after change of state expected "  foobar  " but got "foobar"
-FAIL change state from url to datetime assert_equals: input.value should be  after change of state expected "" but got "foobar"
+FAIL change state from url to datetime-local assert_equals: input.value should be  after change of state expected "" but got "foobar"
 FAIL change state from url to date assert_equals: input.value should be  after change of state expected "" but got "foobar"
 FAIL change state from url to month assert_equals: input.value should be  after change of state expected "" but got "foobar"
 FAIL change state from url to week assert_equals: input.value should be  after change of state expected "" but got "foobar"
@@ -110,7 +110,7 @@ FAIL change state from email to search assert_equals: input.value should be   fo
 FAIL change state from email to tel assert_equals: input.value should be   foobar   after change of state expected "  foobar  " but got "foobar"
 PASS change state from email to url 
 FAIL change state from email to password assert_equals: input.value should be   foobar   after change of state expected "  foobar  " but got "foobar"
-FAIL change state from email to datetime assert_equals: input.value should be  after change of state expected "" but got "foobar"
+FAIL change state from email to datetime-local assert_equals: input.value should be  after change of state expected "" but got "foobar"
 FAIL change state from email to date assert_equals: input.value should be  after change of state expected "" but got "foobar"
 FAIL change state from email to month assert_equals: input.value should be  after change of state expected "" but got "foobar"
 FAIL change state from email to week assert_equals: input.value should be  after change of state expected "" but got "foobar"
@@ -131,7 +131,7 @@ PASS change state from password to search
 PASS change state from password to tel 
 PASS change state from password to url 
 PASS change state from password to email 
-FAIL change state from password to datetime assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
+FAIL change state from password to datetime-local assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from password to date assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from password to month assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from password to week assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
@@ -146,27 +146,27 @@ FAIL change state from password to submit assert_equals: input.value should be '
 FAIL change state from password to image assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from password to reset assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from password to button assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
-FAIL change state from datetime to hidden assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
-PASS change state from datetime to text 
-PASS change state from datetime to search 
-PASS change state from datetime to tel 
-PASS change state from datetime to url 
-PASS change state from datetime to email 
-PASS change state from datetime to password 
-FAIL change state from datetime to date assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
-FAIL change state from datetime to month assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
-FAIL change state from datetime to week assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
-FAIL change state from datetime to time assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
-PASS change state from datetime to number 
-PASS change state from datetime to range 
-PASS change state from datetime to color 
-FAIL change state from datetime to checkbox assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
-FAIL change state from datetime to radio assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
-PASS change state from datetime to file 
-FAIL change state from datetime to submit assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
-FAIL change state from datetime to image assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
-FAIL change state from datetime to reset assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
-FAIL change state from datetime to button assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
+FAIL change state from datetime-local to hidden assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
+PASS change state from datetime-local to text 
+PASS change state from datetime-local to search 
+PASS change state from datetime-local to tel 
+PASS change state from datetime-local to url 
+PASS change state from datetime-local to email 
+PASS change state from datetime-local to password 
+FAIL change state from datetime-local to date assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
+FAIL change state from datetime-local to month assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
+FAIL change state from datetime-local to week assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
+FAIL change state from datetime-local to time assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
+PASS change state from datetime-local to number 
+PASS change state from datetime-local to range 
+PASS change state from datetime-local to color 
+FAIL change state from datetime-local to checkbox assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
+FAIL change state from datetime-local to radio assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
+PASS change state from datetime-local to file 
+FAIL change state from datetime-local to submit assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
+FAIL change state from datetime-local to image assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
+FAIL change state from datetime-local to reset assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
+FAIL change state from datetime-local to button assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 FAIL change state from date to hidden assert_equals: input.value should be '  foo\rbar  ' after change of state expected "  foo\rbar  " but got "  foobar  "
 PASS change state from date to text 
 PASS change state from date to search 
@@ -174,7 +174,7 @@ PASS change state from date to tel
 PASS change state from date to url 
 PASS change state from date to email 
 PASS change state from date to password 
-FAIL change state from date to datetime assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
+FAIL change state from date to datetime-local assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from date to month assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from date to week assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from date to time assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
@@ -195,7 +195,7 @@ PASS change state from month to tel
 PASS change state from month to url 
 PASS change state from month to email 
 PASS change state from month to password 
-FAIL change state from month to datetime assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
+FAIL change state from month to datetime-local assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from month to date assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from month to week assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from month to time assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
@@ -216,7 +216,7 @@ PASS change state from week to tel
 PASS change state from week to url 
 PASS change state from week to email 
 PASS change state from week to password 
-FAIL change state from week to datetime assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
+FAIL change state from week to datetime-local assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from week to date assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from week to month assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from week to time assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
@@ -237,7 +237,7 @@ PASS change state from time to tel
 PASS change state from time to url 
 PASS change state from time to email 
 PASS change state from time to password 
-FAIL change state from time to datetime assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
+FAIL change state from time to datetime-local assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from time to date assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from time to month assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from time to week assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
@@ -258,7 +258,7 @@ FAIL change state from number to tel assert_equals: input.value should be   foob
 FAIL change state from number to url assert_equals: input.value should be foobar after change of state expected "foobar" but got ""
 FAIL change state from number to email assert_equals: input.value should be foobar after change of state expected "foobar" but got ""
 FAIL change state from number to password assert_equals: input.value should be   foobar   after change of state expected "  foobar  " but got ""
-PASS change state from number to datetime 
+PASS change state from number to datetime-local 
 PASS change state from number to date 
 PASS change state from number to month 
 PASS change state from number to week 
@@ -279,7 +279,7 @@ FAIL change state from range to tel assert_equals: input.value should be   fooba
 FAIL change state from range to url assert_equals: input.value should be foobar after change of state expected "foobar" but got "50"
 FAIL change state from range to email assert_equals: input.value should be foobar after change of state expected "foobar" but got "50"
 FAIL change state from range to password assert_equals: input.value should be   foobar   after change of state expected "  foobar  " but got "50"
-FAIL change state from range to datetime assert_equals: input.value should be  after change of state expected "" but got "50"
+FAIL change state from range to datetime-local assert_equals: input.value should be  after change of state expected "" but got "50"
 FAIL change state from range to date assert_equals: input.value should be  after change of state expected "" but got "50"
 FAIL change state from range to month assert_equals: input.value should be  after change of state expected "" but got "50"
 FAIL change state from range to week assert_equals: input.value should be  after change of state expected "" but got "50"
@@ -300,7 +300,7 @@ FAIL change state from color to tel assert_equals: input.value should be   fooba
 FAIL change state from color to url assert_equals: input.value should be foobar after change of state expected "foobar" but got "#000000"
 FAIL change state from color to email assert_equals: input.value should be foobar after change of state expected "foobar" but got "#000000"
 FAIL change state from color to password assert_equals: input.value should be   foobar   after change of state expected "  foobar  " but got "#000000"
-FAIL change state from color to datetime assert_equals: input.value should be  after change of state expected "" but got "#000000"
+FAIL change state from color to datetime-local assert_equals: input.value should be  after change of state expected "" but got "#000000"
 FAIL change state from color to date assert_equals: input.value should be  after change of state expected "" but got "#000000"
 FAIL change state from color to month assert_equals: input.value should be  after change of state expected "" but got "#000000"
 FAIL change state from color to week assert_equals: input.value should be  after change of state expected "" but got "#000000"
@@ -321,7 +321,7 @@ PASS change state from checkbox to tel
 PASS change state from checkbox to url 
 PASS change state from checkbox to email 
 PASS change state from checkbox to password 
-FAIL change state from checkbox to datetime assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
+FAIL change state from checkbox to datetime-local assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from checkbox to date assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from checkbox to month assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from checkbox to week assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
@@ -342,7 +342,7 @@ PASS change state from radio to tel
 PASS change state from radio to url 
 PASS change state from radio to email 
 PASS change state from radio to password 
-FAIL change state from radio to datetime assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
+FAIL change state from radio to datetime-local assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from radio to date assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from radio to month assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from radio to week assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
@@ -363,7 +363,7 @@ PASS change state from file to tel
 PASS change state from file to url 
 PASS change state from file to email 
 PASS change state from file to password 
-PASS change state from file to datetime 
+PASS change state from file to datetime-local 
 PASS change state from file to date 
 PASS change state from file to month 
 PASS change state from file to week 
@@ -384,7 +384,7 @@ PASS change state from submit to tel
 PASS change state from submit to url 
 PASS change state from submit to email 
 PASS change state from submit to password 
-FAIL change state from submit to datetime assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
+FAIL change state from submit to datetime-local assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from submit to date assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from submit to month assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from submit to week assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
@@ -405,7 +405,7 @@ PASS change state from image to tel
 PASS change state from image to url 
 PASS change state from image to email 
 PASS change state from image to password 
-FAIL change state from image to datetime assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
+FAIL change state from image to datetime-local assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from image to date assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from image to month assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from image to week assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
@@ -426,7 +426,7 @@ PASS change state from reset to tel
 PASS change state from reset to url 
 PASS change state from reset to email 
 PASS change state from reset to password 
-FAIL change state from reset to datetime assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
+FAIL change state from reset to datetime-local assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from reset to date assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from reset to month assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from reset to week assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
@@ -447,7 +447,7 @@ PASS change state from button to tel
 PASS change state from button to url 
 PASS change state from button to email 
 PASS change state from button to password 
-FAIL change state from button to datetime assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
+FAIL change state from button to datetime-local assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from button to date assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from button to month assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
 FAIL change state from button to week assert_equals: input.value should be  after change of state expected "" but got "  foobar  "
index fbec9f1..def11da 100644 (file)
@@ -15,7 +15,7 @@
     { type: "url", sanitizedValue: "foobar" },
     { type: "email", sanitizedValue: "foobar" },
     { type: "password", sanitizedValue: "  foobar  " },
-    { type: "datetime", sanitizedValue: "" },
+    { type: "datetime-local", sanitizedValue: "" },
     { type: "date", sanitizedValue: "" },
     { type: "month", sanitizedValue: "" },
     { type: "week", sanitizedValue: "" },
index f5a8d44..fc71a5f 100644 (file)
@@ -13,8 +13,8 @@ PASS value IDL attribute of input type email without value attribute
 PASS value IDL attribute of input type email with value attribute 
 PASS value IDL attribute of input type password without value attribute 
 PASS value IDL attribute of input type password with value attribute 
-FAIL value IDL attribute of input type datetime without value attribute assert_equals: expected "" but got "foo"
-FAIL value IDL attribute of input type datetime with value attribute assert_equals: expected "" but got "foo"
+FAIL value IDL attribute of input type datetime-local without value attribute assert_equals: expected "" but got "foo"
+FAIL value IDL attribute of input type datetime-local with value attribute assert_equals: expected "" but got "foo"
 FAIL value IDL attribute of input type date without value attribute assert_equals: expected "" but got "foo"
 FAIL value IDL attribute of input type date with value attribute assert_equals: expected "" but got "foo"
 FAIL value IDL attribute of input type month without value attribute assert_equals: expected "" but got "foo"