Enable the datalist element by default on iOS and macOS
authorwenson_hsieh@apple.com <wenson_hsieh@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 18 Oct 2018 03:48:10 +0000 (03:48 +0000)
committerwenson_hsieh@apple.com <wenson_hsieh@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 18 Oct 2018 03:48:10 +0000 (03:48 +0000)
https://bugs.webkit.org/show_bug.cgi?id=190594
<rdar://problem/45281159>

Reviewed by Ryosuke Niwa and Tim Horton.

LayoutTests/imported/w3c:

Rebaseline some web platform tests.

* web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt:
* web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt:
* web-platform-tests/html/semantics/forms/the-datalist-element/datalistoptions-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/hidden-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt:
* web-platform-tests/html/semantics/forms/the-input-element/text-expected.txt:
* web-platform-tests/shadow-dom/input-element-list-expected.txt:

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Rebaselined existing layout tests.

* Configurations/FeatureDefines.xcconfig:
* bindings/js/WebCoreBuiltinNames.h:
* css/CSSDefaultStyleSheets.cpp:
(WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
* css/CSSDefaultStyleSheets.h:
* css/InspectorCSSOMWrappers.cpp:
(WebCore::InspectorCSSOMWrappers::collectDocumentWrappers):
* css/html.css:

Remove color input and datalist style rules from the default UA stylesheet.

(input[type="color"]::-webkit-color-swatch-wrapper): Deleted.
* html/HTMLDataListElement.idl:

Make HTMLDataListElement runtime-enabled.

* html/HTMLTagNames.in:
* html/RangeInputType.cpp:

Make a slight adjustment here so that inputs of type range respect the list attribute. Fixes a few layout tests
that add a datalist to an input of type range. See <https://bugs.webkit.org/show_bug.cgi?id=190613> for more
details.

(WebCore::RangeInputType::shouldRespectListAttribute):
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::shouldRespectListAttribute):
* page/RuntimeEnabledFeatures.h:

Add a runtime-enabled feature for the datalist element. Additionally, make the runtime-enabled feature for input
type color false by default, so that it's off in WebKitLegacy.

(WebCore::RuntimeEnabledFeatures::dataListElementEnabled const):
(WebCore::RuntimeEnabledFeatures::setDataListElementEnabled):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::colorInputStyleSheet const):

Add new style-sheet hooks for datalist and input type color, so that style rules for color inputs and datalists
can be added at runtime only if the feature is enabled. This ensures that in WebKitLegacy (or other ports where
either or both elements are disabled), we don't still apply rules for datalist and input[type="color"]. Notably,
this allows fallback content inside datalist elements to still work in WebKitLegacy (which would otherwise be
hidden when using the default stylesheet since `display: none` is applied to datalist by default). This also
prevents inputs of type color from having a smaller size, no outline, and the appearance of a color well on
macOS.

(WebCore::RenderTheme::dataListStyleSheet const):
* rendering/RenderTheme.h:
(WebCore::RenderTheme::platformColorInputStyleSheet const):
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::platformColorInputStyleSheet const):

Source/WebCore/PAL:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit:

* Configurations/FeatureDefines.xcconfig:
* Platform/spi/ios/UIKitSPI.h:

Add SPI to UITextSuggestion.

* Shared/WebPreferences.yaml:
* Shared/WebPreferencesDefaultValues.h:
* UIProcess/mac/WebDataListSuggestionsDropdownMac.mm:
(-[WKDataListSuggestionCell setText:]):
(-[WKDataListSuggestionTable initWithElementRect:]):

Fix the 32-bit macOS build with ENABLE(DATALIST_ELEMENT).

Source/WebKitLegacy/mac:

* Configurations/FeatureDefines.xcconfig:

Tools:

* TestWebKitAPI/Configurations/FeatureDefines.xcconfig:

LayoutTests:

* TestExpectations:

Mark a couple of datalist tests as failures, with corresponding Bugzilla links.

* fast/forms/datalist/datalist-fallback-content-expected.html:
* fast/forms/datalist/datalist-fallback-content.html:

Refactor this ref test. This was checking that a text input field with an associated datalist with fallback
content looks identical to an text input field without a datalist, but this simply isn't the case with our
current implementation due to the presence of the list button. Instead, add a div to cover the list button in
both cases, and further augment this test to check that inputs of type color behave the same.

* fast/forms/datalist/range-snap-to-datalist-expected.txt: Added.

Add missing expectations for this test that were never checked in. Since sliderTickSnappingThreshold simply
returns 0, this test behaves as expected, though behavior here may change when we add a make the "snapping
threshold" nonzero.

* fast/forms/datalist/validity-assertion-inserting-into-datalist-expected.txt: Renamed from LayoutTests/fast/forms/validity-assertion-inserting-into-datalist-expected.txt.
* fast/forms/datalist/validity-assertion-inserting-into-datalist.html: Renamed from LayoutTests/fast/forms/validity-assertion-inserting-into-datalist.html.
* fast/selectors/read-only-read-write-input-basics-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt:
* platform/ios-simulator/fast/forms/datalist/datalist-searchinput-appearance-expected.txt: Added.
* platform/ios-simulator/fast/forms/datalist/datalist-textinput-appearance-expected.txt: Added.

Add missing expectations.

* platform/ios-wk1/TestExpectations:

Don't run datalist tests in WebKitLegacy by marking them as [ WontFix ].

* platform/ios-wk2/accessibility/roles-exposed-expected.txt: Added.
* platform/ios-wk2/fast/borders/empty-outline-border-assert-expected.txt: Added.
* platform/ios-wk2/fast/dom/Window/window-lookup-precedence-expected.txt: Added.
* platform/ios-wk2/fast/forms/label/labelable-elements-expected.txt: Added.
* platform/ios-wk2/fast/forms/label/readwrite-readonly-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt.
* platform/ios-wk2/fast/selectors/read-only-read-write-input-basics-expected.txt: Copied from LayoutTests/fast/selectors/read-only-read-write-input-basics-expected.txt.
* platform/ios-wk2/imported/w3c/web-platform-tests/custom-elements/builtin-coverage-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/dom/nodes/Node-cloneNode-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-expected.txt: Added.
* platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-xhtml-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt.
* platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt.
* platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:
* platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt.
* platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt:
* platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt.
* platform/ios-wk2/imported/w3c/web-platform-tests/shadow-dom/input-element-list-expected.txt: Added.
* platform/ios-wk2/mathml/presentation/foreign-element-in-token-expected.txt: Added.

Add baselines for WebKit2, where we enable the datalist element and color inputs.

* platform/ios/TestExpectations:
* platform/mac-wk1/TestExpectations:

Don't run datalist tests in WebKitLegacy by marking them as [ WontFix ].

* platform/mac-wk2/accessibility/roles-exposed-expected.txt: Copied from LayoutTests/platform/mac/accessibility/roles-exposed-expected.txt.
* platform/mac-wk2/fast/borders/empty-outline-border-assert-expected.txt: Added.
* platform/mac-wk2/fast/dom/Window/window-lookup-precedence-expected.txt: Added.
* platform/mac-wk2/fast/forms/label/labelable-elements-expected.txt: Added.
* platform/mac-wk2/fast/forms/label/readwrite-readonly-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt.
* platform/mac-wk2/fast/selectors/read-only-read-write-input-basics-expected.txt: Copied from LayoutTests/fast/selectors/read-only-read-write-input-basics-expected.txt.
* platform/mac-wk2/imported/w3c/web-platform-tests/custom-elements/builtin-coverage-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/dom/nodes/Node-cloneNode-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-xhtml-expected.txt: Added.
* platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt: Renamed from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt.
* platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt: Renamed from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt.
* platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt.
* platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt: Renamed from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt.
* platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt.
* platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt.
* platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt: Copied from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt.
* platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt.
* platform/mac-wk2/imported/w3c/web-platform-tests/shadow-dom/input-element-list-expected.txt: Added.
* platform/mac-wk2/mathml/presentation/foreign-element-in-token-expected.txt: Added.

Add baselines for WebKit2, where we enable the datalist element and color inputs.

* platform/mac/TestExpectations:
* platform/mac/accessibility/roles-exposed-expected.txt:
* platform/mac/fast/selectors/read-only-read-write-input-basics-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt:
* platform/mac/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt:

Re-rebaseline test expectations that involve input type color, now that color inputs are off by default in WebKitLegacy.

* platform/win/TestExpectations:

Remove various datalist test skips and failures on macOS and iOS; ensure that the test failures that are still
present are tracked with links to Bugzilla.

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

98 files changed:
LayoutTests/ChangeLog
LayoutTests/TestExpectations
LayoutTests/fast/forms/datalist/datalist-fallback-content-expected.html
LayoutTests/fast/forms/datalist/datalist-fallback-content.html
LayoutTests/fast/forms/datalist/range-snap-to-datalist-expected.txt [new file with mode: 0644]
LayoutTests/fast/forms/datalist/validity-assertion-inserting-into-datalist-expected.txt [moved from LayoutTests/fast/forms/validity-assertion-inserting-into-datalist-expected.txt with 97% similarity]
LayoutTests/fast/forms/datalist/validity-assertion-inserting-into-datalist.html [moved from LayoutTests/fast/forms/validity-assertion-inserting-into-datalist.html with 100% similarity]
LayoutTests/fast/selectors/read-only-read-write-input-basics-expected.txt
LayoutTests/imported/w3c/ChangeLog
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-datalist-element/datalistoptions-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/hidden-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt
LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/text-expected.txt
LayoutTests/imported/w3c/web-platform-tests/shadow-dom/input-element-list-expected.txt
LayoutTests/platform/ios-simulator/fast/forms/datalist/datalist-searchinput-appearance-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-simulator/fast/forms/datalist/datalist-textinput-appearance-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-wk1/TestExpectations
LayoutTests/platform/ios-wk2/accessibility/roles-exposed-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-wk2/fast/borders/empty-outline-border-assert-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-wk2/fast/dom/Window/window-lookup-precedence-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-wk2/fast/forms/label/labelable-elements-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-wk2/fast/forms/label/readwrite-readonly-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-wk2/fast/selectors/read-only-read-write-input-basics-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/custom-elements/builtin-coverage-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/dom/nodes/Node-cloneNode-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-xhtml-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt
LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt
LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/shadow-dom/input-element-list-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios-wk2/mathml/presentation/foreign-element-in-token-expected.txt [new file with mode: 0644]
LayoutTests/platform/ios/TestExpectations
LayoutTests/platform/mac-wk1/TestExpectations
LayoutTests/platform/mac-wk2/accessibility/roles-exposed-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-wk2/fast/borders/empty-outline-border-assert-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-wk2/fast/dom/Window/window-lookup-precedence-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-wk2/fast/forms/label/labelable-elements-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-wk2/fast/forms/label/readwrite-readonly-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-wk2/fast/selectors/read-only-read-write-input-basics-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/custom-elements/builtin-coverage-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/dom/nodes/Node-cloneNode-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-xhtml-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt [moved from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt with 100% similarity]
LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt [moved from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt with 100% similarity]
LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt [moved from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt with 100% similarity]
LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/shadow-dom/input-element-list-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac-wk2/mathml/presentation/foreign-element-in-token-expected.txt [new file with mode: 0644]
LayoutTests/platform/mac/TestExpectations
LayoutTests/platform/mac/accessibility/roles-exposed-expected.txt
LayoutTests/platform/mac/fast/selectors/read-only-read-write-input-basics-expected.txt
LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt
LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt
LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt
LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt
LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt
LayoutTests/platform/win/TestExpectations
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/Configurations/FeatureDefines.xcconfig
Source/WebCore/ChangeLog
Source/WebCore/Configurations/FeatureDefines.xcconfig
Source/WebCore/PAL/ChangeLog
Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig
Source/WebCore/bindings/js/WebCoreBuiltinNames.h
Source/WebCore/css/CSSDefaultStyleSheets.cpp
Source/WebCore/css/CSSDefaultStyleSheets.h
Source/WebCore/css/InspectorCSSOMWrappers.cpp
Source/WebCore/css/html.css
Source/WebCore/html/HTMLDataListElement.idl
Source/WebCore/html/HTMLTagNames.in
Source/WebCore/html/RangeInputType.cpp
Source/WebCore/html/TextFieldInputType.cpp
Source/WebCore/page/RuntimeEnabledFeatures.h
Source/WebCore/rendering/RenderTheme.cpp
Source/WebCore/rendering/RenderTheme.h
Source/WebCore/rendering/RenderThemeMac.h
Source/WebCore/rendering/RenderThemeMac.mm
Source/WebKit/ChangeLog
Source/WebKit/Configurations/FeatureDefines.xcconfig
Source/WebKit/Platform/spi/ios/UIKitSPI.h
Source/WebKit/Shared/WebPreferences.yaml
Source/WebKit/Shared/WebPreferencesDefaultValues.h
Source/WebKit/UIProcess/mac/WebDataListSuggestionsDropdownMac.mm
Source/WebKitLegacy/mac/ChangeLog
Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig
Tools/ChangeLog
Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig

index 5e5e37b..4b12403 100644 (file)
@@ -1,3 +1,106 @@
+2018-10-17  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        Enable the datalist element by default on iOS and macOS
+        https://bugs.webkit.org/show_bug.cgi?id=190594
+        <rdar://problem/45281159>
+
+        Reviewed by Ryosuke Niwa and Tim Horton.
+
+        * TestExpectations:
+
+        Mark a couple of datalist tests as failures, with corresponding Bugzilla links.
+
+        * fast/forms/datalist/datalist-fallback-content-expected.html:
+        * fast/forms/datalist/datalist-fallback-content.html:
+
+        Refactor this ref test. This was checking that a text input field with an associated datalist with fallback
+        content looks identical to an text input field without a datalist, but this simply isn't the case with our
+        current implementation due to the presence of the list button. Instead, add a div to cover the list button in
+        both cases, and further augment this test to check that inputs of type color behave the same.
+
+        * fast/forms/datalist/range-snap-to-datalist-expected.txt: Added.
+
+        Add missing expectations for this test that were never checked in. Since sliderTickSnappingThreshold simply
+        returns 0, this test behaves as expected, though behavior here may change when we add a make the "snapping
+        threshold" nonzero.
+
+        * fast/forms/datalist/validity-assertion-inserting-into-datalist-expected.txt: Renamed from LayoutTests/fast/forms/validity-assertion-inserting-into-datalist-expected.txt.
+        * fast/forms/datalist/validity-assertion-inserting-into-datalist.html: Renamed from LayoutTests/fast/forms/validity-assertion-inserting-into-datalist.html.
+        * fast/selectors/read-only-read-write-input-basics-expected.txt:
+        * platform/mac/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt:
+        * platform/ios-simulator/fast/forms/datalist/datalist-searchinput-appearance-expected.txt: Added.
+        * platform/ios-simulator/fast/forms/datalist/datalist-textinput-appearance-expected.txt: Added.
+
+        Add missing expectations.
+
+        * platform/ios-wk1/TestExpectations:
+
+        Don't run datalist tests in WebKitLegacy by marking them as [ WontFix ].
+
+        * platform/ios-wk2/accessibility/roles-exposed-expected.txt: Added.
+        * platform/ios-wk2/fast/borders/empty-outline-border-assert-expected.txt: Added.
+        * platform/ios-wk2/fast/dom/Window/window-lookup-precedence-expected.txt: Added.
+        * platform/ios-wk2/fast/forms/label/labelable-elements-expected.txt: Added.
+        * platform/ios-wk2/fast/forms/label/readwrite-readonly-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt.
+        * platform/ios-wk2/fast/selectors/read-only-read-write-input-basics-expected.txt: Copied from LayoutTests/fast/selectors/read-only-read-write-input-basics-expected.txt.
+        * platform/ios-wk2/imported/w3c/web-platform-tests/custom-elements/builtin-coverage-expected.txt: Added.
+        * platform/ios-wk2/imported/w3c/web-platform-tests/dom/nodes/Node-cloneNode-expected.txt: Added.
+        * platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-expected.txt: Added.
+        * platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-xhtml-expected.txt: Added.
+        * platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/dom/reflection-forms-expected.txt.
+        * platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt.
+        * platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:
+        * platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt.
+        * platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt:
+        * platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt.
+        * platform/ios-wk2/imported/w3c/web-platform-tests/shadow-dom/input-element-list-expected.txt: Added.
+        * platform/ios-wk2/mathml/presentation/foreign-element-in-token-expected.txt: Added.
+
+        Add baselines for WebKit2, where we enable the datalist element and color inputs.
+
+        * platform/ios/TestExpectations:
+        * platform/mac-wk1/TestExpectations:
+
+        Don't run datalist tests in WebKitLegacy by marking them as [ WontFix ].
+
+        * platform/mac-wk2/accessibility/roles-exposed-expected.txt: Copied from LayoutTests/platform/mac/accessibility/roles-exposed-expected.txt.
+        * platform/mac-wk2/fast/borders/empty-outline-border-assert-expected.txt: Added.
+        * platform/mac-wk2/fast/dom/Window/window-lookup-precedence-expected.txt: Added.
+        * platform/mac-wk2/fast/forms/label/labelable-elements-expected.txt: Added.
+        * platform/mac-wk2/fast/forms/label/readwrite-readonly-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt.
+        * platform/mac-wk2/fast/selectors/read-only-read-write-input-basics-expected.txt: Copied from LayoutTests/fast/selectors/read-only-read-write-input-basics-expected.txt.
+        * platform/mac-wk2/imported/w3c/web-platform-tests/custom-elements/builtin-coverage-expected.txt: Added.
+        * platform/mac-wk2/imported/w3c/web-platform-tests/dom/nodes/Node-cloneNode-expected.txt: Added.
+        * platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-expected.txt: Added.
+        * platform/mac-wk2/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-xhtml-expected.txt: Added.
+        * platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt: Renamed from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt.
+        * platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt: Renamed from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt.
+        * platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt.
+        * platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt: Renamed from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt.
+        * platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt.
+        * platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt.
+        * platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt: Copied from LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/interfaces-expected.txt.
+        * platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt: Copied from LayoutTests/platform/mac/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt.
+        * platform/mac-wk2/imported/w3c/web-platform-tests/shadow-dom/input-element-list-expected.txt: Added.
+        * platform/mac-wk2/mathml/presentation/foreign-element-in-token-expected.txt: Added.
+
+        Add baselines for WebKit2, where we enable the datalist element and color inputs.
+
+        * platform/mac/TestExpectations:
+        * platform/mac/accessibility/roles-exposed-expected.txt:
+        * platform/mac/fast/selectors/read-only-read-write-input-basics-expected.txt:
+        * platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection-not-application-expected.txt:
+        * platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/type-change-state-expected.txt:
+        * platform/mac/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/valueMode-expected.txt:
+        * platform/mac/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt:
+
+        Re-rebaseline test expectations that involve input type color, now that color inputs are off by default in WebKitLegacy.
+
+        * platform/win/TestExpectations:
+
+        Remove various datalist test skips and failures on macOS and iOS; ensure that the test failures that are still
+        present are tracked with links to Bugzilla.
+
 2018-10-17  Justin Michaud  <justin_michaud@apple.com>
 
         Parse paint() and store paint callbacks for CSS Painting API
index 0744509..18a6848 100644 (file)
@@ -1341,6 +1341,9 @@ webkit.org/b/182087 imported/w3c/web-platform-tests/css/css-multicol/multicol-sp
 
 webkit.org/b/148884 imported/w3c/web-platform-tests/html/semantics/forms/textfieldselection/selection.html [ Pass Failure ]
 
+webkit.org/b/190626 imported/w3c/web-platform-tests/html/semantics/forms/the-datalist-element/datalistoptions.html [ Failure ]
+webkit.org/b/190613 imported/blink/fast/forms/datalist/slider-appearance-with-ticks-crash.html [ Crash Failure ]
+
 # Does timeout
 imported/w3c/web-platform-tests/webaudio/idlharness.https.html [ Skip ]
 # Do assert in OfflineAudioContext
index 72a0553..0a23ab9 100644 (file)
@@ -1,7 +1,30 @@
 <!DOCTYPE html>
 <html>
+<head>
+<style>
+input[type="text"] {
+    width: 100px;
+}
+
+.blacksquare {
+    position: absolute;
+    top: 6px;
+    left: 92px;
+    width: 25px;
+    height: 25px;
+    background-color: black;
+}
+</style>
+</head>
 <body>
-    <label>Enter your browser</label>
-    <input type="text" list="browsers">
+    <div class="blacksquare"></div>
+    <div>
+        <input type="text" list="browsers">
+        <label>Enter your browser</label>
+    </div>
+    <div>
+        <input type="color" list="colors">
+        <label>Enter your color</label>
+    </div>
 </body>
 </html>
index 5a15831..3f3dadf 100644 (file)
@@ -1,14 +1,44 @@
 <!DOCTYPE html>
 <html>
+<head>
+<style>
+input[type="text"] {
+    width: 100px;
+}
+
+.blacksquare {
+    position: absolute;
+    top: 6px;
+    left: 92px;
+    width: 25px;
+    height: 25px;
+    background-color: black;
+}
+</style>
+</head>
 <body>
-    <label>Enter your browser</label>
-    <input type="text" list="browsers">
-    <datalist id="browsers">
-        or select from this list
-        <select>
-            <option>Safari</option>
-            <option>Chrome</option>
-        </select>
-    </datalist>
+    <div class="blacksquare"></div>
+    <div>
+        <input type="text" list="browsers">
+        <datalist id="browsers">
+            or select from this list
+            <select>
+                <option>Safari</option>
+                <option>Chrome</option>
+            </select>
+        </datalist>
+        <label>Enter your browser</label>
+    </div>
+    <div>
+        <input type="color" list="colors">
+        <datalist id="colors">
+            or select from this list
+            <select>
+                <option>#EFEFEF</option>
+                <option>#556323</option>
+            </select>
+        </datalist>
+        <label>Enter your color</label>
+    </div>
 </body>
 </html>
diff --git a/LayoutTests/fast/forms/datalist/range-snap-to-datalist-expected.txt b/LayoutTests/fast/forms/datalist/range-snap-to-datalist-expected.txt
new file mode 100644 (file)
index 0000000..d9d3b51
--- /dev/null
@@ -0,0 +1,27 @@
+Tests if clicking close to a tick mark snaps to it. Result will change depending on the return value of RenderTheme::sliderTickSnappingThreshold().
+
+value for 40 is <500
+value for 41 is <500
+value for 42 is <500
+value for 43 is <500
+value for 44 is <500
+value for 45 is <500
+value for 46 is <500
+value for 47 is <500
+value for 48 is <500
+value for 49 is <500
+value for 50 is =500
+value for 51 is >500
+value for 52 is >500
+value for 53 is >500
+value for 54 is >500
+value for 55 is >500
+value for 56 is >500
+value for 57 is >500
+value for 58 is >500
+value for 59 is >500
+value for 60 is >500
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
index 5f1f4b0..4b8c562 100644 (file)
@@ -1099,30 +1099,60 @@ PASS document.querySelector("input:read-only") is document.getElementById("testc
 PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
 PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
 Testing color
+FAIL document.querySelectorAll("input:read-write").length should be 0. Was 1.
+FAIL document.querySelector("input:read-write") should be null. Was [object HTMLInputElement].
+FAIL document.querySelectorAll("input:read-only").length should be 1. Was 0.
+FAIL document.querySelector("input:read-only") should be [object HTMLInputElement]. Was null.
+FAIL getComputedStyle(document.getElementById("testcase")).color should be rgb(0, 0, 0). Was rgb(4, 5, 6).
+FAIL getComputedStyle(document.getElementById("testcase")).backgroundColor should be rgb(1, 2, 3). Was rgb(255, 255, 255).
 PASS document.querySelectorAll("input:read-write").length is 0
 PASS document.querySelector("input:read-write") is null
 PASS document.querySelectorAll("input:read-only").length is 1
 PASS document.querySelector("input:read-only") is document.getElementById("testcase")
 PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
 PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+FAIL document.querySelectorAll("input:read-write").length should be 0. Was 1.
+FAIL document.querySelector("input:read-write") should be null. Was [object HTMLInputElement].
+FAIL document.querySelectorAll("input:read-only").length should be 1. Was 0.
+FAIL document.querySelector("input:read-only") should be [object HTMLInputElement]. Was null.
+FAIL getComputedStyle(document.getElementById("testcase")).color should be rgb(0, 0, 0). Was rgb(4, 5, 6).
+FAIL getComputedStyle(document.getElementById("testcase")).backgroundColor should be rgb(1, 2, 3). Was rgb(255, 255, 255).
 PASS document.querySelectorAll("input:read-write").length is 0
 PASS document.querySelector("input:read-write") is null
 PASS document.querySelectorAll("input:read-only").length is 1
 PASS document.querySelector("input:read-only") is document.getElementById("testcase")
 PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
 PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+FAIL document.querySelectorAll("input:read-write").length should be 0. Was 1.
+FAIL document.querySelector("input:read-write") should be null. Was [object HTMLInputElement].
+FAIL document.querySelectorAll("input:read-only").length should be 1. Was 0.
+FAIL document.querySelector("input:read-only") should be [object HTMLInputElement]. Was null.
+FAIL getComputedStyle(document.getElementById("testcase")).color should be rgb(0, 0, 0). Was rgb(4, 5, 6).
+FAIL getComputedStyle(document.getElementById("testcase")).backgroundColor should be rgb(1, 2, 3). Was rgb(255, 255, 255).
 PASS document.querySelectorAll("input:read-write").length is 0
 PASS document.querySelector("input:read-write") is null
 PASS document.querySelectorAll("input:read-only").length is 1
 PASS document.querySelector("input:read-only") is document.getElementById("testcase")
 PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
 PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+FAIL document.querySelectorAll("input:read-write").length should be 0. Was 1.
+FAIL document.querySelector("input:read-write") should be null. Was [object HTMLInputElement].
+FAIL document.querySelectorAll("input:read-only").length should be 1. Was 0.
+FAIL document.querySelector("input:read-only") should be [object HTMLInputElement]. Was null.
+FAIL getComputedStyle(document.getElementById("testcase")).color should be rgb(0, 0, 0). Was rgb(4, 5, 6).
+FAIL getComputedStyle(document.getElementById("testcase")).backgroundColor should be rgb(1, 2, 3). Was rgb(255, 255, 255).
 PASS document.querySelectorAll("input:read-write").length is 0
 PASS document.querySelector("input:read-write") is null
 PASS document.querySelectorAll("input:read-only").length is 1
 PASS document.querySelector("input:read-only") is document.getElementById("testcase")
 PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
 PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+FAIL document.querySelectorAll("input:read-write").length should be 0. Was 1.
+FAIL document.querySelector("input:read-write") should be null. Was [object HTMLInputElement].
+FAIL document.querySelectorAll("input:read-only").length should be 1. Was 0.
+FAIL document.querySelector("input:read-only") should be [object HTMLInputElement]. Was null.
+FAIL getComputedStyle(document.getElementById("testcase")).color should be rgb(0, 0, 0). Was rgb(4, 5, 6).
+FAIL getComputedStyle(document.getElementById("testcase")).backgroundColor should be rgb(1, 2, 3). Was rgb(255, 255, 255).
 PASS document.querySelectorAll("input:read-write").length is 0
 PASS document.querySelector("input:read-write") is null
 PASS document.querySelectorAll("input:read-only").length is 1
@@ -1135,42 +1165,12 @@ PASS document.querySelectorAll("input:read-only").length is 1
 PASS document.querySelector("input:read-only") is document.getElementById("testcase")
 PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
 PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
-PASS document.querySelectorAll("input:read-write").length is 0
-PASS document.querySelector("input:read-write") is null
-PASS document.querySelectorAll("input:read-only").length is 1
-PASS document.querySelector("input:read-only") is document.getElementById("testcase")
-PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
-PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
-PASS document.querySelectorAll("input:read-write").length is 0
-PASS document.querySelector("input:read-write") is null
-PASS document.querySelectorAll("input:read-only").length is 1
-PASS document.querySelector("input:read-only") is document.getElementById("testcase")
-PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
-PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
-PASS document.querySelectorAll("input:read-write").length is 0
-PASS document.querySelector("input:read-write") is null
-PASS document.querySelectorAll("input:read-only").length is 1
-PASS document.querySelector("input:read-only") is document.getElementById("testcase")
-PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
-PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
-PASS document.querySelectorAll("input:read-write").length is 0
-PASS document.querySelector("input:read-write") is null
-PASS document.querySelectorAll("input:read-only").length is 1
-PASS document.querySelector("input:read-only") is document.getElementById("testcase")
-PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
-PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
-PASS document.querySelectorAll("input:read-write").length is 0
-PASS document.querySelector("input:read-write") is null
-PASS document.querySelectorAll("input:read-only").length is 1
-PASS document.querySelector("input:read-only") is document.getElementById("testcase")
-PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
-PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
-PASS document.querySelectorAll("input:read-write").length is 0
-PASS document.querySelector("input:read-write") is null
-PASS document.querySelectorAll("input:read-only").length is 1
-PASS document.querySelector("input:read-only") is document.getElementById("testcase")
-PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
-PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+FAIL document.querySelectorAll("input:read-write").length should be 0. Was 1.
+FAIL document.querySelector("input:read-write") should be null. Was [object HTMLInputElement].
+FAIL document.querySelectorAll("input:read-only").length should be 1. Was 0.
+FAIL document.querySelector("input:read-only") should be [object HTMLInputElement]. Was null.
+FAIL getComputedStyle(document.getElementById("testcase")).color should be rgb(0, 0, 0). Was rgb(4, 5, 6).
+FAIL getComputedStyle(document.getElementById("testcase")).backgroundColor should be rgb(1, 2, 3). Was rgb(255, 255, 255).
 Testing checkbox
 PASS document.querySelectorAll("input:read-write").length is 0
 PASS document.querySelector("input:read-write") is null
index aa7ac17..3e37324 100644 (file)
@@ -1,3 +1,21 @@
+2018-10-17  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        Enable the datalist element by default on iOS and macOS
+        https://bugs.webkit.org/show_bug.cgi?id=190594
+        <rdar://problem/45281159>
+
+        Reviewed by Ryosuke Niwa and Tim Horton.
+
+        Rebaseline some web platform tests.
+
+        * web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt:
+        * web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate-expected.txt:
+        * web-platform-tests/html/semantics/forms/the-datalist-element/datalistoptions-expected.txt:
+        * web-platform-tests/html/semantics/forms/the-input-element/hidden-expected.txt:
+        * web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt:
+        * web-platform-tests/html/semantics/forms/the-input-element/text-expected.txt:
+        * web-platform-tests/shadow-dom/input-element-list-expected.txt:
+
 2018-10-17  Charlie Turner  <cturner@igalia.com>
 
         [EME] Sanity check key ID length in the keyids init data format
index 117da17..23b4dc4 100644 (file)
@@ -4,8 +4,5 @@ PASS [INPUT in EMAIL status] The multiple attribute is false and the value attri
 PASS [INPUT in EMAIL status] The multiple attribute is true and the value contains valid e-mail addresses 
 PASS [INPUT in EMAIL status] The multiple attribute is true and the value attribute contains a ',' 
 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"
-PASS [INPUT in COLOR status] The value attribute is empty 
-PASS [INPUT in COLOR status] The value attribute is a valid sample color 
-PASS [INPUT in COLOR status] The value attribute is not a valid lowercase sample color 
-PASS [INPUT in COLOR status] The value attribute cannot convert to a valid sample color 
+FAIL [INPUT in COLOR status] The color type must be supported. assert_equals: The color type should be supported. expected "color" but got "text"
 
index 7a39e98..90053c7 100644 (file)
@@ -36,10 +36,7 @@ FAIL [INPUT in DATE status] The date type must be supported. assert_equals: The
 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"
 FAIL [INPUT in TIME status] The time type must be supported. assert_equals: The time type should be supported. expected "time" but got "text"
-PASS [INPUT in COLOR status] Must be barred from the constraint validation if it is disabled 
-PASS [INPUT in COLOR status] The willValidate attribute must be true if an element is mutable 
-PASS [INPUT in COLOR status] Must be barred from the constraint validation if it is readonly 
-PASS [INPUT in COLOR status] The willValidate attribute must be false if it has a datalist ancestor 
+FAIL [INPUT in COLOR status] The color type must be supported. assert_equals: The color type should be supported. expected "color" but got "text"
 PASS [INPUT in FILE status] Must be barred from the constraint validation if it is disabled 
 PASS [INPUT in FILE status] The willValidate attribute must be true if an element is mutable 
 PASS [INPUT in FILE status] Must be barred from the constraint validation if it is readonly 
index 453590c..3545a7e 100644 (file)
@@ -1,4 +1,4 @@
 
-FAIL options label/value undefined is not an object (evaluating 'datalist.options.length')
+PASS options label/value 
 PASS If an element has a datalist element ancestor, it is barred from constraint validation 
-Number:   Select number:  
+Number:  
index 1fcfa9b..da807c3 100644 (file)
@@ -6,7 +6,7 @@ PASS Setting value changes the current value for hidden
 PASS files attribute must return null for hidden 
 PASS valueAsDate attribute must return null for hidden 
 PASS valueAsNumber attribute must return NaN for hidden 
-FAIL list attribute must return null for hidden assert_equals: expected (object) null but got (undefined) undefined
+PASS list attribute must return null for hidden 
 PASS stepDown does not apply for hidden 
 PASS stepUp does not apply for hidden 
 PASS input type=hidden is barred from constraint validation 
index 3661aa9..1c77052 100644 (file)
@@ -12,7 +12,7 @@ FAIL input type week should support the select() method assert_equals: the given
 FAIL input type time should support the select() method assert_equals: the given input type is not supported expected "time" but got "text"
 FAIL input type datetime-local should support the select() method assert_equals: the given input type is not supported expected "datetime-local" but got "text"
 PASS input type number should support the select() method 
-PASS input type color should support the select() method 
+FAIL input type color should support the select() method assert_equals: the given input type is not supported expected "color" but got "text"
 PASS input type file should support the select() method 
 FAIL input type hidden should do nothing when the select() method is called (but, not throw) Type error
 FAIL input type range should do nothing when the select() method is called (but, not throw) Type error
@@ -37,7 +37,7 @@ FAIL input type time should not support variable-length selections assert_equals
 FAIL input type datetime-local should not support variable-length selections assert_equals: the given input type is not supported expected "datetime-local" but got "text"
 FAIL input type number should not support variable-length selections assert_equals: getting input.selectionStart expected (object) null but got (number) 0
 FAIL input type range should not support variable-length selections Type error
-FAIL input type color should not support variable-length selections Type error
+FAIL input type color should not support variable-length selections assert_equals: the given input type is not supported expected "color" but got "text"
 FAIL input type checkbox should not support variable-length selections Type error
 FAIL input type radio should not support variable-length selections Type error
 FAIL input type file should not support variable-length selections Type error
index b11ffa9..83c657f 100644 (file)
@@ -7,7 +7,7 @@ PASS Value sanitization algorithm should strip line breaks for text
 PASS files attribute must return null for text 
 PASS valueAsDate attribute must return null for text 
 PASS valueAsNumber attribute must return NaN for text 
-FAIL list attribute must return null for text assert_equals: expected (object) null but got (undefined) undefined
+PASS list attribute must return null for text 
 PASS stepDown does not apply for text 
 PASS stepUp does not apply for text 
 PASS Value returns the current value for search 
@@ -16,7 +16,7 @@ PASS Value sanitization algorithm should strip line breaks for search
 PASS files attribute must return null for search 
 PASS valueAsDate attribute must return null for search 
 PASS valueAsNumber attribute must return NaN for search 
-FAIL list attribute must return null for search assert_equals: expected (object) null but got (undefined) undefined
+PASS list attribute must return null for search 
 PASS stepDown does not apply for search 
 PASS stepUp does not apply for search 
 
index 978159e..520a685 100644 (file)
@@ -1,5 +1,5 @@
 
 
-FAIL Input element's list attribute should point to the datalist element. assert_equals: expected (object) null but got (undefined) undefined
-FAIL Input element's list attribute should point to the datalist element in Shadow DOM. assert_equals: expected (object) null but got (undefined) undefined
+FAIL Input element's list attribute should point to the datalist element. assert_equals: expected Element node <datalist id="datalist"></datalist> but got null
+FAIL Input element's list attribute should point to the datalist element in Shadow DOM. assert_equals: expected Element node <datalist id="datalist"></datalist> but got null
 
diff --git a/LayoutTests/platform/ios-simulator/fast/forms/datalist/datalist-searchinput-appearance-expected.txt b/LayoutTests/platform/ios-simulator/fast/forms/datalist/datalist-searchinput-appearance-expected.txt
new file mode 100644 (file)
index 0000000..cecbbf1
--- /dev/null
@@ -0,0 +1,14 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x41
+  RenderBlock {HTML} at (0,0) size 800x41
+    RenderBody {BODY} at (8,8) size 784x25
+      RenderTextControl {INPUT} at (2,2) size 136x22 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
+        RenderFlexibleBox {DIV} at (6,3) size 123x15
+          RenderBlock {DIV} at (0,7) size 0x0
+          RenderBlock {DIV} at (0,0) size 123x14
+          RenderBlock {DIV} at (122,7) size 0x0
+      RenderText {#text} at (0,0) size 0x0
+      RenderText {#text} at (0,0) size 0x0
+layer at (17,13) size 122x14
+  RenderBlock {DIV} at (0,0) size 123x14
diff --git a/LayoutTests/platform/ios-simulator/fast/forms/datalist/datalist-textinput-appearance-expected.txt b/LayoutTests/platform/ios-simulator/fast/forms/datalist/datalist-textinput-appearance-expected.txt
new file mode 100644 (file)
index 0000000..270592a
--- /dev/null
@@ -0,0 +1,12 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x41
+  RenderBlock {HTML} at (0,0) size 800x41
+    RenderBody {BODY} at (8,8) size 784x25
+      RenderTextControl {INPUT} at (2,2) size 136x22 [bgcolor=#FFFFFF] [border: (1px solid #4C4C4C)]
+        RenderFlexibleBox {DIV} at (6,3) size 123x15
+          RenderBlock {DIV} at (0,0) size 123x14
+      RenderText {#text} at (0,0) size 0x0
+      RenderText {#text} at (0,0) size 0x0
+layer at (17,13) size 122x14
+  RenderBlock {DIV} at (0,0) size 123x14
index 5bc624e..91f4f6c 100644 (file)
@@ -27,6 +27,10 @@ media/no-fullscreen-when-hidden.html [ Skip ]
 pointerevents [ Skip ]
 imported/w3c/web-platform-tests/pointerevents [ Skip ]
 
+# Datalist is unsupported in WK1
+fast/forms/datalist [ WontFix ]
+imported/w3c/web-platform-tests/html/semantics/forms/the-datalist-element [ WontFix ]
+
 # <rdar://problem/6501130> LayoutTests: Enable editing tests after we support editing
 editing/deleting/4922367.html
 editing/deleting/5126166.html
diff --git a/LayoutTests/platform/ios-wk2/accessibility/roles-exposed-expected.txt b/LayoutTests/platform/ios-wk2/accessibility/roles-exposed-expected.txt
new file mode 100644 (file)
index 0000000..e84b32f
--- /dev/null
@@ -0,0 +1,10 @@
+X
+This tests that native elements and ARIA overrides result in the expected role, subrole and role description.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/platform/ios-wk2/fast/borders/empty-outline-border-assert-expected.txt b/LayoutTests/platform/ios-wk2/fast/borders/empty-outline-border-assert-expected.txt
new file mode 100644 (file)
index 0000000..047e26e
--- /dev/null
@@ -0,0 +1 @@
+PASS if no ASSERT in debug.
diff --git a/LayoutTests/platform/ios-wk2/fast/dom/Window/window-lookup-precedence-expected.txt b/LayoutTests/platform/ios-wk2/fast/dom/Window/window-lookup-precedence-expected.txt
new file mode 100644 (file)
index 0000000..9808869
--- /dev/null
@@ -0,0 +1,436 @@
+Tests lookup precedence for properties on Window objects in the presence of a child frame, and that IDL properties defined in the prototype (window.location, window.focus, etc) have higher lookup precedence than named document elements (such as input elements).
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+
+
+PASS 'function alert() {    [native code]}' is 'function alert() {    [native code]}'
+PASS 'function alert() {    [native code]}' is 'function alert() {    [native code]}'
+PASS 'function atob() {    [native code]}' is 'function atob() {    [native code]}'
+PASS 'function atob() {    [native code]}' is 'function atob() {    [native code]}'
+PASS 'function blur() {    [native code]}' is 'function blur() {    [native code]}'
+PASS 'function blur() {    [native code]}' is 'function blur() {    [native code]}'
+PASS 'function btoa() {    [native code]}' is 'function btoa() {    [native code]}'
+PASS 'function btoa() {    [native code]}' is 'function btoa() {    [native code]}'
+PASS 'function captureEvents() {    [native code]}' is 'function captureEvents() {    [native code]}'
+PASS 'function captureEvents() {    [native code]}' is 'function captureEvents() {    [native code]}'
+PASS 'function clearInterval() {    [native code]}' is 'function clearInterval() {    [native code]}'
+PASS 'function clearInterval() {    [native code]}' is 'function clearInterval() {    [native code]}'
+PASS 'function clearTimeout() {    [native code]}' is 'function clearTimeout() {    [native code]}'
+PASS 'function clearTimeout() {    [native code]}' is 'function clearTimeout() {    [native code]}'
+PASS 'function close() {    [native code]}' is 'function close() {    [native code]}'
+PASS 'function close() {    [native code]}' is 'function close() {    [native code]}'
+PASS 'function confirm() {    [native code]}' is 'function confirm() {    [native code]}'
+PASS 'function confirm() {    [native code]}' is 'function confirm() {    [native code]}'
+PASS 'function find() {    [native code]}' is 'function find() {    [native code]}'
+PASS 'function find() {    [native code]}' is 'function find() {    [native code]}'
+PASS 'function focus() {    [native code]}' is 'function focus() {    [native code]}'
+PASS 'function focus() {    [native code]}' is 'function focus() {    [native code]}'
+PASS 'function getComputedStyle() {    [native code]}' is 'function getComputedStyle() {    [native code]}'
+PASS 'function getComputedStyle() {    [native code]}' is 'function getComputedStyle() {    [native code]}'
+PASS 'function getMatchedCSSRules() {    [native code]}' is 'function getMatchedCSSRules() {    [native code]}'
+PASS 'function getMatchedCSSRules() {    [native code]}' is 'function getMatchedCSSRules() {    [native code]}'
+PASS 'function getSelection() {    [native code]}' is 'function getSelection() {    [native code]}'
+PASS 'function getSelection() {    [native code]}' is 'function getSelection() {    [native code]}'
+PASS 'function moveBy() {    [native code]}' is 'function moveBy() {    [native code]}'
+PASS 'function moveBy() {    [native code]}' is 'function moveBy() {    [native code]}'
+PASS 'function moveTo() {    [native code]}' is 'function moveTo() {    [native code]}'
+PASS 'function moveTo() {    [native code]}' is 'function moveTo() {    [native code]}'
+PASS 'function open() {    [native code]}' is 'function open() {    [native code]}'
+PASS 'function open() {    [native code]}' is 'function open() {    [native code]}'
+PASS 'function print() {    [native code]}' is 'function print() {    [native code]}'
+PASS 'function print() {    [native code]}' is 'function print() {    [native code]}'
+PASS 'function prompt() {    [native code]}' is 'function prompt() {    [native code]}'
+PASS 'function prompt() {    [native code]}' is 'function prompt() {    [native code]}'
+PASS 'function releaseEvents() {    [native code]}' is 'function releaseEvents() {    [native code]}'
+PASS 'function releaseEvents() {    [native code]}' is 'function releaseEvents() {    [native code]}'
+PASS 'function resizeBy() {    [native code]}' is 'function resizeBy() {    [native code]}'
+PASS 'function resizeBy() {    [native code]}' is 'function resizeBy() {    [native code]}'
+PASS 'function resizeTo() {    [native code]}' is 'function resizeTo() {    [native code]}'
+PASS 'function resizeTo() {    [native code]}' is 'function resizeTo() {    [native code]}'
+PASS 'function scroll() {    [native code]}' is 'function scroll() {    [native code]}'
+PASS 'function scroll() {    [native code]}' is 'function scroll() {    [native code]}'
+PASS 'function scrollBy() {    [native code]}' is 'function scrollBy() {    [native code]}'
+PASS 'function scrollBy() {    [native code]}' is 'function scrollBy() {    [native code]}'
+PASS 'function scrollTo() {    [native code]}' is 'function scrollTo() {    [native code]}'
+PASS 'function scrollTo() {    [native code]}' is 'function scrollTo() {    [native code]}'
+PASS 'function setInterval() {    [native code]}' is 'function setInterval() {    [native code]}'
+PASS 'function setInterval() {    [native code]}' is 'function setInterval() {    [native code]}'
+PASS 'function setTimeout() {    [native code]}' is 'function setTimeout() {    [native code]}'
+PASS 'function setTimeout() {    [native code]}' is 'function setTimeout() {    [native code]}'
+PASS 'function stop() {    [native code]}' is 'function stop() {    [native code]}'
+PASS 'function stop() {    [native code]}' is 'function stop() {    [native code]}'
+PASS 'function toString() {    [native code]}' is 'function toString() {    [native code]}'
+PASS 'function toString() {    [native code]}' is 'function toString() {    [native code]}'
+PASS 'function Attr() {    [native code]}' is 'function Attr() {    [native code]}'
+PASS 'function Attr() {    [native code]}' is 'function Attr() {    [native code]}'
+PASS 'function CDATASection() {    [native code]}' is 'function CDATASection() {    [native code]}'
+PASS 'function CDATASection() {    [native code]}' is 'function CDATASection() {    [native code]}'
+PASS 'function CSSFontFaceRule() {    [native code]}' is 'function CSSFontFaceRule() {    [native code]}'
+PASS 'function CSSFontFaceRule() {    [native code]}' is 'function CSSFontFaceRule() {    [native code]}'
+PASS 'function CSSImportRule() {    [native code]}' is 'function CSSImportRule() {    [native code]}'
+PASS 'function CSSImportRule() {    [native code]}' is 'function CSSImportRule() {    [native code]}'
+PASS 'function CSSMediaRule() {    [native code]}' is 'function CSSMediaRule() {    [native code]}'
+PASS 'function CSSMediaRule() {    [native code]}' is 'function CSSMediaRule() {    [native code]}'
+PASS 'function CSSPageRule() {    [native code]}' is 'function CSSPageRule() {    [native code]}'
+PASS 'function CSSPageRule() {    [native code]}' is 'function CSSPageRule() {    [native code]}'
+PASS 'function CSSPrimitiveValue() {    [native code]}' is 'function CSSPrimitiveValue() {    [native code]}'
+PASS 'function CSSPrimitiveValue() {    [native code]}' is 'function CSSPrimitiveValue() {    [native code]}'
+PASS 'function CSSRule() {    [native code]}' is 'function CSSRule() {    [native code]}'
+PASS 'function CSSRule() {    [native code]}' is 'function CSSRule() {    [native code]}'
+PASS 'function CSSRuleList() {    [native code]}' is 'function CSSRuleList() {    [native code]}'
+PASS 'function CSSRuleList() {    [native code]}' is 'function CSSRuleList() {    [native code]}'
+PASS 'function CSSStyleDeclaration() {    [native code]}' is 'function CSSStyleDeclaration() {    [native code]}'
+PASS 'function CSSStyleDeclaration() {    [native code]}' is 'function CSSStyleDeclaration() {    [native code]}'
+PASS 'function CSSStyleRule() {    [native code]}' is 'function CSSStyleRule() {    [native code]}'
+PASS 'function CSSStyleRule() {    [native code]}' is 'function CSSStyleRule() {    [native code]}'
+PASS 'function CSSStyleSheet() {    [native code]}' is 'function CSSStyleSheet() {    [native code]}'
+PASS 'function CSSStyleSheet() {    [native code]}' is 'function CSSStyleSheet() {    [native code]}'
+PASS 'function CSSValue() {    [native code]}' is 'function CSSValue() {    [native code]}'
+PASS 'function CSSValue() {    [native code]}' is 'function CSSValue() {    [native code]}'
+PASS 'function CSSValueList() {    [native code]}' is 'function CSSValueList() {    [native code]}'
+PASS 'function CSSValueList() {    [native code]}' is 'function CSSValueList() {    [native code]}'
+PASS 'function CharacterData() {    [native code]}' is 'function CharacterData() {    [native code]}'
+PASS 'function CharacterData() {    [native code]}' is 'function CharacterData() {    [native code]}'
+PASS 'function Comment() {    [native code]}' is 'function Comment() {    [native code]}'
+PASS 'function Comment() {    [native code]}' is 'function Comment() {    [native code]}'
+PASS 'function Counter() {    [native code]}' is 'function Counter() {    [native code]}'
+PASS 'function Counter() {    [native code]}' is 'function Counter() {    [native code]}'
+PASS 'function DOMException() {    [native code]}' is 'function DOMException() {    [native code]}'
+PASS 'function DOMException() {    [native code]}' is 'function DOMException() {    [native code]}'
+PASS 'function DOMImplementation() {    [native code]}' is 'function DOMImplementation() {    [native code]}'
+PASS 'function DOMImplementation() {    [native code]}' is 'function DOMImplementation() {    [native code]}'
+PASS 'function DOMParser() {    [native code]}' is 'function DOMParser() {    [native code]}'
+PASS 'function DOMParser() {    [native code]}' is 'function DOMParser() {    [native code]}'
+PASS 'function Document() {    [native code]}' is 'function Document() {    [native code]}'
+PASS 'function Document() {    [native code]}' is 'function Document() {    [native code]}'
+PASS 'function DocumentFragment() {    [native code]}' is 'function DocumentFragment() {    [native code]}'
+PASS 'function DocumentFragment() {    [native code]}' is 'function DocumentFragment() {    [native code]}'
+PASS 'function DocumentType() {    [native code]}' is 'function DocumentType() {    [native code]}'
+PASS 'function DocumentType() {    [native code]}' is 'function DocumentType() {    [native code]}'
+PASS 'function Element() {    [native code]}' is 'function Element() {    [native code]}'
+PASS 'function Element() {    [native code]}' is 'function Element() {    [native code]}'
+PASS 'function Event() {    [native code]}' is 'function Event() {    [native code]}'
+PASS 'function Event() {    [native code]}' is 'function Event() {    [native code]}'
+PASS 'function HTMLAnchorElement() {    [native code]}' is 'function HTMLAnchorElement() {    [native code]}'
+PASS 'function HTMLAnchorElement() {    [native code]}' is 'function HTMLAnchorElement() {    [native code]}'
+PASS 'function HTMLAppletElement() {    [native code]}' is 'function HTMLAppletElement() {    [native code]}'
+PASS 'function HTMLAppletElement() {    [native code]}' is 'function HTMLAppletElement() {    [native code]}'
+PASS 'function HTMLAreaElement() {    [native code]}' is 'function HTMLAreaElement() {    [native code]}'
+PASS 'function HTMLAreaElement() {    [native code]}' is 'function HTMLAreaElement() {    [native code]}'
+PASS 'function HTMLBRElement() {    [native code]}' is 'function HTMLBRElement() {    [native code]}'
+PASS 'function HTMLBRElement() {    [native code]}' is 'function HTMLBRElement() {    [native code]}'
+PASS 'function HTMLBaseElement() {    [native code]}' is 'function HTMLBaseElement() {    [native code]}'
+PASS 'function HTMLBaseElement() {    [native code]}' is 'function HTMLBaseElement() {    [native code]}'
+PASS 'function HTMLBodyElement() {    [native code]}' is 'function HTMLBodyElement() {    [native code]}'
+PASS 'function HTMLBodyElement() {    [native code]}' is 'function HTMLBodyElement() {    [native code]}'
+PASS 'function HTMLButtonElement() {    [native code]}' is 'function HTMLButtonElement() {    [native code]}'
+PASS 'function HTMLButtonElement() {    [native code]}' is 'function HTMLButtonElement() {    [native code]}'
+PASS 'function HTMLCanvasElement() {    [native code]}' is 'function HTMLCanvasElement() {    [native code]}'
+PASS 'function HTMLCanvasElement() {    [native code]}' is 'function HTMLCanvasElement() {    [native code]}'
+PASS 'function HTMLDListElement() {    [native code]}' is 'function HTMLDListElement() {    [native code]}'
+PASS 'function HTMLDListElement() {    [native code]}' is 'function HTMLDListElement() {    [native code]}'
+FAIL win['HTMLDataListElement'] should be null (of type object). Was undefined (of type undefined).
+FAIL win['HTMLDataListElement'] should be null. Was [object HTMLInputElement].
+PASS 'function HTMLDirectoryElement() {    [native code]}' is 'function HTMLDirectoryElement() {    [native code]}'
+PASS 'function HTMLDirectoryElement() {    [native code]}' is 'function HTMLDirectoryElement() {    [native code]}'
+PASS 'function HTMLDivElement() {    [native code]}' is 'function HTMLDivElement() {    [native code]}'
+PASS 'function HTMLDivElement() {    [native code]}' is 'function HTMLDivElement() {    [native code]}'
+PASS 'function HTMLDocument() {    [native code]}' is 'function HTMLDocument() {    [native code]}'
+PASS 'function HTMLDocument() {    [native code]}' is 'function HTMLDocument() {    [native code]}'
+PASS 'function HTMLElement() {    [native code]}' is 'function HTMLElement() {    [native code]}'
+PASS 'function HTMLElement() {    [native code]}' is 'function HTMLElement() {    [native code]}'
+PASS 'function HTMLEmbedElement() {    [native code]}' is 'function HTMLEmbedElement() {    [native code]}'
+PASS 'function HTMLEmbedElement() {    [native code]}' is 'function HTMLEmbedElement() {    [native code]}'
+PASS 'function HTMLFieldSetElement() {    [native code]}' is 'function HTMLFieldSetElement() {    [native code]}'
+PASS 'function HTMLFieldSetElement() {    [native code]}' is 'function HTMLFieldSetElement() {    [native code]}'
+PASS 'function HTMLFontElement() {    [native code]}' is 'function HTMLFontElement() {    [native code]}'
+PASS 'function HTMLFontElement() {    [native code]}' is 'function HTMLFontElement() {    [native code]}'
+PASS 'function HTMLFormElement() {    [native code]}' is 'function HTMLFormElement() {    [native code]}'
+PASS 'function HTMLFormElement() {    [native code]}' is 'function HTMLFormElement() {    [native code]}'
+PASS 'function HTMLFrameElement() {    [native code]}' is 'function HTMLFrameElement() {    [native code]}'
+PASS 'function HTMLFrameElement() {    [native code]}' is 'function HTMLFrameElement() {    [native code]}'
+PASS 'function HTMLFrameSetElement() {    [native code]}' is 'function HTMLFrameSetElement() {    [native code]}'
+PASS 'function HTMLFrameSetElement() {    [native code]}' is 'function HTMLFrameSetElement() {    [native code]}'
+PASS 'function HTMLHRElement() {    [native code]}' is 'function HTMLHRElement() {    [native code]}'
+PASS 'function HTMLHRElement() {    [native code]}' is 'function HTMLHRElement() {    [native code]}'
+PASS 'function HTMLHeadElement() {    [native code]}' is 'function HTMLHeadElement() {    [native code]}'
+PASS 'function HTMLHeadElement() {    [native code]}' is 'function HTMLHeadElement() {    [native code]}'
+PASS 'function HTMLHeadingElement() {    [native code]}' is 'function HTMLHeadingElement() {    [native code]}'
+PASS 'function HTMLHeadingElement() {    [native code]}' is 'function HTMLHeadingElement() {    [native code]}'
+PASS 'function HTMLHtmlElement() {    [native code]}' is 'function HTMLHtmlElement() {    [native code]}'
+PASS 'function HTMLHtmlElement() {    [native code]}' is 'function HTMLHtmlElement() {    [native code]}'
+PASS 'function HTMLIFrameElement() {    [native code]}' is 'function HTMLIFrameElement() {    [native code]}'
+PASS 'function HTMLIFrameElement() {    [native code]}' is 'function HTMLIFrameElement() {    [native code]}'
+PASS 'function HTMLImageElement() {    [native code]}' is 'function HTMLImageElement() {    [native code]}'
+PASS 'function HTMLImageElement() {    [native code]}' is 'function HTMLImageElement() {    [native code]}'
+PASS 'function HTMLInputElement() {    [native code]}' is 'function HTMLInputElement() {    [native code]}'
+PASS 'function HTMLInputElement() {    [native code]}' is 'function HTMLInputElement() {    [native code]}'
+PASS 'function HTMLLIElement() {    [native code]}' is 'function HTMLLIElement() {    [native code]}'
+PASS 'function HTMLLIElement() {    [native code]}' is 'function HTMLLIElement() {    [native code]}'
+PASS 'function HTMLLabelElement() {    [native code]}' is 'function HTMLLabelElement() {    [native code]}'
+PASS 'function HTMLLabelElement() {    [native code]}' is 'function HTMLLabelElement() {    [native code]}'
+PASS 'function HTMLLegendElement() {    [native code]}' is 'function HTMLLegendElement() {    [native code]}'
+PASS 'function HTMLLegendElement() {    [native code]}' is 'function HTMLLegendElement() {    [native code]}'
+PASS 'function HTMLLinkElement() {    [native code]}' is 'function HTMLLinkElement() {    [native code]}'
+PASS 'function HTMLLinkElement() {    [native code]}' is 'function HTMLLinkElement() {    [native code]}'
+PASS 'function HTMLMapElement() {    [native code]}' is 'function HTMLMapElement() {    [native code]}'
+PASS 'function HTMLMapElement() {    [native code]}' is 'function HTMLMapElement() {    [native code]}'
+PASS 'function HTMLMarqueeElement() {    [native code]}' is 'function HTMLMarqueeElement() {    [native code]}'
+PASS 'function HTMLMarqueeElement() {    [native code]}' is 'function HTMLMarqueeElement() {    [native code]}'
+PASS 'function HTMLMenuElement() {    [native code]}' is 'function HTMLMenuElement() {    [native code]}'
+PASS 'function HTMLMenuElement() {    [native code]}' is 'function HTMLMenuElement() {    [native code]}'
+PASS 'function HTMLMetaElement() {    [native code]}' is 'function HTMLMetaElement() {    [native code]}'
+PASS 'function HTMLMetaElement() {    [native code]}' is 'function HTMLMetaElement() {    [native code]}'
+PASS 'function HTMLModElement() {    [native code]}' is 'function HTMLModElement() {    [native code]}'
+PASS 'function HTMLModElement() {    [native code]}' is 'function HTMLModElement() {    [native code]}'
+PASS 'function HTMLOListElement() {    [native code]}' is 'function HTMLOListElement() {    [native code]}'
+PASS 'function HTMLOListElement() {    [native code]}' is 'function HTMLOListElement() {    [native code]}'
+PASS 'function HTMLObjectElement() {    [native code]}' is 'function HTMLObjectElement() {    [native code]}'
+PASS 'function HTMLObjectElement() {    [native code]}' is 'function HTMLObjectElement() {    [native code]}'
+PASS 'function HTMLOptGroupElement() {    [native code]}' is 'function HTMLOptGroupElement() {    [native code]}'
+PASS 'function HTMLOptGroupElement() {    [native code]}' is 'function HTMLOptGroupElement() {    [native code]}'
+PASS 'function HTMLOptionElement() {    [native code]}' is 'function HTMLOptionElement() {    [native code]}'
+PASS 'function HTMLOptionElement() {    [native code]}' is 'function HTMLOptionElement() {    [native code]}'
+PASS 'function HTMLParagraphElement() {    [native code]}' is 'function HTMLParagraphElement() {    [native code]}'
+PASS 'function HTMLParagraphElement() {    [native code]}' is 'function HTMLParagraphElement() {    [native code]}'
+PASS 'function HTMLParamElement() {    [native code]}' is 'function HTMLParamElement() {    [native code]}'
+PASS 'function HTMLParamElement() {    [native code]}' is 'function HTMLParamElement() {    [native code]}'
+PASS 'function HTMLPreElement() {    [native code]}' is 'function HTMLPreElement() {    [native code]}'
+PASS 'function HTMLPreElement() {    [native code]}' is 'function HTMLPreElement() {    [native code]}'
+PASS 'function HTMLQuoteElement() {    [native code]}' is 'function HTMLQuoteElement() {    [native code]}'
+PASS 'function HTMLQuoteElement() {    [native code]}' is 'function HTMLQuoteElement() {    [native code]}'
+PASS 'function HTMLScriptElement() {    [native code]}' is 'function HTMLScriptElement() {    [native code]}'
+PASS 'function HTMLScriptElement() {    [native code]}' is 'function HTMLScriptElement() {    [native code]}'
+PASS 'function HTMLSelectElement() {    [native code]}' is 'function HTMLSelectElement() {    [native code]}'
+PASS 'function HTMLSelectElement() {    [native code]}' is 'function HTMLSelectElement() {    [native code]}'
+PASS 'function HTMLStyleElement() {    [native code]}' is 'function HTMLStyleElement() {    [native code]}'
+PASS 'function HTMLStyleElement() {    [native code]}' is 'function HTMLStyleElement() {    [native code]}'
+PASS 'function HTMLTableCaptionElement() {    [native code]}' is 'function HTMLTableCaptionElement() {    [native code]}'
+PASS 'function HTMLTableCaptionElement() {    [native code]}' is 'function HTMLTableCaptionElement() {    [native code]}'
+PASS 'function HTMLTableCellElement() {    [native code]}' is 'function HTMLTableCellElement() {    [native code]}'
+PASS 'function HTMLTableCellElement() {    [native code]}' is 'function HTMLTableCellElement() {    [native code]}'
+PASS 'function HTMLTableColElement() {    [native code]}' is 'function HTMLTableColElement() {    [native code]}'
+PASS 'function HTMLTableColElement() {    [native code]}' is 'function HTMLTableColElement() {    [native code]}'
+PASS 'function HTMLTableElement() {    [native code]}' is 'function HTMLTableElement() {    [native code]}'
+PASS 'function HTMLTableElement() {    [native code]}' is 'function HTMLTableElement() {    [native code]}'
+PASS 'function HTMLTableRowElement() {    [native code]}' is 'function HTMLTableRowElement() {    [native code]}'
+PASS 'function HTMLTableRowElement() {    [native code]}' is 'function HTMLTableRowElement() {    [native code]}'
+PASS 'function HTMLTableSectionElement() {    [native code]}' is 'function HTMLTableSectionElement() {    [native code]}'
+PASS 'function HTMLTableSectionElement() {    [native code]}' is 'function HTMLTableSectionElement() {    [native code]}'
+PASS 'function HTMLTextAreaElement() {    [native code]}' is 'function HTMLTextAreaElement() {    [native code]}'
+PASS 'function HTMLTextAreaElement() {    [native code]}' is 'function HTMLTextAreaElement() {    [native code]}'
+PASS 'function HTMLTitleElement() {    [native code]}' is 'function HTMLTitleElement() {    [native code]}'
+PASS 'function HTMLTitleElement() {    [native code]}' is 'function HTMLTitleElement() {    [native code]}'
+PASS 'function HTMLUListElement() {    [native code]}' is 'function HTMLUListElement() {    [native code]}'
+PASS 'function HTMLUListElement() {    [native code]}' is 'function HTMLUListElement() {    [native code]}'
+PASS 'function KeyboardEvent() {    [native code]}' is 'function KeyboardEvent() {    [native code]}'
+PASS 'function KeyboardEvent() {    [native code]}' is 'function KeyboardEvent() {    [native code]}'
+PASS 'function MediaList() {    [native code]}' is 'function MediaList() {    [native code]}'
+PASS 'function MediaList() {    [native code]}' is 'function MediaList() {    [native code]}'
+PASS 'function MouseEvent() {    [native code]}' is 'function MouseEvent() {    [native code]}'
+PASS 'function MouseEvent() {    [native code]}' is 'function MouseEvent() {    [native code]}'
+PASS 'function MutationEvent() {    [native code]}' is 'function MutationEvent() {    [native code]}'
+PASS 'function MutationEvent() {    [native code]}' is 'function MutationEvent() {    [native code]}'
+PASS 'function NamedNodeMap() {    [native code]}' is 'function NamedNodeMap() {    [native code]}'
+PASS 'function NamedNodeMap() {    [native code]}' is 'function NamedNodeMap() {    [native code]}'
+PASS 'function Node() {    [native code]}' is 'function Node() {    [native code]}'
+PASS 'function Node() {    [native code]}' is 'function Node() {    [native code]}'
+PASS 'function NodeFilter() {    [native code]}' is 'function NodeFilter() {    [native code]}'
+PASS 'function NodeFilter() {    [native code]}' is 'function NodeFilter() {    [native code]}'
+PASS 'function NodeList() {    [native code]}' is 'function NodeList() {    [native code]}'
+PASS 'function NodeList() {    [native code]}' is 'function NodeList() {    [native code]}'
+PASS 'function OverconstrainedError() {    [native code]}' is 'function OverconstrainedError() {    [native code]}'
+PASS 'function OverconstrainedError() {    [native code]}' is 'function OverconstrainedError() {    [native code]}'
+PASS 'function OverflowEvent() {    [native code]}' is 'function OverflowEvent() {    [native code]}'
+PASS 'function OverflowEvent() {    [native code]}' is 'function OverflowEvent() {    [native code]}'
+PASS 'function ProcessingInstruction() {    [native code]}' is 'function ProcessingInstruction() {    [native code]}'
+PASS 'function ProcessingInstruction() {    [native code]}' is 'function ProcessingInstruction() {    [native code]}'
+PASS 'function ProgressEvent() {    [native code]}' is 'function ProgressEvent() {    [native code]}'
+PASS 'function ProgressEvent() {    [native code]}' is 'function ProgressEvent() {    [native code]}'
+PASS 'function Range() {    [native code]}' is 'function Range() {    [native code]}'
+PASS 'function Range() {    [native code]}' is 'function Range() {    [native code]}'
+PASS 'function Rect() {    [native code]}' is 'function Rect() {    [native code]}'
+PASS 'function Rect() {    [native code]}' is 'function Rect() {    [native code]}'
+PASS 'function SVGAngle() {    [native code]}' is 'function SVGAngle() {    [native code]}'
+PASS 'function SVGAngle() {    [native code]}' is 'function SVGAngle() {    [native code]}'
+PASS 'function SVGGradientElement() {    [native code]}' is 'function SVGGradientElement() {    [native code]}'
+PASS 'function SVGGradientElement() {    [native code]}' is 'function SVGGradientElement() {    [native code]}'
+PASS 'function SVGLength() {    [native code]}' is 'function SVGLength() {    [native code]}'
+PASS 'function SVGLength() {    [native code]}' is 'function SVGLength() {    [native code]}'
+PASS 'function SVGMarkerElement() {    [native code]}' is 'function SVGMarkerElement() {    [native code]}'
+PASS 'function SVGMarkerElement() {    [native code]}' is 'function SVGMarkerElement() {    [native code]}'
+PASS 'function SVGPathSeg() {    [native code]}' is 'function SVGPathSeg() {    [native code]}'
+PASS 'function SVGPathSeg() {    [native code]}' is 'function SVGPathSeg() {    [native code]}'
+PASS 'function SVGPreserveAspectRatio() {    [native code]}' is 'function SVGPreserveAspectRatio() {    [native code]}'
+PASS 'function SVGPreserveAspectRatio() {    [native code]}' is 'function SVGPreserveAspectRatio() {    [native code]}'
+PASS 'function SVGRenderingIntent() {    [native code]}' is 'function SVGRenderingIntent() {    [native code]}'
+PASS 'function SVGRenderingIntent() {    [native code]}' is 'function SVGRenderingIntent() {    [native code]}'
+PASS 'function SVGTextContentElement() {    [native code]}' is 'function SVGTextContentElement() {    [native code]}'
+PASS 'function SVGTextContentElement() {    [native code]}' is 'function SVGTextContentElement() {    [native code]}'
+PASS 'function SVGTextPathElement() {    [native code]}' is 'function SVGTextPathElement() {    [native code]}'
+PASS 'function SVGTextPathElement() {    [native code]}' is 'function SVGTextPathElement() {    [native code]}'
+PASS 'function SVGTransform() {    [native code]}' is 'function SVGTransform() {    [native code]}'
+PASS 'function SVGTransform() {    [native code]}' is 'function SVGTransform() {    [native code]}'
+PASS 'function SVGUnitTypes() {    [native code]}' is 'function SVGUnitTypes() {    [native code]}'
+PASS 'function SVGUnitTypes() {    [native code]}' is 'function SVGUnitTypes() {    [native code]}'
+PASS 'function StyleSheet() {    [native code]}' is 'function StyleSheet() {    [native code]}'
+PASS 'function StyleSheet() {    [native code]}' is 'function StyleSheet() {    [native code]}'
+PASS 'function StyleSheetList() {    [native code]}' is 'function StyleSheetList() {    [native code]}'
+PASS 'function StyleSheetList() {    [native code]}' is 'function StyleSheetList() {    [native code]}'
+PASS 'function Text() {    [native code]}' is 'function Text() {    [native code]}'
+PASS 'function Text() {    [native code]}' is 'function Text() {    [native code]}'
+PASS 'function TextEvent() {    [native code]}' is 'function TextEvent() {    [native code]}'
+PASS 'function TextEvent() {    [native code]}' is 'function TextEvent() {    [native code]}'
+PASS 'function UIEvent() {    [native code]}' is 'function UIEvent() {    [native code]}'
+PASS 'function UIEvent() {    [native code]}' is 'function UIEvent() {    [native code]}'
+PASS 'function WheelEvent() {    [native code]}' is 'function WheelEvent() {    [native code]}'
+PASS 'function WheelEvent() {    [native code]}' is 'function WheelEvent() {    [native code]}'
+PASS 'function XMLDocument() {    [native code]}' is 'function XMLDocument() {    [native code]}'
+PASS 'function XMLDocument() {    [native code]}' is 'function XMLDocument() {    [native code]}'
+PASS 'function XMLHttpRequest() {    [native code]}' is 'function XMLHttpRequest() {    [native code]}'
+PASS 'function XMLHttpRequest() {    [native code]}' is 'function XMLHttpRequest() {    [native code]}'
+PASS 'function XMLSerializer() {    [native code]}' is 'function XMLSerializer() {    [native code]}'
+PASS 'function XMLSerializer() {    [native code]}' is 'function XMLSerializer() {    [native code]}'
+PASS 'function XPathEvaluator() {    [native code]}' is 'function XPathEvaluator() {    [native code]}'
+PASS 'function XPathEvaluator() {    [native code]}' is 'function XPathEvaluator() {    [native code]}'
+PASS 'function XPathResult() {    [native code]}' is 'function XPathResult() {    [native code]}'
+PASS 'function XPathResult() {    [native code]}' is 'function XPathResult() {    [native code]}'
+PASS 'function XSLTProcessor() {    [native code]}' is 'function XSLTProcessor() {    [native code]}'
+PASS 'function XSLTProcessor() {    [native code]}' is 'function XSLTProcessor() {    [native code]}'
+PASS win['onload'] is null
+PASS win['onload'] is null
+PASS win['frames'] == '[object Window]' is true
+PASS win['frames'] == '[object Window]' is true
+PASS win['parent'] == '[object Window]' is true
+PASS win['parent'] == '[object Window]' is true
+PASS win['self'] == '[object Window]' is true
+PASS win['self'] == '[object Window]' is true
+PASS win['top'] == '[object Window]' is true
+PASS win['top'] == '[object Window]' is true
+PASS win['window'] == '[object Window]' is true
+PASS win['window'] == '[object Window]' is true
+PASS win['locationbar'] == '[object BarProp]' is true
+PASS win['locationbar'] == '[object BarProp]' is true
+PASS win['menubar'] == '[object BarProp]' is true
+PASS win['menubar'] == '[object BarProp]' is true
+PASS win['personalbar'] == '[object BarProp]' is true
+PASS win['personalbar'] == '[object BarProp]' is true
+PASS win['scrollbars'] == '[object BarProp]' is true
+PASS win['scrollbars'] == '[object BarProp]' is true
+PASS win['statusbar'] == '[object BarProp]' is true
+PASS win['statusbar'] == '[object BarProp]' is true
+PASS win['toolbar'] == '[object BarProp]' is true
+PASS win['toolbar'] == '[object BarProp]' is true
+PASS win['console'] == '[object Console]' is true
+PASS win['history'] == '[object History]' is true
+PASS win['navigator'] == '[object Navigator]' is true
+PASS win['navigator'] == '[object Navigator]' is true
+PASS win['screen'] == '[object Screen]' is true
+PASS win['screen'] == '[object Screen]' is true
+PASS win['clientInformation'] == '[object Navigator]' is true
+PASS win['clientInformation'] == '[object Navigator]' is true
+PASS win['document'] == '[object HTMLDocument]' is true
+PASS win['document'] == '[object HTMLDocument]' is true
+PASS win['location'] matched original
+PASS win['location'] matched original
+PASS win['onabort'] is null
+PASS win['onabort'] is null
+PASS win['onbeforeunload'] is null
+PASS win['onbeforeunload'] is null
+PASS win['onblur'] is null
+PASS win['onblur'] is null
+PASS win['onchange'] is null
+PASS win['onchange'] is null
+PASS win['onclick'] is null
+PASS win['onclick'] is null
+PASS win['ondblclick'] is null
+PASS win['ondblclick'] is null
+PASS win['onerror'] is null
+PASS win['onerror'] is null
+PASS win['onfocus'] is null
+PASS win['onfocus'] is null
+PASS win['onkeydown'] is null
+PASS win['onkeydown'] is null
+PASS win['onkeypress'] is null
+PASS win['onkeypress'] is null
+PASS win['onkeyup'] is null
+PASS win['onkeyup'] is null
+PASS win['onmousedown'] is null
+PASS win['onmousedown'] is null
+PASS win['onmousemove'] is null
+PASS win['onmousemove'] is null
+PASS win['onmouseout'] is null
+PASS win['onmouseout'] is null
+PASS win['onmouseover'] is null
+PASS win['onmouseover'] is null
+PASS win['onmouseup'] is null
+PASS win['onmouseup'] is null
+PASS win['onmousewheel'] is null
+PASS win['onmousewheel'] is null
+PASS win['onreset'] is null
+PASS win['onreset'] is null
+PASS win['onresize'] is null
+PASS win['onresize'] is null
+PASS win['onscroll'] is null
+PASS win['onscroll'] is null
+PASS win['onsearch'] is null
+PASS win['onsearch'] is null
+PASS win['onselect'] is null
+PASS win['onselect'] is null
+PASS win['onsubmit'] is null
+PASS win['onsubmit'] is null
+PASS win['onunload'] is null
+PASS win['onunload'] is null
+PASS win['opener'] is null
+PASS win['opener'] is null
+FAIL win['defaultStatus'] should be undefined (of type undefined). Was  (of type string).
+FAIL win['defaultStatus'] should be undefined (of type undefined). Was  (of type string).
+FAIL win['defaultstatus'] should be undefined (of type undefined). Was  (of type string).
+FAIL win['defaultstatus'] should be undefined (of type undefined). Was  (of type string).
+FAIL win['name'] should be undefined (of type undefined). Was  (of type string).
+FAIL win['name'] should be undefined (of type undefined). Was  (of type string).
+FAIL win['status'] should be undefined (of type undefined). Was  (of type string).
+FAIL win['status'] should be undefined (of type undefined). Was  (of type string).
+PASS win['devicePixelRatio'] matched original
+PASS win['devicePixelRatio'] matched original
+PASS win['innerHeight'] matched original
+PASS win['innerHeight'] matched original
+PASS win['innerWidth'] matched original
+PASS win['innerWidth'] matched original
+PASS win['length'] matched original
+PASS win['length'] matched original
+PASS win['outerHeight'] matched original
+PASS win['outerHeight'] matched original
+PASS win['outerWidth'] matched original
+PASS win['outerWidth'] matched original
+PASS win['pageXOffset'] matched original
+PASS win['pageXOffset'] matched original
+PASS win['pageYOffset'] matched original
+PASS win['pageYOffset'] matched original
+PASS win['screenLeft'] matched original
+PASS win['screenLeft'] matched original
+PASS win['screenTop'] matched original
+PASS win['screenTop'] matched original
+PASS win['screenX'] matched original
+PASS win['screenX'] matched original
+PASS win['screenY'] matched original
+PASS win['screenY'] matched original
+PASS win['scrollX'] matched original
+PASS win['scrollX'] matched original
+PASS win['scrollY'] matched original
+PASS win['scrollY'] matched original
+PASS typeof win['closed'] is 'boolean'
+PASS win['closed'] is false
+PASS typeof win['closed'] is 'boolean'
+PASS win['closed'] is false
+PASS typeof win['offscreenBuffering'] is 'boolean'
+PASS win['offscreenBuffering'] is true
+PASS typeof win['offscreenBuffering'] is 'boolean'
+PASS win['offscreenBuffering'] is true
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/platform/ios-wk2/fast/forms/label/labelable-elements-expected.txt b/LayoutTests/platform/ios-wk2/fast/forms/label/labelable-elements-expected.txt
new file mode 100644 (file)
index 0000000..ff6e41a
--- /dev/null
@@ -0,0 +1,130 @@
+Test labelable elements have labels attribute and others do not.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+
+Labelable: button [object HTMLButtonElement]
+PASS element.labels.length is 1
+
+Not labelable: datalist [object HTMLDataListElement]
+PASS element.labels is undefined.
+PASS element.labels is not null
+
+Not labelable: fieldset [object HTMLFieldSetElement]
+PASS element.labels is undefined.
+PASS element.labels is not null
+
+Labelable: input [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: keygen [object HTMLKeygenElement]
+PASS element.labels.length is 1
+
+Not labelable: label [object HTMLLabelElement]
+PASS element.labels is undefined.
+PASS element.labels is not null
+
+Not labelable: legend [object HTMLLegendElement]
+PASS element.labels is undefined.
+PASS element.labels is not null
+
+Labelable: meter [object HTMLMeterElement]
+PASS element.labels.length is 1
+
+Not labelable: object [object HTMLObjectElement]
+PASS element.labels is undefined.
+PASS element.labels is not null
+
+Not labelable: optgroup [object HTMLOptGroupElement]
+PASS element.labels is undefined.
+PASS element.labels is not null
+
+Not labelable: option [object HTMLOptionElement]
+PASS element.labels is undefined.
+PASS element.labels is not null
+
+Labelable: output [object HTMLOutputElement]
+PASS element.labels.length is 1
+
+Labelable: progress [object HTMLProgressElement]
+PASS element.labels.length is 1
+
+Labelable: select [object HTMLSelectElement]
+PASS element.labels.length is 1
+
+Labelable: textarea [object HTMLTextAreaElement]
+PASS element.labels.length is 1
+
+Labelable: buttonType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: checkboxType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: colorType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: dateType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: datetimeType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: datetime-localType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: emailType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: fileType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Not labelable: hiddenType [object HTMLInputElement]
+PASS element.labels is null
+
+Labelable: imageType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: monthType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: numberType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: passwordType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: radioType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: rangeType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: resetType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: searchType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: submitType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: telType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: textType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: timeType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: urlType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: weekType [object HTMLInputElement]
+PASS element.labels.length is 1
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/platform/ios-wk2/fast/forms/label/readwrite-readonly-expected.txt b/LayoutTests/platform/ios-wk2/fast/forms/label/readwrite-readonly-expected.txt
new file mode 100644 (file)
index 0000000..083e08b
--- /dev/null
@@ -0,0 +1,26 @@
+
+PASS The :read-write pseudo-class must not match input elements to which the readonly attribute does not apply 
+PASS The :read-only pseudo-class must match input elements to which the readonly attribute does not apply 
+PASS The :read-write pseudo-class must match input elements to which the readonly attribute applies, and that are mutable 
+FAIL The :read-only pseudo-class must not match input elements to which the readonly attribute applies, and that are mutable assert_array_equals: lengths differ, expected 1 got 4
+PASS The :read-write pseudo-class must not match input elements after the readonly attribute has been added 
+FAIL The :read-only pseudo-class must match input elements after the readonly attribute has been added assert_array_equals: lengths differ, expected 2 got 5
+PASS The :read-write pseudo-class must not match input elements after the readonly attribute has been removed 
+FAIL The :read-only pseudo-class must match input elements after the readonly attribute has been removed assert_array_equals: lengths differ, expected 1 got 4
+PASS The :read-write pseudo-class must match textarea elements that do not have a readonly attribute, and that are not disabled 
+PASS The :read-only pseudo-class must match textarea elements that have a readonly attribute, or that are disabled 
+PASS The :read-write pseudo-class must match textarea elements after the readonly attribute has been added 
+PASS The :read-only pseudo-class must match textarea elements after the readonly attribute has been added 
+PASS The :read-write pseudo-class must not match textarea elements that are disabled 
+PASS The :read-only pseudo-class must match textarea elements that are disabled 
+PASS The :read-write pseudo-class must match elements that are editable 
+PASS The :read-only pseudo-class must not match elements that are editable 
+PASS The :read-write pseudo-class must match elements that are editing hosts 
+PASS The :read-only pseudo-class must not match elements that are editing hosts 
+         
+    
+paragraph1.
+
+paragraph2.
diff --git a/LayoutTests/platform/ios-wk2/fast/selectors/read-only-read-write-input-basics-expected.txt b/LayoutTests/platform/ios-wk2/fast/selectors/read-only-read-write-input-basics-expected.txt
new file mode 100644 (file)
index 0000000..4b8c562
--- /dev/null
@@ -0,0 +1,1907 @@
+Test the basic features of ":read-only", ":read-write" on the <input> element. The definion is that ":read-write" is matches for "input elements to which the readonly attribute applies, and that are mutable (i.e. that do not have the readonly attribute specified and that are not disabled)"
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Testing hidden
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+Testing text
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing search
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing tel
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing url
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing email
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing password
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing datetime
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing date
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing month
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing week
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing time
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing datetime-local
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing number
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing range
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+Testing color
+FAIL document.querySelectorAll("input:read-write").length should be 0. Was 1.
+FAIL document.querySelector("input:read-write") should be null. Was [object HTMLInputElement].
+FAIL document.querySelectorAll("input:read-only").length should be 1. Was 0.
+FAIL document.querySelector("input:read-only") should be [object HTMLInputElement]. Was null.
+FAIL getComputedStyle(document.getElementById("testcase")).color should be rgb(0, 0, 0). Was rgb(4, 5, 6).
+FAIL getComputedStyle(document.getElementById("testcase")).backgroundColor should be rgb(1, 2, 3). Was rgb(255, 255, 255).
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+FAIL document.querySelectorAll("input:read-write").length should be 0. Was 1.
+FAIL document.querySelector("input:read-write") should be null. Was [object HTMLInputElement].
+FAIL document.querySelectorAll("input:read-only").length should be 1. Was 0.
+FAIL document.querySelector("input:read-only") should be [object HTMLInputElement]. Was null.
+FAIL getComputedStyle(document.getElementById("testcase")).color should be rgb(0, 0, 0). Was rgb(4, 5, 6).
+FAIL getComputedStyle(document.getElementById("testcase")).backgroundColor should be rgb(1, 2, 3). Was rgb(255, 255, 255).
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+FAIL document.querySelectorAll("input:read-write").length should be 0. Was 1.
+FAIL document.querySelector("input:read-write") should be null. Was [object HTMLInputElement].
+FAIL document.querySelectorAll("input:read-only").length should be 1. Was 0.
+FAIL document.querySelector("input:read-only") should be [object HTMLInputElement]. Was null.
+FAIL getComputedStyle(document.getElementById("testcase")).color should be rgb(0, 0, 0). Was rgb(4, 5, 6).
+FAIL getComputedStyle(document.getElementById("testcase")).backgroundColor should be rgb(1, 2, 3). Was rgb(255, 255, 255).
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+FAIL document.querySelectorAll("input:read-write").length should be 0. Was 1.
+FAIL document.querySelector("input:read-write") should be null. Was [object HTMLInputElement].
+FAIL document.querySelectorAll("input:read-only").length should be 1. Was 0.
+FAIL document.querySelector("input:read-only") should be [object HTMLInputElement]. Was null.
+FAIL getComputedStyle(document.getElementById("testcase")).color should be rgb(0, 0, 0). Was rgb(4, 5, 6).
+FAIL getComputedStyle(document.getElementById("testcase")).backgroundColor should be rgb(1, 2, 3). Was rgb(255, 255, 255).
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+FAIL document.querySelectorAll("input:read-write").length should be 0. Was 1.
+FAIL document.querySelector("input:read-write") should be null. Was [object HTMLInputElement].
+FAIL document.querySelectorAll("input:read-only").length should be 1. Was 0.
+FAIL document.querySelector("input:read-only") should be [object HTMLInputElement]. Was null.
+FAIL getComputedStyle(document.getElementById("testcase")).color should be rgb(0, 0, 0). Was rgb(4, 5, 6).
+FAIL getComputedStyle(document.getElementById("testcase")).backgroundColor should be rgb(1, 2, 3). Was rgb(255, 255, 255).
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+FAIL document.querySelectorAll("input:read-write").length should be 0. Was 1.
+FAIL document.querySelector("input:read-write") should be null. Was [object HTMLInputElement].
+FAIL document.querySelectorAll("input:read-only").length should be 1. Was 0.
+FAIL document.querySelector("input:read-only") should be [object HTMLInputElement]. Was null.
+FAIL getComputedStyle(document.getElementById("testcase")).color should be rgb(0, 0, 0). Was rgb(4, 5, 6).
+FAIL getComputedStyle(document.getElementById("testcase")).backgroundColor should be rgb(1, 2, 3). Was rgb(255, 255, 255).
+Testing checkbox
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+Testing radio
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+Testing file
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+Testing submit
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+Testing image
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+Testing reset
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+Testing button
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+Testing 
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing webkit
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing foobar
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/custom-elements/builtin-coverage-expected.txt b/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/custom-elements/builtin-coverage-expected.txt
new file mode 100644 (file)
index 0000000..10792c5
--- /dev/null
@@ -0,0 +1,882 @@
+
+PASS a: Define a customized built-in element 
+FAIL a: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL a: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAnchorElement {}" but got function "function HTMLAnchorElement() {
+    [native code]
+}"
+FAIL a: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAnchorElement {}" but got function "function HTMLAnchorElement() {
+    [native code]
+}"
+PASS abbr: Define a customized built-in element 
+PASS abbr: Operator 'new' should instantiate a customized built-in element 
+FAIL abbr: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL abbr: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS address: Define a customized built-in element 
+PASS address: Operator 'new' should instantiate a customized built-in element 
+FAIL address: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL address: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS area: Define a customized built-in element 
+FAIL area: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL area: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAreaElement {}" but got function "function HTMLAreaElement() {
+    [native code]
+}"
+FAIL area: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAreaElement {}" but got function "function HTMLAreaElement() {
+    [native code]
+}"
+PASS article: Define a customized built-in element 
+PASS article: Operator 'new' should instantiate a customized built-in element 
+FAIL article: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL article: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS aside: Define a customized built-in element 
+PASS aside: Operator 'new' should instantiate a customized built-in element 
+FAIL aside: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL aside: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS audio: Define a customized built-in element 
+FAIL audio: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL audio: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAudioElement {}" but got function "function HTMLAudioElement() {
+    [native code]
+}"
+FAIL audio: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLAudioElement {}" but got function "function HTMLAudioElement() {
+    [native code]
+}"
+PASS b: Define a customized built-in element 
+PASS b: Operator 'new' should instantiate a customized built-in element 
+FAIL b: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL b: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS base: Define a customized built-in element 
+FAIL base: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL base: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBaseElement {}" but got function "function HTMLBaseElement() {
+    [native code]
+}"
+FAIL base: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBaseElement {}" but got function "function HTMLBaseElement() {
+    [native code]
+}"
+PASS bdi: Define a customized built-in element 
+PASS bdi: Operator 'new' should instantiate a customized built-in element 
+FAIL bdi: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL bdi: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS bdo: Define a customized built-in element 
+PASS bdo: Operator 'new' should instantiate a customized built-in element 
+FAIL bdo: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL bdo: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS blockquote: Define a customized built-in element 
+FAIL blockquote: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL blockquote: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLQuoteElement {}" but got function "function HTMLQuoteElement() {
+    [native code]
+}"
+FAIL blockquote: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLQuoteElement {}" but got function "function HTMLQuoteElement() {
+    [native code]
+}"
+PASS body: Define a customized built-in element 
+FAIL body: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL body: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBodyElement {}" but got function "function HTMLBodyElement() {
+    [native code]
+}"
+FAIL body: document parser should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBodyElement {}" but got function "function HTMLBodyElement() {
+    [native code]
+}"
+PASS br: Define a customized built-in element 
+FAIL br: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL br: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBRElement {}" but got function "function HTMLBRElement() {
+    [native code]
+}"
+FAIL br: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLBRElement {}" but got function "function HTMLBRElement() {
+    [native code]
+}"
+PASS button: Define a customized built-in element 
+FAIL button: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL button: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLButtonElement {}" but got function "function HTMLButtonElement() {
+    [native code]
+}"
+FAIL button: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLButtonElement {}" but got function "function HTMLButtonElement() {
+    [native code]
+}"
+PASS canvas: Define a customized built-in element 
+FAIL canvas: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL canvas: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLCanvasElement {}" but got function "function HTMLCanvasElement() {
+    [native code]
+}"
+FAIL canvas: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLCanvasElement {}" but got function "function HTMLCanvasElement() {
+    [native code]
+}"
+PASS caption: Define a customized built-in element 
+FAIL caption: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL caption: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCaptionElement {}" but got function "function HTMLTableCaptionElement() {
+    [native code]
+}"
+FAIL caption: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCaptionElement {}" but got function "function HTMLTableCaptionElement() {
+    [native code]
+}"
+PASS cite: Define a customized built-in element 
+PASS cite: Operator 'new' should instantiate a customized built-in element 
+FAIL cite: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL cite: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS code: Define a customized built-in element 
+PASS code: Operator 'new' should instantiate a customized built-in element 
+FAIL code: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL code: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS col: Define a customized built-in element 
+FAIL col: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL col: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableColElement {}" but got function "function HTMLTableColElement() {
+    [native code]
+}"
+FAIL col: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableColElement {}" but got function "function HTMLTableColElement() {
+    [native code]
+}"
+PASS colgroup: Define a customized built-in element 
+FAIL colgroup: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL colgroup: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableColElement {}" but got function "function HTMLTableColElement() {
+    [native code]
+}"
+FAIL colgroup: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableColElement {}" but got function "function HTMLTableColElement() {
+    [native code]
+}"
+PASS data: Define a customized built-in element 
+FAIL data: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL data: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDataElement {}" but got function "function HTMLDataElement() {
+    [native code]
+}"
+FAIL data: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDataElement {}" but got function "function HTMLDataElement() {
+    [native code]
+}"
+PASS dd: Define a customized built-in element 
+PASS dd: Operator 'new' should instantiate a customized built-in element 
+FAIL dd: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL dd: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS del: Define a customized built-in element 
+FAIL del: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL del: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLModElement {}" but got function "function HTMLModElement() {
+    [native code]
+}"
+FAIL del: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLModElement {}" but got function "function HTMLModElement() {
+    [native code]
+}"
+PASS details: Define a customized built-in element 
+FAIL details: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL details: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDetailsElement {}" but got function "function HTMLDetailsElement() {
+    [native code]
+}"
+FAIL details: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDetailsElement {}" but got function "function HTMLDetailsElement() {
+    [native code]
+}"
+PASS dfn: Define a customized built-in element 
+PASS dfn: Operator 'new' should instantiate a customized built-in element 
+FAIL dfn: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL dfn: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS div: Define a customized built-in element 
+FAIL div: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL div: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDivElement {}" but got function "function HTMLDivElement() {
+    [native code]
+}"
+FAIL div: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDivElement {}" but got function "function HTMLDivElement() {
+    [native code]
+}"
+PASS dl: Define a customized built-in element 
+FAIL dl: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL dl: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDListElement {}" but got function "function HTMLDListElement() {
+    [native code]
+}"
+FAIL dl: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDListElement {}" but got function "function HTMLDListElement() {
+    [native code]
+}"
+PASS dt: Define a customized built-in element 
+PASS dt: Operator 'new' should instantiate a customized built-in element 
+FAIL dt: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL dt: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS em: Define a customized built-in element 
+PASS em: Operator 'new' should instantiate a customized built-in element 
+FAIL em: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL em: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS embed: Define a customized built-in element 
+FAIL embed: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL embed: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLEmbedElement {}" but got function "function HTMLEmbedElement() {
+    [native code]
+}"
+FAIL embed: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLEmbedElement {}" but got function "function HTMLEmbedElement() {
+    [native code]
+}"
+PASS fieldset: Define a customized built-in element 
+FAIL fieldset: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL fieldset: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLFieldSetElement {}" but got function "function HTMLFieldSetElement() {
+    [native code]
+}"
+FAIL fieldset: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLFieldSetElement {}" but got function "function HTMLFieldSetElement() {
+    [native code]
+}"
+PASS figcaption: Define a customized built-in element 
+PASS figcaption: Operator 'new' should instantiate a customized built-in element 
+FAIL figcaption: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL figcaption: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS figure: Define a customized built-in element 
+PASS figure: Operator 'new' should instantiate a customized built-in element 
+FAIL figure: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL figure: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS footer: Define a customized built-in element 
+PASS footer: Operator 'new' should instantiate a customized built-in element 
+FAIL footer: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL footer: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS form: Define a customized built-in element 
+FAIL form: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL form: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLFormElement {}" but got function "function HTMLFormElement() {
+    [native code]
+}"
+FAIL form: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLFormElement {}" but got function "function HTMLFormElement() {
+    [native code]
+}"
+PASS h1: Define a customized built-in element 
+FAIL h1: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL h1: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
+    [native code]
+}"
+FAIL h1: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
+    [native code]
+}"
+PASS h2: Define a customized built-in element 
+FAIL h2: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL h2: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
+    [native code]
+}"
+FAIL h2: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
+    [native code]
+}"
+PASS h3: Define a customized built-in element 
+FAIL h3: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL h3: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
+    [native code]
+}"
+FAIL h3: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
+    [native code]
+}"
+PASS h4: Define a customized built-in element 
+FAIL h4: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL h4: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
+    [native code]
+}"
+FAIL h4: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
+    [native code]
+}"
+PASS h5: Define a customized built-in element 
+FAIL h5: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL h5: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
+    [native code]
+}"
+FAIL h5: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
+    [native code]
+}"
+PASS h6: Define a customized built-in element 
+FAIL h6: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL h6: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
+    [native code]
+}"
+FAIL h6: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHeadingElement {}" but got function "function HTMLHeadingElement() {
+    [native code]
+}"
+PASS header: Define a customized built-in element 
+PASS header: Operator 'new' should instantiate a customized built-in element 
+FAIL header: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL header: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS hgroup: Define a customized built-in element 
+PASS hgroup: Operator 'new' should instantiate a customized built-in element 
+FAIL hgroup: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL hgroup: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS hr: Define a customized built-in element 
+FAIL hr: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL hr: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHRElement {}" but got function "function HTMLHRElement() {
+    [native code]
+}"
+FAIL hr: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHRElement {}" but got function "function HTMLHRElement() {
+    [native code]
+}"
+PASS html: Define a customized built-in element 
+FAIL html: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL html: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHtmlElement {}" but got function "function HTMLHtmlElement() {
+    [native code]
+}"
+FAIL html: document parser should instantiate a customized built-in element assert_equals: expected function "class extends HTMLHtmlElement {}" but got function "function HTMLHtmlElement() {
+    [native code]
+}"
+PASS i: Define a customized built-in element 
+PASS i: Operator 'new' should instantiate a customized built-in element 
+FAIL i: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL i: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS iframe: Define a customized built-in element 
+FAIL iframe: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL iframe: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLIFrameElement {}" but got function "function HTMLIFrameElement() {
+    [native code]
+}"
+FAIL iframe: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLIFrameElement {}" but got function "function HTMLIFrameElement() {
+    [native code]
+}"
+PASS img: Define a customized built-in element 
+FAIL img: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL img: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLImageElement {}" but got function "function HTMLImageElement() {
+    [native code]
+}"
+FAIL img: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLImageElement {}" but got function "function HTMLImageElement() {
+    [native code]
+}"
+PASS input: Define a customized built-in element 
+FAIL input: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL input: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLInputElement {}" but got function "function HTMLInputElement() {
+    [native code]
+}"
+FAIL input: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLInputElement {}" but got function "function HTMLInputElement() {
+    [native code]
+}"
+PASS ins: Define a customized built-in element 
+FAIL ins: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL ins: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLModElement {}" but got function "function HTMLModElement() {
+    [native code]
+}"
+FAIL ins: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLModElement {}" but got function "function HTMLModElement() {
+    [native code]
+}"
+PASS kbd: Define a customized built-in element 
+PASS kbd: Operator 'new' should instantiate a customized built-in element 
+FAIL kbd: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL kbd: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS label: Define a customized built-in element 
+FAIL label: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL label: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLabelElement {}" but got function "function HTMLLabelElement() {
+    [native code]
+}"
+FAIL label: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLabelElement {}" but got function "function HTMLLabelElement() {
+    [native code]
+}"
+PASS legend: Define a customized built-in element 
+FAIL legend: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL legend: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLegendElement {}" but got function "function HTMLLegendElement() {
+    [native code]
+}"
+FAIL legend: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLegendElement {}" but got function "function HTMLLegendElement() {
+    [native code]
+}"
+PASS li: Define a customized built-in element 
+FAIL li: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL li: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLIElement {}" but got function "function HTMLLIElement() {
+    [native code]
+}"
+FAIL li: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLIElement {}" but got function "function HTMLLIElement() {
+    [native code]
+}"
+PASS link: Define a customized built-in element 
+FAIL link: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL link: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLinkElement {}" but got function "function HTMLLinkElement() {
+    [native code]
+}"
+FAIL link: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLLinkElement {}" but got function "function HTMLLinkElement() {
+    [native code]
+}"
+PASS main: Define a customized built-in element 
+PASS main: Operator 'new' should instantiate a customized built-in element 
+FAIL main: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL main: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS map: Define a customized built-in element 
+FAIL map: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL map: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMapElement {}" but got function "function HTMLMapElement() {
+    [native code]
+}"
+FAIL map: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMapElement {}" but got function "function HTMLMapElement() {
+    [native code]
+}"
+PASS mark: Define a customized built-in element 
+PASS mark: Operator 'new' should instantiate a customized built-in element 
+FAIL mark: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL mark: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS menu: Define a customized built-in element 
+FAIL menu: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL menu: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMenuElement {}" but got function "function HTMLMenuElement() {
+    [native code]
+}"
+FAIL menu: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMenuElement {}" but got function "function HTMLMenuElement() {
+    [native code]
+}"
+PASS meta: Define a customized built-in element 
+FAIL meta: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL meta: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMetaElement {}" but got function "function HTMLMetaElement() {
+    [native code]
+}"
+FAIL meta: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMetaElement {}" but got function "function HTMLMetaElement() {
+    [native code]
+}"
+PASS meter: Define a customized built-in element 
+FAIL meter: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL meter: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMeterElement {}" but got function "function HTMLMeterElement() {
+    [native code]
+}"
+FAIL meter: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLMeterElement {}" but got function "function HTMLMeterElement() {
+    [native code]
+}"
+PASS nav: Define a customized built-in element 
+PASS nav: Operator 'new' should instantiate a customized built-in element 
+FAIL nav: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL nav: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS noscript: Define a customized built-in element 
+PASS noscript: Operator 'new' should instantiate a customized built-in element 
+FAIL noscript: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL noscript: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS object: Define a customized built-in element 
+FAIL object: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL object: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLObjectElement {}" but got function "function HTMLObjectElement() {
+    [native code]
+}"
+FAIL object: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLObjectElement {}" but got function "function HTMLObjectElement() {
+    [native code]
+}"
+PASS ol: Define a customized built-in element 
+FAIL ol: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL ol: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOListElement {}" but got function "function HTMLOListElement() {
+    [native code]
+}"
+FAIL ol: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOListElement {}" but got function "function HTMLOListElement() {
+    [native code]
+}"
+PASS optgroup: Define a customized built-in element 
+FAIL optgroup: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL optgroup: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOptGroupElement {}" but got function "function HTMLOptGroupElement() {
+    [native code]
+}"
+FAIL optgroup: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOptGroupElement {}" but got function "function HTMLOptGroupElement() {
+    [native code]
+}"
+PASS option: Define a customized built-in element 
+FAIL option: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL option: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOptionElement {}" but got function "function HTMLOptionElement() {
+    [native code]
+}"
+FAIL option: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOptionElement {}" but got function "function HTMLOptionElement() {
+    [native code]
+}"
+PASS output: Define a customized built-in element 
+FAIL output: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL output: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOutputElement {}" but got function "function HTMLOutputElement() {
+    [native code]
+}"
+FAIL output: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLOutputElement {}" but got function "function HTMLOutputElement() {
+    [native code]
+}"
+PASS p: Define a customized built-in element 
+FAIL p: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL p: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLParagraphElement {}" but got function "function HTMLParagraphElement() {
+    [native code]
+}"
+FAIL p: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLParagraphElement {}" but got function "function HTMLParagraphElement() {
+    [native code]
+}"
+PASS param: Define a customized built-in element 
+FAIL param: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL param: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLParamElement {}" but got function "function HTMLParamElement() {
+    [native code]
+}"
+FAIL param: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLParamElement {}" but got function "function HTMLParamElement() {
+    [native code]
+}"
+PASS picture: Define a customized built-in element 
+FAIL picture: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL picture: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLPictureElement {}" but got function "function HTMLPictureElement() {
+    [native code]
+}"
+FAIL picture: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLPictureElement {}" but got function "function HTMLPictureElement() {
+    [native code]
+}"
+PASS pre: Define a customized built-in element 
+FAIL pre: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL pre: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLPreElement {}" but got function "function HTMLPreElement() {
+    [native code]
+}"
+FAIL pre: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLPreElement {}" but got function "function HTMLPreElement() {
+    [native code]
+}"
+PASS progress: Define a customized built-in element 
+FAIL progress: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL progress: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLProgressElement {}" but got function "function HTMLProgressElement() {
+    [native code]
+}"
+FAIL progress: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLProgressElement {}" but got function "function HTMLProgressElement() {
+    [native code]
+}"
+PASS q: Define a customized built-in element 
+FAIL q: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL q: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLQuoteElement {}" but got function "function HTMLQuoteElement() {
+    [native code]
+}"
+FAIL q: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLQuoteElement {}" but got function "function HTMLQuoteElement() {
+    [native code]
+}"
+PASS rp: Define a customized built-in element 
+PASS rp: Operator 'new' should instantiate a customized built-in element 
+FAIL rp: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL rp: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS rt: Define a customized built-in element 
+PASS rt: Operator 'new' should instantiate a customized built-in element 
+FAIL rt: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL rt: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS ruby: Define a customized built-in element 
+PASS ruby: Operator 'new' should instantiate a customized built-in element 
+FAIL ruby: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL ruby: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS s: Define a customized built-in element 
+PASS s: Operator 'new' should instantiate a customized built-in element 
+FAIL s: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL s: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS samp: Define a customized built-in element 
+PASS samp: Operator 'new' should instantiate a customized built-in element 
+FAIL samp: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL samp: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS script: Define a customized built-in element 
+FAIL script: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL script: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLScriptElement {}" but got function "function HTMLScriptElement() {
+    [native code]
+}"
+FAIL script: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLScriptElement {}" but got function "function HTMLScriptElement() {
+    [native code]
+}"
+PASS section: Define a customized built-in element 
+PASS section: Operator 'new' should instantiate a customized built-in element 
+FAIL section: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL section: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS select: Define a customized built-in element 
+FAIL select: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL select: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSelectElement {}" but got function "function HTMLSelectElement() {
+    [native code]
+}"
+FAIL select: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSelectElement {}" but got function "function HTMLSelectElement() {
+    [native code]
+}"
+PASS small: Define a customized built-in element 
+PASS small: Operator 'new' should instantiate a customized built-in element 
+FAIL small: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL small: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS source: Define a customized built-in element 
+FAIL source: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL source: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSourceElement {}" but got function "function HTMLSourceElement() {
+    [native code]
+}"
+FAIL source: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSourceElement {}" but got function "function HTMLSourceElement() {
+    [native code]
+}"
+PASS span: Define a customized built-in element 
+FAIL span: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL span: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSpanElement {}" but got function "function HTMLSpanElement() {
+    [native code]
+}"
+FAIL span: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSpanElement {}" but got function "function HTMLSpanElement() {
+    [native code]
+}"
+PASS strong: Define a customized built-in element 
+PASS strong: Operator 'new' should instantiate a customized built-in element 
+FAIL strong: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL strong: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS style: Define a customized built-in element 
+FAIL style: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL style: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLStyleElement {}" but got function "function HTMLStyleElement() {
+    [native code]
+}"
+FAIL style: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLStyleElement {}" but got function "function HTMLStyleElement() {
+    [native code]
+}"
+PASS sub: Define a customized built-in element 
+PASS sub: Operator 'new' should instantiate a customized built-in element 
+FAIL sub: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL sub: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS summary: Define a customized built-in element 
+PASS summary: Operator 'new' should instantiate a customized built-in element 
+FAIL summary: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL summary: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS sup: Define a customized built-in element 
+PASS sup: Operator 'new' should instantiate a customized built-in element 
+FAIL sup: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL sup: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS table: Define a customized built-in element 
+FAIL table: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL table: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableElement {}" but got function "function HTMLTableElement() {
+    [native code]
+}"
+FAIL table: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableElement {}" but got function "function HTMLTableElement() {
+    [native code]
+}"
+PASS tbody: Define a customized built-in element 
+FAIL tbody: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL tbody: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
+    [native code]
+}"
+FAIL tbody: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
+    [native code]
+}"
+PASS td: Define a customized built-in element 
+FAIL td: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL td: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCellElement {}" but got function "function HTMLTableCellElement() {
+    [native code]
+}"
+FAIL td: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCellElement {}" but got function "function HTMLTableCellElement() {
+    [native code]
+}"
+PASS template: Define a customized built-in element 
+FAIL template: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL template: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTemplateElement {}" but got function "function HTMLTemplateElement() {
+    [native code]
+}"
+FAIL template: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTemplateElement {}" but got function "function HTMLTemplateElement() {
+    [native code]
+}"
+PASS textarea: Define a customized built-in element 
+FAIL textarea: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL textarea: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTextAreaElement {}" but got function "function HTMLTextAreaElement() {
+    [native code]
+}"
+FAIL textarea: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTextAreaElement {}" but got function "function HTMLTextAreaElement() {
+    [native code]
+}"
+PASS tfoot: Define a customized built-in element 
+FAIL tfoot: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL tfoot: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
+    [native code]
+}"
+FAIL tfoot: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
+    [native code]
+}"
+PASS th: Define a customized built-in element 
+FAIL th: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL th: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCellElement {}" but got function "function HTMLTableCellElement() {
+    [native code]
+}"
+FAIL th: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableCellElement {}" but got function "function HTMLTableCellElement() {
+    [native code]
+}"
+PASS thead: Define a customized built-in element 
+FAIL thead: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL thead: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
+    [native code]
+}"
+FAIL thead: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableSectionElement {}" but got function "function HTMLTableSectionElement() {
+    [native code]
+}"
+PASS time: Define a customized built-in element 
+FAIL time: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL time: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTimeElement {}" but got function "function HTMLTimeElement() {
+    [native code]
+}"
+FAIL time: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTimeElement {}" but got function "function HTMLTimeElement() {
+    [native code]
+}"
+PASS title: Define a customized built-in element 
+FAIL title: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL title: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTitleElement {}" but got function "function HTMLTitleElement() {
+    [native code]
+}"
+FAIL title: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTitleElement {}" but got function "function HTMLTitleElement() {
+    [native code]
+}"
+PASS tr: Define a customized built-in element 
+FAIL tr: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL tr: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableRowElement {}" but got function "function HTMLTableRowElement() {
+    [native code]
+}"
+FAIL tr: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTableRowElement {}" but got function "function HTMLTableRowElement() {
+    [native code]
+}"
+PASS track: Define a customized built-in element 
+FAIL track: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL track: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTrackElement {}" but got function "function HTMLTrackElement() {
+    [native code]
+}"
+FAIL track: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLTrackElement {}" but got function "function HTMLTrackElement() {
+    [native code]
+}"
+PASS u: Define a customized built-in element 
+PASS u: Operator 'new' should instantiate a customized built-in element 
+FAIL u: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL u: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS ul: Define a customized built-in element 
+FAIL ul: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL ul: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLUListElement {}" but got function "function HTMLUListElement() {
+    [native code]
+}"
+FAIL ul: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLUListElement {}" but got function "function HTMLUListElement() {
+    [native code]
+}"
+PASS var: Define a customized built-in element 
+PASS var: Operator 'new' should instantiate a customized built-in element 
+FAIL var: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL var: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS video: Define a customized built-in element 
+FAIL video: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL video: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLVideoElement {}" but got function "function HTMLVideoElement() {
+    [native code]
+}"
+FAIL video: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLVideoElement {}" but got function "function HTMLVideoElement() {
+    [native code]
+}"
+PASS wbr: Define a customized built-in element 
+PASS wbr: Operator 'new' should instantiate a customized built-in element 
+FAIL wbr: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+FAIL wbr: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLElement {}" but got function "function HTMLElement() {
+    [native code]
+}"
+PASS datalist: Define a customized built-in element 
+FAIL datalist: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL datalist: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDataListElement {}" but got function "function HTMLDataListElement() {
+    [native code]
+}"
+FAIL datalist: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLDataListElement {}" but got function "function HTMLDataListElement() {
+    [native code]
+}"
+PASS slot: Define a customized built-in element 
+FAIL slot: Operator 'new' should instantiate a customized built-in element function is not a constructor (evaluating 'super(...args)')
+FAIL slot: document.createElement() should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSlotElement {}" but got function "function HTMLSlotElement() {
+    [native code]
+}"
+FAIL slot: innerHTML should instantiate a customized built-in element assert_equals: expected function "class extends HTMLSlotElement {}" but got function "function HTMLSlotElement() {
+    [native code]
+}"
+
diff --git a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/dom/nodes/Node-cloneNode-expected.txt b/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/dom/nodes/Node-cloneNode-expected.txt
new file mode 100644 (file)
index 0000000..4b41878
--- /dev/null
@@ -0,0 +1,134 @@
+
+PASS createElement(a) 
+PASS createElement(abbr) 
+PASS createElement(acronym) 
+PASS createElement(address) 
+PASS createElement(area) 
+PASS createElement(article) 
+PASS createElement(aside) 
+PASS createElement(audio) 
+PASS createElement(b) 
+PASS createElement(base) 
+PASS createElement(bdi) 
+PASS createElement(bdo) 
+PASS createElement(bgsound) 
+PASS createElement(big) 
+PASS createElement(blockquote) 
+PASS createElement(body) 
+PASS createElement(br) 
+PASS createElement(button) 
+PASS createElement(canvas) 
+PASS createElement(caption) 
+PASS createElement(center) 
+PASS createElement(cite) 
+PASS createElement(code) 
+PASS createElement(col) 
+PASS createElement(colgroup) 
+PASS createElement(data) 
+PASS createElement(datalist) 
+FAIL createElement(dialog) assert_true: HTMLDialogElement is not supported expected true got false
+PASS createElement(dd) 
+PASS createElement(del) 
+PASS createElement(details) 
+PASS createElement(dfn) 
+PASS createElement(dir) 
+PASS createElement(div) 
+PASS createElement(dl) 
+PASS createElement(dt) 
+PASS createElement(embed) 
+PASS createElement(fieldset) 
+PASS createElement(figcaption) 
+PASS createElement(figure) 
+PASS createElement(font) 
+PASS createElement(footer) 
+PASS createElement(form) 
+PASS createElement(frame) 
+PASS createElement(frameset) 
+PASS createElement(h1) 
+PASS createElement(h2) 
+PASS createElement(h3) 
+PASS createElement(h4) 
+PASS createElement(h5) 
+PASS createElement(h6) 
+PASS createElement(head) 
+PASS createElement(header) 
+PASS createElement(hgroup) 
+PASS createElement(hr) 
+PASS createElement(html) 
+PASS createElement(i) 
+PASS createElement(iframe) 
+PASS createElement(img) 
+PASS createElement(input) 
+PASS createElement(ins) 
+PASS createElement(isindex) 
+PASS createElement(kbd) 
+PASS createElement(label) 
+PASS createElement(legend) 
+PASS createElement(li) 
+PASS createElement(link) 
+PASS createElement(main) 
+PASS createElement(map) 
+PASS createElement(mark) 
+PASS createElement(marquee) 
+PASS createElement(meta) 
+PASS createElement(meter) 
+PASS createElement(nav) 
+PASS createElement(nobr) 
+PASS createElement(noframes) 
+PASS createElement(noscript) 
+PASS createElement(object) 
+PASS createElement(ol) 
+PASS createElement(optgroup) 
+PASS createElement(option) 
+PASS createElement(output) 
+PASS createElement(p) 
+PASS createElement(param) 
+PASS createElement(pre) 
+PASS createElement(progress) 
+PASS createElement(q) 
+PASS createElement(rp) 
+PASS createElement(rt) 
+PASS createElement(ruby) 
+PASS createElement(s) 
+PASS createElement(samp) 
+PASS createElement(script) 
+PASS createElement(section) 
+PASS createElement(select) 
+PASS createElement(small) 
+PASS createElement(source) 
+PASS createElement(spacer) 
+PASS createElement(span) 
+PASS createElement(strike) 
+PASS createElement(style) 
+PASS createElement(sub) 
+PASS createElement(summary) 
+PASS createElement(sup) 
+PASS createElement(table) 
+PASS createElement(tbody) 
+PASS createElement(td) 
+PASS createElement(template) 
+PASS createElement(textarea) 
+PASS createElement(th) 
+PASS createElement(time) 
+PASS createElement(title) 
+PASS createElement(tr) 
+PASS createElement(tt) 
+PASS createElement(track) 
+PASS createElement(u) 
+PASS createElement(ul) 
+PASS createElement(var) 
+PASS createElement(video) 
+PASS createElement(unknown) 
+PASS createElement(wbr) 
+PASS createDocumentFragment 
+PASS createTextNode 
+PASS createComment 
+PASS createElement with attributes 
+PASS createElementNS HTML 
+PASS createElementNS non-HTML 
+PASS createProcessingInstruction 
+PASS implementation.createDocumentType 
+FAIL implementation.createDocument assert_equals: origin value expected "null" but got "http://localhost:8800"
+PASS implementation.createHTMLDocument 
+PASS node with children 
+
diff --git a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-expected.txt b/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-expected.txt
new file mode 100644 (file)
index 0000000..393dd2c
--- /dev/null
@@ -0,0 +1,30 @@
+
+PASS getElementsByName("section") 
+PASS getElementsByName("article") 
+PASS getElementsByName("aside") 
+PASS getElementsByName("hgroup") 
+PASS getElementsByName("header") 
+PASS getElementsByName("footer") 
+PASS getElementsByName("nav") 
+PASS getElementsByName("dialog") 
+PASS getElementsByName("figure") 
+PASS getElementsByName("audio") 
+PASS getElementsByName("video") 
+PASS getElementsByName("embed") 
+PASS getElementsByName("mark") 
+PASS getElementsByName("meter") 
+PASS getElementsByName("progress") 
+PASS getElementsByName("time") 
+PASS getElementsByName("canvas") 
+PASS getElementsByName("command") 
+PASS getElementsByName("menu") 
+PASS getElementsByName("details") 
+PASS getElementsByName("datalist") 
+PASS getElementsByName("keygen") 
+PASS getElementsByName("output") 
+PASS getElementsByName("ruby") 
+PASS getElementsByName("rt") 
+PASS getElementsByName("rp") 
+PASS getElementsByName("source") 
+    
diff --git a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-xhtml-expected.txt b/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.getElementsByName/document.getElementsByName-newelements-xhtml-expected.txt
new file mode 100644 (file)
index 0000000..8b68195
--- /dev/null
@@ -0,0 +1,4 @@
+
+PASS getElementsByName and newly introduced HTML elements 
+    
diff --git a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt b/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-badInput-expected.txt
new file mode 100644 (file)
index 0000000..adf3c14
--- /dev/null
@@ -0,0 +1,13 @@
+
+PASS [INPUT in EMAIL status] The multiple attribute is false and the value attribute is empty 
+PASS [INPUT in EMAIL status] The multiple attribute is false and the value attribute is a valid e-mail address 
+PASS [INPUT in EMAIL status] The multiple attribute is true and the value contains valid e-mail addresses 
+PASS [INPUT in EMAIL status] The multiple attribute is true and the value attribute contains a ',' 
+PASS [INPUT in DATETIME-LOCAL status] The value attribute is empty 
+PASS [INPUT in DATETIME-LOCAL status] The value attribute is a valid date and time string 
+PASS [INPUT in DATETIME-LOCAL status] The value attribute cannot convert to a valid normalized forced-UTC global date and time string 
+PASS [INPUT in COLOR status] The value attribute is empty 
+PASS [INPUT in COLOR status] The value attribute is a valid sample color 
+PASS [INPUT in COLOR status] The value attribute is not a valid lowercase sample color 
+PASS [INPUT in COLOR status] The value attribute cannot convert to a valid sample color 
+
index 40de2b4..ca30b1b 100644 (file)
@@ -31,86 +31,96 @@ PASS setRangeText on an input[type=email] throws InvalidStateError
 FAIL setSelectionRange on an input[type=email] throws InvalidStateError assert_throws: function "function (){
         el.setSelectionRange(0, 1);
       }" did not throw
-FAIL selectionStart on an input[type=datetime-local] returns null Type error
-FAIL selectionEnd on an input[type=datetime-local] returns null Type error
-FAIL selectionDirection on an input[type=datetime-local] returns null Type error
+FAIL selectionStart on an input[type=datetime-local] returns null assert_equals: expected (object) null but got (number) 0
+FAIL selectionEnd on an input[type=datetime-local] returns null assert_equals: expected (object) null but got (number) 0
+FAIL selectionDirection on an input[type=datetime-local] returns null assert_equals: expected (object) null but got (string) "none"
 FAIL assigning selectionStart on an input[type=datetime-local] throws InvalidStateError assert_throws: function "function (){
         el.selectionStart = 0;
-      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
+      }" did not throw
 FAIL assigning selectionEnd on an input[type=datetime-local] throws InvalidStateError assert_throws: function "function (){
         el.selectionEnd = 0;
-      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
+      }" did not throw
 FAIL assigning selectionDirection on an input[type=datetime-local] throws InvalidStateError assert_throws: function "function (){
         el.selectionDirection = 'none';
-      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
-PASS setRangeText on an input[type=datetime-local] throws InvalidStateError 
+      }" did not throw
+FAIL setRangeText on an input[type=datetime-local] throws InvalidStateError assert_throws: function "function (){
+        el.setRangeText("foobar");
+      }" did not throw
 FAIL setSelectionRange on an input[type=datetime-local] throws InvalidStateError assert_throws: function "function (){
         el.setSelectionRange(0, 1);
-      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
-FAIL selectionStart on an input[type=date] returns null Type error
-FAIL selectionEnd on an input[type=date] returns null Type error
-FAIL selectionDirection on an input[type=date] returns null Type error
+      }" did not throw
+FAIL selectionStart on an input[type=date] returns null assert_equals: expected (object) null but got (number) 0
+FAIL selectionEnd on an input[type=date] returns null assert_equals: expected (object) null but got (number) 0
+FAIL selectionDirection on an input[type=date] returns null assert_equals: expected (object) null but got (string) "none"
 FAIL assigning selectionStart on an input[type=date] throws InvalidStateError assert_throws: function "function (){
         el.selectionStart = 0;
-      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
+      }" did not throw
 FAIL assigning selectionEnd on an input[type=date] throws InvalidStateError assert_throws: function "function (){
         el.selectionEnd = 0;
-      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
+      }" did not throw
 FAIL assigning selectionDirection on an input[type=date] throws InvalidStateError assert_throws: function "function (){
         el.selectionDirection = 'none';
-      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
-PASS setRangeText on an input[type=date] throws InvalidStateError 
+      }" did not throw
+FAIL setRangeText on an input[type=date] throws InvalidStateError assert_throws: function "function (){
+        el.setRangeText("foobar");
+      }" did not throw
 FAIL setSelectionRange on an input[type=date] throws InvalidStateError assert_throws: function "function (){
         el.setSelectionRange(0, 1);
-      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
-FAIL selectionStart on an input[type=month] returns null Type error
-FAIL selectionEnd on an input[type=month] returns null Type error
-FAIL selectionDirection on an input[type=month] returns null Type error
+      }" did not throw
+FAIL selectionStart on an input[type=month] returns null assert_equals: expected (object) null but got (number) 0
+FAIL selectionEnd on an input[type=month] returns null assert_equals: expected (object) null but got (number) 0
+FAIL selectionDirection on an input[type=month] returns null assert_equals: expected (object) null but got (string) "none"
 FAIL assigning selectionStart on an input[type=month] throws InvalidStateError assert_throws: function "function (){
         el.selectionStart = 0;
-      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
+      }" did not throw
 FAIL assigning selectionEnd on an input[type=month] throws InvalidStateError assert_throws: function "function (){
         el.selectionEnd = 0;
-      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
+      }" did not throw
 FAIL assigning selectionDirection on an input[type=month] throws InvalidStateError assert_throws: function "function (){
         el.selectionDirection = 'none';
-      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
-PASS setRangeText on an input[type=month] throws InvalidStateError 
+      }" did not throw
+FAIL setRangeText on an input[type=month] throws InvalidStateError assert_throws: function "function (){
+        el.setRangeText("foobar");
+      }" did not throw
 FAIL setSelectionRange on an input[type=month] throws InvalidStateError assert_throws: function "function (){
         el.setSelectionRange(0, 1);
-      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
-FAIL selectionStart on an input[type=week] returns null Type error
-FAIL selectionEnd on an input[type=week] returns null Type error
-FAIL selectionDirection on an input[type=week] returns null Type error
+      }" did not throw
+FAIL selectionStart on an input[type=week] returns null assert_equals: expected (object) null but got (number) 0
+FAIL selectionEnd on an input[type=week] returns null assert_equals: expected (object) null but got (number) 0
+FAIL selectionDirection on an input[type=week] returns null assert_equals: expected (object) null but got (string) "none"
 FAIL assigning selectionStart on an input[type=week] throws InvalidStateError assert_throws: function "function (){
         el.selectionStart = 0;
-      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
+      }" did not throw
 FAIL assigning selectionEnd on an input[type=week] throws InvalidStateError assert_throws: function "function (){
         el.selectionEnd = 0;
-      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
+      }" did not throw
 FAIL assigning selectionDirection on an input[type=week] throws InvalidStateError assert_throws: function "function (){
         el.selectionDirection = 'none';
-      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
-PASS setRangeText on an input[type=week] throws InvalidStateError 
+      }" did not throw
+FAIL setRangeText on an input[type=week] throws InvalidStateError assert_throws: function "function (){
+        el.setRangeText("foobar");
+      }" did not throw
 FAIL setSelectionRange on an input[type=week] throws InvalidStateError assert_throws: function "function (){
         el.setSelectionRange(0, 1);
-      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
-FAIL selectionStart on an input[type=time] returns null Type error
-FAIL selectionEnd on an input[type=time] returns null Type error
-FAIL selectionDirection on an input[type=time] returns null Type error
+      }" did not throw
+FAIL selectionStart on an input[type=time] returns null assert_equals: expected (object) null but got (number) 0
+FAIL selectionEnd on an input[type=time] returns null assert_equals: expected (object) null but got (number) 0
+FAIL selectionDirection on an input[type=time] returns null assert_equals: expected (object) null but got (string) "none"
 FAIL assigning selectionStart on an input[type=time] throws InvalidStateError assert_throws: function "function (){
         el.selectionStart = 0;
-      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
+      }" did not throw
 FAIL assigning selectionEnd on an input[type=time] throws InvalidStateError assert_throws: function "function (){
         el.selectionEnd = 0;
-      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
+      }" did not throw
 FAIL assigning selectionDirection on an input[type=time] throws InvalidStateError assert_throws: function "function (){
         el.selectionDirection = 'none';
-      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
-PASS setRangeText on an input[type=time] throws InvalidStateError 
+      }" did not throw
+FAIL setRangeText on an input[type=time] throws InvalidStateError assert_throws: function "function (){
+        el.setRangeText("foobar");
+      }" did not throw
 FAIL setSelectionRange on an input[type=time] throws InvalidStateError assert_throws: function "function (){
         el.setSelectionRange(0, 1);
-      }" threw object "TypeError: Type error" that is not a DOMException InvalidStateError: property "code" is equal to undefined, expected 11
+      }" did not throw
 FAIL selectionStart on an input[type=number] returns null assert_equals: expected (object) null but got (number) 0
 FAIL selectionEnd on an input[type=number] returns null assert_equals: expected (object) null but got (number) 0
 FAIL selectionDirection on an input[type=number] returns null assert_equals: expected (object) null but got (string) "none"
diff --git a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt b/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/selection-expected.txt
new file mode 100644 (file)
index 0000000..1c77052
--- /dev/null
@@ -0,0 +1,48 @@
+
+PASS Input element programmatic selection support 
+PASS input type text should support the select() method 
+PASS input type search should support the select() method 
+PASS input type url should support the select() method 
+PASS input type tel should support the select() method 
+PASS input type email should support the select() method 
+PASS input type password should support the select() method 
+FAIL input type date should support the select() method assert_equals: the given input type is not supported expected "date" but got "text"
+FAIL input type month should support the select() method assert_equals: the given input type is not supported expected "month" but got "text"
+FAIL input type week should support the select() method assert_equals: the given input type is not supported expected "week" but got "text"
+FAIL input type time should support the select() method assert_equals: the given input type is not supported expected "time" but got "text"
+FAIL input type datetime-local should support the select() method assert_equals: the given input type is not supported expected "datetime-local" but got "text"
+PASS input type number should support the select() method 
+FAIL input type color should support the select() method assert_equals: the given input type is not supported expected "color" but got "text"
+PASS input type file should support the select() method 
+FAIL input type hidden should do nothing when the select() method is called (but, not throw) Type error
+FAIL input type range should do nothing when the select() method is called (but, not throw) Type error
+FAIL input type checkbox should do nothing when the select() method is called (but, not throw) Type error
+FAIL input type radio should do nothing when the select() method is called (but, not throw) Type error
+FAIL input type submit should do nothing when the select() method is called (but, not throw) Type error
+FAIL input type image should do nothing when the select() method is called (but, not throw) Type error
+FAIL input type reset should do nothing when the select() method is called (but, not throw) Type error
+FAIL input type button should do nothing when the select() method is called (but, not throw) Type error
+PASS Input element programmatic selection support 1 
+PASS input type text should support all selection attributes and methods 
+PASS input type search should support all selection attributes and methods 
+PASS input type url should support all selection attributes and methods 
+PASS input type tel should support all selection attributes and methods 
+PASS input type password should support all selection attributes and methods 
+FAIL input type hidden should not support variable-length selections Type error
+FAIL input type email should not support variable-length selections assert_equals: getting input.selectionStart expected (object) null but got (number) 0
+FAIL input type date should not support variable-length selections assert_equals: the given input type is not supported expected "date" but got "text"
+FAIL input type month should not support variable-length selections assert_equals: the given input type is not supported expected "month" but got "text"
+FAIL input type week should not support variable-length selections assert_equals: the given input type is not supported expected "week" but got "text"
+FAIL input type time should not support variable-length selections assert_equals: the given input type is not supported expected "time" but got "text"
+FAIL input type datetime-local should not support variable-length selections assert_equals: the given input type is not supported expected "datetime-local" but got "text"
+FAIL input type number should not support variable-length selections assert_equals: getting input.selectionStart expected (object) null but got (number) 0
+FAIL input type range should not support variable-length selections Type error
+FAIL input type color should not support variable-length selections assert_equals: the given input type is not supported expected "color" but got "text"
+FAIL input type checkbox should not support variable-length selections Type error
+FAIL input type radio should not support variable-length selections Type error
+FAIL input type file should not support variable-length selections Type error
+FAIL input type submit should not support variable-length selections Type error
+FAIL input type image should not support variable-length selections Type error
+FAIL input type reset should not support variable-length selections Type error
+FAIL input type button should not support variable-length selections Type error
+
index 977c24d..ea7c2e1 100644 (file)
@@ -59,8 +59,8 @@ PASS Interfaces for command
 PASS Interfaces for COMMAND 
 PASS Interfaces for data 
 PASS Interfaces for DATA 
-FAIL Interfaces for datalist assert_equals: Element datalist should have HTMLDataListElement as its primary interface. expected "[object HTMLDataListElement]" but got "[object HTMLUnknownElement]"
-FAIL Interfaces for DATALIST assert_equals: Element DATALIST should have HTMLDataListElement as its primary interface. expected "[object HTMLDataListElement]" but got "[object HTMLUnknownElement]"
+PASS Interfaces for datalist 
+PASS Interfaces for DATALIST 
 PASS Interfaces for dd 
 PASS Interfaces for DD 
 PASS Interfaces for del 
diff --git a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt b/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/selectors/pseudo-classes/readwrite-readonly-expected.txt
new file mode 100644 (file)
index 0000000..cd48261
--- /dev/null
@@ -0,0 +1,26 @@
+
+FAIL The :read-write pseudo-class must not match input elements to which the readonly attribute does not apply assert_array_equals: lengths differ, expected 0 got 1
+FAIL The :read-only pseudo-class must match input elements to which the readonly attribute does not apply assert_array_equals: lengths differ, expected 10 got 9
+PASS The :read-write pseudo-class must match input elements to which the readonly attribute applies, and that are mutable 
+FAIL The :read-only pseudo-class must not match input elements to which the readonly attribute applies, and that are mutable assert_array_equals: lengths differ, expected 1 got 4
+PASS The :read-write pseudo-class must not match input elements after the readonly attribute has been added 
+FAIL The :read-only pseudo-class must match input elements after the readonly attribute has been added assert_array_equals: lengths differ, expected 2 got 5
+PASS The :read-write pseudo-class must not match input elements after the readonly attribute has been removed 
+FAIL The :read-only pseudo-class must match input elements after the readonly attribute has been removed assert_array_equals: lengths differ, expected 1 got 4
+PASS The :read-write pseudo-class must match textarea elements that do not have a readonly attribute, and that are not disabled 
+PASS The :read-only pseudo-class must match textarea elements that have a readonly attribute, or that are disabled 
+PASS The :read-write pseudo-class must match textarea elements after the readonly attribute has been added 
+PASS The :read-only pseudo-class must match textarea elements after the readonly attribute has been added 
+PASS The :read-write pseudo-class must not match textarea elements that are disabled 
+PASS The :read-only pseudo-class must match textarea elements that are disabled 
+PASS The :read-write pseudo-class must match elements that are editable 
+PASS The :read-only pseudo-class must not match elements that are editable 
+PASS The :read-write pseudo-class must match elements that are editing hosts 
+PASS The :read-only pseudo-class must not match elements that are editing hosts 
+         
+    
+paragraph1.
+
+paragraph2.
diff --git a/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/shadow-dom/input-element-list-expected.txt b/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/shadow-dom/input-element-list-expected.txt
new file mode 100644 (file)
index 0000000..dc8325c
--- /dev/null
@@ -0,0 +1,5 @@
+
+
+PASS Input element's list attribute should point to the datalist element. 
+PASS Input element's list attribute should point to the datalist element in Shadow DOM. 
+
diff --git a/LayoutTests/platform/ios-wk2/mathml/presentation/foreign-element-in-token-expected.txt b/LayoutTests/platform/ios-wk2/mathml/presentation/foreign-element-in-token-expected.txt
new file mode 100644 (file)
index 0000000..e3d27c0
--- /dev/null
@@ -0,0 +1,448 @@
+Foreign phrasing content should create renderers:
+
+a: 
+mi
+
+abbr: 
+mi
+
+b: 
+mi
+
+bdi: 
+mi
+
+bdo: 
+mi
+
+button: 
+mi
+
+cite: 
+mi
+
+code: 
+mi
+
+datalist: 
+
+del: 
+mi
+
+dfn: 
+mi
+
+em: 
+mi
+
+embed: 
+mi
+
+i: 
+mi
+
+img: 
+mi
+
+input: 
+mi
+
+ins: 
+mi
+
+kbd: 
+mi
+
+keygen: 
+mi
+
+label: 
+mi
+
+mark: 
+mi
+
+math: 
+mi
+
+object: 
+mi
+
+output: 
+mi
+
+q: 
+mi
+
+ruby: 
+mi
+
+s: 
+mi
+
+samp: 
+mi
+
+small: 
+mi
+
+span: 
+mi
+
+strong: 
+mi
+
+sub: 
+mi
+
+sup: 
+mi
+
+svg: 
+mi
+
+u: 
+mi
+
+var: 
+mi
+
+a: 
+mn
+
+abbr: 
+mn
+
+b: 
+mn
+
+bdi: 
+mn
+
+bdo: 
+mn
+
+button: 
+mn
+
+cite: 
+mn
+
+code: 
+mn
+
+datalist: 
+
+del: 
+mn
+
+dfn: 
+mn
+
+em: 
+mn
+
+embed: 
+mn
+
+i: 
+mn
+
+img: 
+mn
+
+input: 
+mn
+
+ins: 
+mn
+
+kbd: 
+mn
+
+keygen: 
+mn
+
+label: 
+mn
+
+mark: 
+mn
+
+math: 
+mn
+
+object: 
+mn
+
+output: 
+mn
+
+q: 
+mn
+
+ruby: 
+mn
+
+s: 
+mn
+
+samp: 
+mn
+
+small: 
+mn
+
+span: 
+mn
+
+strong: 
+mn
+
+sub: 
+mn
+
+sup: 
+mn
+
+svg: 
+mn
+
+u: 
+mn
+
+var: 
+mn
+
+a: 
+mtext
+
+abbr: 
+mtext
+
+b: 
+mtext
+
+bdi: 
+mtext
+
+bdo: 
+mtext
+
+button: 
+mtext
+
+cite: 
+mtext
+
+code: 
+mtext
+
+datalist: 
+
+del: 
+mtext
+
+dfn: 
+mtext
+
+em: 
+mtext
+
+embed: 
+mtext
+
+i: 
+mtext
+
+img: 
+mtext
+
+input: 
+mtext
+
+ins: 
+mtext
+
+kbd: 
+mtext
+
+keygen: 
+mtext
+
+label: 
+mtext
+
+mark: 
+mtext
+
+math: 
+mtext
+
+object: 
+mtext
+
+output: 
+mtext
+
+q: 
+mtext
+
+ruby: 
+mtext
+
+s: 
+mtext
+
+samp: 
+mtext
+
+small: 
+mtext
+
+span: 
+mtext
+
+strong: 
+mtext
+
+sub: 
+mtext
+
+sup: 
+mtext
+
+svg: 
+mtext
+
+u: 
+mtext
+
+var: 
+mtext
+
+a: 
+mo
+
+abbr: 
+mo
+
+b: 
+mo
+
+bdi: 
+mo
+
+bdo: 
+mo
+
+button: 
+mo
+
+cite: 
+mo
+
+code: 
+mo
+
+datalist: 
+
+del: 
+mo
+
+dfn: 
+mo
+
+em: 
+mo
+
+embed: 
+mo
+
+i: 
+mo
+
+img: 
+mo
+
+input: 
+mo
+
+ins: 
+mo
+
+kbd: 
+mo
+
+keygen: 
+mo
+
+label: 
+mo
+
+mark: 
+mo
+
+math: 
+mo
+
+object: 
+mo
+
+output: 
+mo
+
+q: 
+mo
+
+ruby: 
+mo
+
+s: 
+mo
+
+samp: 
+mo
+
+small: 
+mo
+
+span: 
+mo
+
+strong: 
+mo
+
+sub: 
+mo
+
+sup: 
+mo
+
+svg: 
+mo
+
+u: 
+mo
+
+var: 
+mo
+
+Foreign non-phrasing content should not create renderers:
+
+p: 
+
+div: 
+
+h1: 
+
+h2: 
+
+h3: 
+
+h4: 
+
+h6: 
+
+blockquote: 
+
index 1163a78..9b03c79 100644 (file)
@@ -1665,10 +1665,6 @@ fast/forms/color/input-color-readonly.html [ Failure ]
 fast/forms/color/input-value-sanitization-color.html [ Failure ]
 fast/forms/color/color-setrangetext.html [ Failure ]
 
-fast/forms/datalist/datalist-fallback-content.html [ ImageOnlyFailure ]
-fast/forms/datalist/datalist-nonoption-child.html [ Failure ]
-fast/forms/datalist/datalist.html [ Failure ]
-fast/forms/datalist/input-appearance-range-with-datalist-zoomed.html [ Failure ]
 fast/forms/datalist/input-list.html [ Failure ]
 fast/forms/datetime/ValidityState-rangeOverflow-datetime.html [ Failure ]
 fast/forms/datetime/ValidityState-rangeUnderflow-datetime.html [ Failure ]
@@ -1975,8 +1971,7 @@ fast/parser/residual-style-hang.html
 # <rdar://problem/19226623> ASSERT(isIdentifierStart<CharacterType>()) fails in CSSParser::parseIdentifier()
 fast/css/css-selector-text.html
 
-# <rdar://problem/19226679> ASSERT(m_isValid == valid()) fails in HTMLFormControlElement::isValidFormControlElement()
-fast/forms/datalist/datalist-child-validation.html
+webkit.org/b/190620 fast/forms/datalist/datalist-child-validation.html [ Crash Failure ]
 
 # <rdar://problem/19227549> ASSERT(!m_webFrame->_private->provisionalURL) fails in WebFrameLoaderClient::dispatchDidStartProvisionalLoad()
 fast/forms/validation-message-user-modify.html
@@ -3116,9 +3111,8 @@ fast/block/block-only/absolute-position-min-max-height.html [ Failure ]
 # Datalist
 webkit.org/b/186714 fast/forms/datalist/datalist-show-hide.html [ Skip ]
 webkit.org/b/186714 fast/forms/datalist/datalist-textinput-keydown.html [ Skip ]
-fast/forms/datalist/datalist-searchinput-appearance.html [ Skip ]
-fast/forms/datalist/datalist-textinput-appearance.html  [ Skip ]
-fast/forms/datalist/datalist-textinput-suggestions-order.html [ Skip ]
+webkit.org/b/190621 fast/forms/datalist/datalist-textinput-suggestions-order.html [ Skip ]
+webkit.org/b/190613 fast/forms/datalist/update-range-with-datalist.html [ Skip ]
 
 # We are only accepting GLSL3 for macOS. 
 webkit.org/b/187982 webgl/2.0.0/conformance2/glsl3 [ Skip ]
index b1d84fd..f7319c0 100644 (file)
@@ -170,6 +170,10 @@ imported/w3c/web-platform-tests/webrtc/RTCPeerConnection-setLocalDescription-off
 pointerevents [ Skip ]
 imported/w3c/web-platform-tests/pointerevents [ Skip ]
 
+# Datalist is unsupported in WK1
+fast/forms/datalist [ WontFix ]
+imported/w3c/web-platform-tests/html/semantics/forms/the-datalist-element [ WontFix ]
+
 # These tests test the Shadow DOM based HTML form validation UI but Mac WK1 is using native dialogs instead.
 fast/forms/validation-message-on-listbox.html
 fast/forms/validation-message-on-menulist.html
diff --git a/LayoutTests/platform/mac-wk2/accessibility/roles-exposed-expected.txt b/LayoutTests/platform/mac-wk2/accessibility/roles-exposed-expected.txt
new file mode 100644 (file)
index 0000000..dd7b641
--- /dev/null
@@ -0,0 +1,1430 @@
+X
+This tests that native elements and ARIA overrides result in the expected role, subrole and role description.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+a[href]
+      AXRole: AXLink
+      AXSubrole: 
+      AXRoleDescription: link
+      
+a:not([href])
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+abbr:not([title])
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+abbr[title]
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+address
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkContentInfo
+      AXRoleDescription: content information
+      
+article
+      AXRole: AXGroup
+      AXSubrole: AXDocumentArticle
+      AXRoleDescription: article
+      
+aside
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkComplementary
+      AXRoleDescription: complementary
+      
+audio
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+b
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+bdo
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+blockquote
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+button
+      AXRole: AXButton
+      AXSubrole: 
+      AXRoleDescription: button
+      
+canvas
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+cite
+      AXRole: AXGroup
+      AXSubrole: AXCiteStyleGroup
+      AXRoleDescription: group
+      
+code
+      AXRole: AXGroup
+      AXSubrole: AXCodeStyleGroup
+      AXRoleDescription: group
+      
+del:not([datetime])
+      AXRole: AXGroup
+      AXSubrole: AXDeleteStyleGroup
+      AXRoleDescription: group
+      
+del[datetime]
+      AXRole: AXGroup
+      AXSubrole: AXDeleteStyleGroup
+      AXRoleDescription: group
+      
+dfn
+      AXRole: AXGroup
+      AXSubrole: AXDefinition
+      AXRoleDescription: definition
+      
+dl
+      AXRole: AXList
+      AXSubrole: AXDescriptionList
+      AXRoleDescription: description list
+      
+dt
+      AXRole: AXGroup
+      AXSubrole: AXTerm
+      AXRoleDescription: term
+      
+dd
+      AXRole: AXGroup
+      AXSubrole: AXDescription
+      AXRoleDescription: description
+      
+div
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+em
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+fieldset
+      AXRole: AXGroup
+      AXSubrole: AXFieldset
+      AXRoleDescription: group
+      
+legend
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+footer
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkContentInfo
+      AXRoleDescription: footer
+      
+form
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+header
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkBanner
+      AXRoleDescription: banner
+      
+hgroup
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+h1
+      AXRole: AXHeading
+      AXSubrole: 
+      AXRoleDescription: heading
+      
+h2
+      AXRole: AXHeading
+      AXSubrole: 
+      AXRoleDescription: heading
+      
+h3
+      AXRole: AXHeading
+      AXSubrole: 
+      AXRoleDescription: heading
+      
+h4
+      AXRole: AXHeading
+      AXSubrole: 
+      AXRoleDescription: heading
+      
+h5
+      AXRole: AXHeading
+      AXSubrole: 
+      AXRoleDescription: heading
+      
+h6
+      AXRole: AXHeading
+      AXSubrole: 
+      AXRoleDescription: heading
+      
+hr
+      AXRole: AXSplitter
+      AXSubrole: AXContentSeparator
+      AXRoleDescription: rule
+      
+i
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+img:not([src]):not([alt])
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+img[alt='']
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+img[src]:not([alt])
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+img[alt='X']
+      AXRole: AXImage
+      AXSubrole: 
+      AXRoleDescription: image
+      
+img[usemap][alt='X']
+      AXRole: AXImageMap
+      AXSubrole: 
+      AXRoleDescription: image map
+      
+img[usemap]:not([alt])
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+input[type='button']
+      AXRole: AXButton
+      AXSubrole: 
+      AXRoleDescription: button
+      
+input[type='color']
+      AXRole: AXColorWell
+      AXSubrole: 
+      AXRoleDescription: color well
+      
+input[type='checkbox']
+      AXRole: AXCheckBox
+      AXSubrole: 
+      AXRoleDescription: checkbox
+      
+input[type='date']
+      AXRole: AXTextField
+      AXSubrole: 
+      AXRoleDescription: date field
+      
+input[type='datetime']
+      AXRole: AXTextField
+      AXSubrole: 
+      AXRoleDescription: text field
+      
+input[type='datetime-local']
+      AXRole: AXTextField
+      AXSubrole: 
+      AXRoleDescription: date and time field
+      
+input[type='email']
+      AXRole: AXTextField
+      AXSubrole: 
+      AXRoleDescription: email field
+      
+input[type='file']
+      AXRole: AXButton
+      AXSubrole: AXFileUploadButton
+      AXRoleDescription: file upload button
+      
+input[type='hidden']
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+input[type='image']
+      AXRole: AXButton
+      AXSubrole: 
+      AXRoleDescription: button
+      
+input[type='month']
+      AXRole: AXTextField
+      AXSubrole: 
+      AXRoleDescription: month and year field
+      
+input[type='number']
+      AXRole: AXTextField
+      AXSubrole: 
+      AXRoleDescription: number field
+      
+input[type='password']
+      AXRole: AXTextField
+      AXSubrole: AXSecureTextField
+      AXRoleDescription: secure text field
+      
+input[type='radio']
+      AXRole: AXRadioButton
+      AXSubrole: 
+      AXRoleDescription: radio button
+      
+input[type='range']
+      AXRole: AXSlider
+      AXSubrole: 
+      AXRoleDescription: slider
+      
+input[type='reset']
+      AXRole: AXButton
+      AXSubrole: 
+      AXRoleDescription: button
+      
+input[type='search']
+      AXRole: AXTextField
+      AXSubrole: AXSearchField
+      AXRoleDescription: search text field
+      
+input[type='submit']
+      AXRole: AXButton
+      AXSubrole: 
+      AXRoleDescription: button
+      
+input[type='tel']
+      AXRole: AXTextField
+      AXSubrole: 
+      AXRoleDescription: telephone number field
+      
+input[type='text']
+      AXRole: AXTextField
+      AXSubrole: 
+      AXRoleDescription: text field
+      
+input[type='time']
+      AXRole: AXTextField
+      AXSubrole: 
+      AXRoleDescription: time field
+      
+input[type='url']
+      AXRole: AXTextField
+      AXSubrole: 
+      AXRoleDescription: URL field
+      
+input[type='week']
+      AXRole: AXTextField
+      AXSubrole: 
+      AXRoleDescription: week and year field
+      
+ins:not([datetime])
+      AXRole: AXGroup
+      AXSubrole: AXInsertStyleGroup
+      AXRoleDescription: group
+      
+ins[datetime]
+      AXRole: AXGroup
+      AXSubrole: AXInsertStyleGroup
+      AXRoleDescription: group
+      
+map
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+area
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+mark
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: highlighted
+      
+math
+      AXRole: AXGroup
+      AXSubrole: AXDocumentMath
+      AXRoleDescription: math
+      
+merror
+      AXRole: AXGroup
+      AXSubrole: AXMathRow
+      AXRoleDescription: group
+      
+mfenced
+      AXRole: AXGroup
+      AXSubrole: AXMathFenced
+      AXRoleDescription: group
+      
+mfrac
+      AXRole: AXGroup
+      AXSubrole: AXMathFraction
+      AXRoleDescription: group
+      
+mi
+      AXRole: AXGroup
+      AXSubrole: AXMathIdentifier
+      AXRoleDescription: group
+      
+mn
+      AXRole: AXGroup
+      AXSubrole: AXMathNumber
+      AXRoleDescription: group
+      
+mo
+      AXRole: AXGroup
+      AXSubrole: AXMathOperator
+      AXRoleDescription: group
+      
+mroot
+      AXRole: AXGroup
+      AXSubrole: AXMathRoot
+      AXRoleDescription: group
+      
+msqrt
+      AXRole: AXGroup
+      AXSubrole: AXMathSquareRoot
+      AXRoleDescription: group
+      
+mrow
+      AXRole: AXGroup
+      AXSubrole: AXMathRow
+      AXRoleDescription: group
+      
+ms
+      AXRole: AXGroup
+      AXSubrole: AXMathText
+      AXRoleDescription: group
+      
+msub
+      AXRole: AXGroup
+      AXSubrole: AXMathSubscriptSuperscript
+      AXRoleDescription: group
+      
+mi
+      AXRole: AXGroup
+      AXSubrole: AXMathIdentifier
+      AXRoleDescription: group
+      
+mi
+      AXRole: AXGroup
+      AXSubrole: AXMathIdentifier
+      AXRoleDescription: group
+      
+msup
+      AXRole: AXGroup
+      AXSubrole: AXMathSubscriptSuperscript
+      AXRoleDescription: group
+      
+mi
+      AXRole: AXGroup
+      AXSubrole: AXMathIdentifier
+      AXRoleDescription: group
+      
+mi
+      AXRole: AXGroup
+      AXSubrole: AXMathIdentifier
+      AXRoleDescription: group
+      
+msubsup
+      AXRole: AXGroup
+      AXSubrole: AXMathSubscriptSuperscript
+      AXRoleDescription: group
+      
+mi
+      AXRole: AXGroup
+      AXSubrole: AXMathIdentifier
+      AXRoleDescription: group
+      
+mi
+      AXRole: AXGroup
+      AXSubrole: AXMathIdentifier
+      AXRoleDescription: group
+      
+mi
+      AXRole: AXGroup
+      AXSubrole: AXMathIdentifier
+      AXRoleDescription: group
+      
+mmultiscripts
+      AXRole: AXGroup
+      AXSubrole: AXMathMultiscript
+      AXRoleDescription: group
+      
+mi
+      AXRole: AXGroup
+      AXSubrole: AXMathIdentifier
+      AXRoleDescription: group
+      
+mi
+      AXRole: AXGroup
+      AXSubrole: AXMathIdentifier
+      AXRoleDescription: group
+      
+mi
+      AXRole: AXGroup
+      AXSubrole: AXMathIdentifier
+      AXRoleDescription: group
+      
+mprescripts
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+mi
+      AXRole: AXGroup
+      AXSubrole: AXMathIdentifier
+      AXRoleDescription: group
+      
+mi
+      AXRole: AXGroup
+      AXSubrole: AXMathIdentifier
+      AXRoleDescription: group
+      
+mtext
+      AXRole: AXGroup
+      AXSubrole: AXMathText
+      AXRoleDescription: group
+      
+mtable
+      AXRole: AXGroup
+      AXSubrole: AXMathTable
+      AXRoleDescription: group
+      
+mlabeledtr
+      AXRole: AXGroup
+      AXSubrole: AXMathTableRow
+      AXRoleDescription: group
+      
+mtd
+      AXRole: AXGroup
+      AXSubrole: AXMathTableCell
+      AXRoleDescription: group
+      
+mtr
+      AXRole: AXGroup
+      AXSubrole: AXMathTableRow
+      AXRoleDescription: group
+      
+mtd
+      AXRole: AXGroup
+      AXSubrole: AXMathTableCell
+      AXRoleDescription: group
+      
+meter
+      AXRole: AXProgressIndicator
+      AXSubrole: AXMeter
+      AXRoleDescription: progress indicator
+      
+nav
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkNavigation
+      AXRoleDescription: navigation
+      
+ol
+      AXRole: AXList
+      AXSubrole: AXContentList
+      AXRoleDescription: content list
+      
+li
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+p
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+pre
+      AXRole: AXGroup
+      AXSubrole: AXPreformattedStyleGroup
+      AXRoleDescription: group
+      
+progress
+      AXRole: AXProgressIndicator
+      AXSubrole: 
+      AXRoleDescription: progress indicator
+      
+q
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+s
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+samp
+      AXRole: AXGroup
+      AXSubrole: AXSampleStyleGroup
+      AXRoleDescription: group
+      
+section:not([aria-label]:not([aria-labelledby])
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+section[aria-label]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkRegion
+      AXRoleDescription: region
+      
+section[aria-labelledby]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkRegion
+      AXRoleDescription: region
+      
+select:not([multiple])
+      AXRole: AXPopUpButton
+      AXSubrole: 
+      AXRoleDescription: pop up button
+      
+option
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+optgroup
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+select[multiple]
+      AXRole: AXList
+      AXSubrole: 
+      AXRoleDescription: list
+      
+option
+      AXRole: AXStaticText
+      AXSubrole: 
+      AXRoleDescription: text
+      
+optgroup
+      AXRole: AXStaticText
+      AXSubrole: 
+      AXRoleDescription: text
+      
+small
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+span:not([onclick])
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+span[onclick]
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+strong
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+sub
+      AXRole: AXGroup
+      AXSubrole: AXSubscriptStyleGroup
+      AXRoleDescription: group
+      
+sup
+      AXRole: AXGroup
+      AXSubrole: AXSuperscriptStyleGroup
+      AXRoleDescription: group
+      
+svg
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+table
+      AXRole: AXTable
+      AXSubrole: 
+      AXRoleDescription: table
+      
+caption
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+thead
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+tr
+      AXRole: AXRow
+      AXSubrole: 
+      AXRoleDescription: row
+      
+th
+      AXRole: AXCell
+      AXSubrole: 
+      AXRoleDescription: cell
+      
+tbody
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+tr
+      AXRole: AXRow
+      AXSubrole: 
+      AXRoleDescription: row
+      
+td
+      AXRole: AXCell
+      AXSubrole: 
+      AXRoleDescription: cell
+      
+tfoot
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+tr
+      AXRole: AXRow
+      AXSubrole: 
+      AXRoleDescription: row
+      
+th
+      AXRole: AXCell
+      AXSubrole: 
+      AXRoleDescription: cell
+      
+textarea
+      AXRole: AXTextArea
+      AXSubrole: 
+      AXRoleDescription: text entry area
+      
+time:not([datetime])
+      AXRole: AXGroup
+      AXSubrole: AXTimeGroup
+      AXRoleDescription: group
+      
+time[datetime]
+      AXRole: AXGroup
+      AXSubrole: AXTimeGroup
+      AXRoleDescription: group
+      
+ul
+      AXRole: AXList
+      AXSubrole: AXContentList
+      AXRoleDescription: content list
+      
+li
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+var
+      AXRole: AXGroup
+      AXSubrole: AXVariableStyleGroup
+      AXRoleDescription: group
+      
+wbr
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+div[role=command]
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+div[role=composite]
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+div[role=input]
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+div[role=landmark]
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+div[role=range]
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+div[role=roletype]
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+div[role=section]
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+div[role=sectionhead]
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+div[role=select]
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+div[role=structure]
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+div[role=widget]
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+div[role=window]
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+div[role=alert]
+      AXRole: AXGroup
+      AXSubrole: AXApplicationAlert
+      AXRoleDescription: alert
+      
+div[role=alertdialog]
+      AXRole: AXGroup
+      AXSubrole: AXApplicationAlertDialog
+      AXRoleDescription: web alert dialog
+      
+div[role=application]
+      AXRole: AXGroup
+      AXSubrole: AXWebApplication
+      AXRoleDescription: web application
+      
+div[role=article]
+      AXRole: AXGroup
+      AXSubrole: AXDocumentArticle
+      AXRoleDescription: article
+      
+div[role=banner]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkBanner
+      AXRoleDescription: banner
+      
+div[role=blockquote]
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+div[role=button]
+      AXRole: AXButton
+      AXSubrole: 
+      AXRoleDescription: button
+      
+div[role=caption]
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+div[role=checkbox]
+      AXRole: AXCheckBox
+      AXSubrole: 
+      AXRoleDescription: checkbox
+      
+div[role=combobox]
+      AXRole: AXComboBox
+      AXSubrole: 
+      AXRoleDescription: combo box
+      
+div[role=complementary]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkComplementary
+      AXRoleDescription: complementary
+      
+div[role=contentinfo]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkContentInfo
+      AXRoleDescription: content information
+      
+div[role=definition]
+      AXRole: AXGroup
+      AXSubrole: AXDefinition
+      AXRoleDescription: definition
+      
+div[role=dialog]
+      AXRole: AXGroup
+      AXSubrole: AXApplicationDialog
+      AXRoleDescription: web dialog
+      
+div[role=directory]
+      AXRole: AXList
+      AXSubrole: AXContentList
+      AXRoleDescription: content list
+      
+div[role=doc-abstract]
+      AXRole: AXGroup
+      AXSubrole: AXApplicationGroup
+      AXRoleDescription: group
+      
+div[role=doc-acknowledgments]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkRegion
+      AXRoleDescription: region
+      
+div[role=doc-afterword]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkRegion
+      AXRoleDescription: region
+      
+div[role=doc-appendix]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkRegion
+      AXRoleDescription: region
+      
+div[role=doc-backlink]
+      AXRole: AXLink
+      AXSubrole: 
+      AXRoleDescription: link
+      
+div[role=doc-biblioentry]
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+div[role=doc-bibliography]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkRegion
+      AXRoleDescription: region
+      
+div[role=doc-biblioref]
+      AXRole: AXLink
+      AXSubrole: 
+      AXRoleDescription: link
+      
+div[role=doc-chapter]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkRegion
+      AXRoleDescription: region
+      
+div[role=doc-colophon]
+      AXRole: AXGroup
+      AXSubrole: AXApplicationGroup
+      AXRoleDescription: group
+      
+div[role=doc-conclusion]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkRegion
+      AXRoleDescription: region
+      
+div[role=doc-cover]
+      AXRole: AXImage
+      AXSubrole: 
+      AXRoleDescription: image
+      
+div[role=doc-credit]
+      AXRole: AXGroup
+      AXSubrole: AXApplicationGroup
+      AXRoleDescription: group
+      
+div[role=doc-credits]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkRegion
+      AXRoleDescription: region
+      
+div[role=doc-dedication]
+      AXRole: AXGroup
+      AXSubrole: AXApplicationGroup
+      AXRoleDescription: group
+      
+div[role=doc-endnote]
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+div[role=doc-endnotes]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkRegion
+      AXRoleDescription: region
+      
+div[role=doc-epigraph]
+      AXRole: AXGroup
+      AXSubrole: AXApplicationGroup
+      AXRoleDescription: group
+      
+div[role=doc-epilogue]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkRegion
+      AXRoleDescription: region
+      
+div[role=doc-errata]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkRegion
+      AXRoleDescription: region
+      
+div[role=doc-example]
+      AXRole: AXGroup
+      AXSubrole: AXApplicationGroup
+      AXRoleDescription: group
+      
+div[role=doc-footnote]
+      AXRole: AXGroup
+      AXSubrole: AXApplicationGroup
+      AXRoleDescription: group
+      
+div[role=doc-foreword]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkRegion
+      AXRoleDescription: region
+      
+div[role=doc-glossary]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkRegion
+      AXRoleDescription: region
+      
+div[role=doc-glossref]
+      AXRole: AXLink
+      AXSubrole: 
+      AXRoleDescription: link
+      
+div[role=doc-index]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkNavigation
+      AXRoleDescription: navigation
+      
+div[role=doc-introduction]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkRegion
+      AXRoleDescription: region
+      
+div[role=doc-noteref]
+      AXRole: AXLink
+      AXSubrole: 
+      AXRoleDescription: link
+      
+div[role=doc-notice]
+      AXRole: AXGroup
+      AXSubrole: AXDocumentNote
+      AXRoleDescription: note
+      
+div[role=doc-pagebreak]
+      AXRole: AXSplitter
+      AXSubrole: 
+      AXRoleDescription: splitter
+      
+div[role=doc-pagelist]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkNavigation
+      AXRoleDescription: navigation
+      
+div[role=doc-part]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkRegion
+      AXRoleDescription: region
+      
+div[role=doc-preface]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkRegion
+      AXRoleDescription: region
+      
+div[role=doc-prologue]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkRegion
+      AXRoleDescription: region
+      
+div[role=doc-pullquote]
+      AXRole: AXGroup
+      AXSubrole: AXApplicationGroup
+      AXRoleDescription: group
+      
+div[role=doc-qna]
+      AXRole: AXGroup
+      AXSubrole: AXApplicationGroup
+      AXRoleDescription: group
+      
+div[role=doc-subtitle]
+      AXRole: AXHeading
+      AXSubrole: 
+      AXRoleDescription: heading
+      
+div[role=doc-tip]
+      AXRole: AXGroup
+      AXSubrole: AXDocumentNote
+      AXRoleDescription: note
+      
+div[role=doc-toc]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkNavigation
+      AXRoleDescription: navigation
+      
+div[role=document]
+      AXRole: AXGroup
+      AXSubrole: AXDocument
+      AXRoleDescription: document
+      
+div[role=figure]
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: figure
+      
+div[role=form]
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+div[role=graphics-document]
+      AXRole: AXGroup
+      AXSubrole: AXDocument
+      AXRoleDescription: document
+      
+div[role=graphics-object]
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+div[role=graphics-symbol]
+      AXRole: AXImage
+      AXSubrole: 
+      AXRoleDescription: image
+      
+div[role=grid]
+      AXRole: AXTable
+      AXSubrole: 
+      AXRoleDescription: table
+      
+div[role=rowgroup]
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+div[role=row]
+      AXRole: AXRow
+      AXSubrole: 
+      AXRoleDescription: row
+      
+div[role=rowheader]
+      AXRole: AXCell
+      AXSubrole: 
+      AXRoleDescription: cell
+      
+div[role=columnheader]
+      AXRole: AXCell
+      AXSubrole: 
+      AXRoleDescription: cell
+      
+div[role=gridcell]
+      AXRole: AXCell
+      AXSubrole: 
+      AXRoleDescription: cell
+      
+div[role=feed]
+      AXRole: AXGroup
+      AXSubrole: AXApplicationGroup
+      AXRoleDescription: feed
+      
+div[role=group]
+      AXRole: AXGroup
+      AXSubrole: AXApplicationGroup
+      AXRoleDescription: group
+      
+div[role=heading]
+      AXRole: AXHeading
+      AXSubrole: 
+      AXRoleDescription: heading
+      
+div[role=img]
+      AXRole: AXImage
+      AXSubrole: 
+      AXRoleDescription: image
+      
+div[role=link]
+      AXRole: AXLink
+      AXSubrole: 
+      AXRoleDescription: link
+      
+div[role=list]
+      AXRole: AXList
+      AXSubrole: AXContentList
+      AXRoleDescription: content list
+      
+div[role=listitem]
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+div[role=listbox]
+      AXRole: AXList
+      AXSubrole: 
+      AXRoleDescription: list
+      
+div[role=option]
+      AXRole: AXStaticText
+      AXSubrole: 
+      AXRoleDescription: text
+      
+div[role=log]
+      AXRole: AXGroup
+      AXSubrole: AXApplicationLog
+      AXRoleDescription: log
+      
+div[role=main]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkMain
+      AXRoleDescription: main
+      
+div[role=marquee]
+      AXRole: AXGroup
+      AXSubrole: AXApplicationMarquee
+      AXRoleDescription: marquee
+      
+div[role=math]
+      AXRole: AXGroup
+      AXSubrole: AXDocumentMath
+      AXRoleDescription: math
+      
+div[role=menu]
+      AXRole: AXMenu
+      AXSubrole: 
+      AXRoleDescription: menu
+      
+div[role=menuitem]
+      AXRole: AXMenuItem
+      AXSubrole: 
+      AXRoleDescription: menu item
+      
+div[role=menuitemcheckbox]
+      AXRole: AXMenuItem
+      AXSubrole: 
+      AXRoleDescription: menu item
+      
+div[role=menuitemradio]
+      AXRole: AXMenuItem
+      AXSubrole: 
+      AXRoleDescription: menu item
+      
+div[role=menubar]
+      AXRole: AXMenuBar
+      AXSubrole: 
+      AXRoleDescription: menu bar
+      
+div[role=menuitem]
+      AXRole: AXMenuItem
+      AXSubrole: 
+      AXRoleDescription: menu item
+      
+div[role=menuitemcheckbox]
+      AXRole: AXMenuItem
+      AXSubrole: 
+      AXRoleDescription: menu item
+      
+div[role=menuitemradio]
+      AXRole: AXMenuItem
+      AXSubrole: 
+      AXRoleDescription: menu item
+      
+div[role=navigation]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkNavigation
+      AXRoleDescription: navigation
+      
+div[role=note]
+      AXRole: AXGroup
+      AXSubrole: AXDocumentNote
+      AXRoleDescription: note
+      
+div[role=paragraph]
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+div[role=presentation]
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+div[role=progressbar]
+      AXRole: AXProgressIndicator
+      AXSubrole: 
+      AXRoleDescription: progress indicator
+      
+div[role=radiogroup]
+      AXRole: AXRadioGroup
+      AXSubrole: 
+      AXRoleDescription: radio group
+      
+div[role=radio]
+      AXRole: AXRadioButton
+      AXSubrole: 
+      AXRoleDescription: radio button
+      
+div[role=region]:not([aria-label]:not([aria-labelledby])
+      AXRole: AXGroup
+      AXSubrole: 
+      AXRoleDescription: group
+      
+div[role=region][aria-label]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkRegion
+      AXRoleDescription: region
+      
+div[role=region][aria-labelledby]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkRegion
+      AXRoleDescription: region
+      
+div[role=scrollbar]
+      AXRole: AXScrollBar
+      AXSubrole: 
+      AXRoleDescription: scroll bar
+      
+div[role=search]
+      AXRole: AXGroup
+      AXSubrole: AXLandmarkSearch
+      AXRoleDescription: search
+      
+div[role=searchbox]
+      AXRole: AXTextField
+      AXSubrole: AXSearchField
+      AXRoleDescription: search text field
+      
+div[role=separator]
+      AXRole: AXSplitter
+      AXSubrole: 
+      AXRoleDescription: splitter
+      
+div[role=slider]
+      AXRole: AXSlider
+      AXSubrole: 
+      AXRoleDescription: slider
+      
+div[role=spinbutton]
+      AXRole: AXIncrementor
+      AXSubrole: 
+      AXRoleDescription: stepper
+      
+div[role=status]
+      AXRole: AXGroup
+      AXSubrole: AXApplicationStatus
+      AXRoleDescription: application status
+      
+div[role=switch]
+      AXRole: AXCheckBox
+      AXSubrole: AXSwitch
+      AXRoleDescription: switch
+      
+div[role=tablist]
+      AXRole: AXTabGroup
+      AXSubrole: 
+      AXRoleDescription: tab group
+      
+div[role=tab]
+      AXRole: AXRadioButton
+      AXSubrole: 
+      AXRoleDescription: tab
+      
+div[role=tabpanel]
+      AXRole: AXGroup
+      AXSubrole: AXTabPanel
+      AXRoleDescription: tab panel
+      
+div[role=term]
+      AXRole: AXGroup
+      AXSubrole: AXTerm
+      AXRoleDescription: term
+      
+div[role=textbox]
+      AXRole: AXTextField
+      AXSubrole: 
+      AXRoleDescription: text field
+      
+div[role=timer]
+      AXRole: AXGroup
+      AXSubrole: AXApplicationTimer
+      AXRoleDescription: timer
+      
+div[role=toolbar]
+      AXRole: AXToolbar
+      AXSubrole: 
+      AXRoleDescription: toolbar
+      
+div[role=tooltip]
+      AXRole: AXGroup
+      AXSubrole: AXUserInterfaceTooltip
+      AXRoleDescription: tooltip
+      
+div[role=tree]
+      AXRole: AXOutline
+      AXSubrole: 
+      AXRoleDescription: outline
+      
+div[role=treeitem]
+      AXRole: AXRow
+      AXSubrole: AXOutlineRow
+      AXRoleDescription: outline row
+      
+div[role=group]
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+div[role=treeitem]
+      AXRole: AXRow
+      AXSubrole: AXOutlineRow
+      AXRoleDescription: outline row
+      
+div[role=treegrid]
+      AXRole: AXTable
+      AXSubrole: 
+      AXRoleDescription: table
+      
+div[role=rowgroup]
+      AXRole: 
+      AXSubrole: 
+      AXRoleDescription: 
+      
+div[role=row]
+      AXRole: AXRow
+      AXSubrole: 
+      AXRoleDescription: row
+      
+div[role=rowheader]
+      AXRole: AXCell
+      AXSubrole: 
+      AXRoleDescription: cell
+      
+div[role=columnheader]
+      AXRole: AXCell
+      AXSubrole: 
+      AXRoleDescription: cell
+      
+div[role=gridcell]
+      AXRole: AXCell
+      AXSubrole: 
+      AXRoleDescription: cell
+      
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/platform/mac-wk2/fast/borders/empty-outline-border-assert-expected.txt b/LayoutTests/platform/mac-wk2/fast/borders/empty-outline-border-assert-expected.txt
new file mode 100644 (file)
index 0000000..047e26e
--- /dev/null
@@ -0,0 +1 @@
+PASS if no ASSERT in debug.
diff --git a/LayoutTests/platform/mac-wk2/fast/dom/Window/window-lookup-precedence-expected.txt b/LayoutTests/platform/mac-wk2/fast/dom/Window/window-lookup-precedence-expected.txt
new file mode 100644 (file)
index 0000000..10bdde9
--- /dev/null
@@ -0,0 +1,436 @@
+Tests lookup precedence for properties on Window objects in the presence of a child frame, and that IDL properties defined in the prototype (window.location, window.focus, etc) have higher lookup precedence than named document elements (such as input elements).
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+
+
+PASS 'function alert() {    [native code]}' is 'function alert() {    [native code]}'
+PASS 'function alert() {    [native code]}' is 'function alert() {    [native code]}'
+PASS 'function atob() {    [native code]}' is 'function atob() {    [native code]}'
+PASS 'function atob() {    [native code]}' is 'function atob() {    [native code]}'
+PASS 'function blur() {    [native code]}' is 'function blur() {    [native code]}'
+PASS 'function blur() {    [native code]}' is 'function blur() {    [native code]}'
+PASS 'function btoa() {    [native code]}' is 'function btoa() {    [native code]}'
+PASS 'function btoa() {    [native code]}' is 'function btoa() {    [native code]}'
+PASS 'function captureEvents() {    [native code]}' is 'function captureEvents() {    [native code]}'
+PASS 'function captureEvents() {    [native code]}' is 'function captureEvents() {    [native code]}'
+PASS 'function clearInterval() {    [native code]}' is 'function clearInterval() {    [native code]}'
+PASS 'function clearInterval() {    [native code]}' is 'function clearInterval() {    [native code]}'
+PASS 'function clearTimeout() {    [native code]}' is 'function clearTimeout() {    [native code]}'
+PASS 'function clearTimeout() {    [native code]}' is 'function clearTimeout() {    [native code]}'
+PASS 'function close() {    [native code]}' is 'function close() {    [native code]}'
+PASS 'function close() {    [native code]}' is 'function close() {    [native code]}'
+PASS 'function confirm() {    [native code]}' is 'function confirm() {    [native code]}'
+PASS 'function confirm() {    [native code]}' is 'function confirm() {    [native code]}'
+PASS 'function find() {    [native code]}' is 'function find() {    [native code]}'
+PASS 'function find() {    [native code]}' is 'function find() {    [native code]}'
+PASS 'function focus() {    [native code]}' is 'function focus() {    [native code]}'
+PASS 'function focus() {    [native code]}' is 'function focus() {    [native code]}'
+PASS 'function getComputedStyle() {    [native code]}' is 'function getComputedStyle() {    [native code]}'
+PASS 'function getComputedStyle() {    [native code]}' is 'function getComputedStyle() {    [native code]}'
+PASS 'function getMatchedCSSRules() {    [native code]}' is 'function getMatchedCSSRules() {    [native code]}'
+PASS 'function getMatchedCSSRules() {    [native code]}' is 'function getMatchedCSSRules() {    [native code]}'
+PASS 'function getSelection() {    [native code]}' is 'function getSelection() {    [native code]}'
+PASS 'function getSelection() {    [native code]}' is 'function getSelection() {    [native code]}'
+PASS 'function moveBy() {    [native code]}' is 'function moveBy() {    [native code]}'
+PASS 'function moveBy() {    [native code]}' is 'function moveBy() {    [native code]}'
+PASS 'function moveTo() {    [native code]}' is 'function moveTo() {    [native code]}'
+PASS 'function moveTo() {    [native code]}' is 'function moveTo() {    [native code]}'
+PASS 'function open() {    [native code]}' is 'function open() {    [native code]}'
+PASS 'function open() {    [native code]}' is 'function open() {    [native code]}'
+PASS 'function print() {    [native code]}' is 'function print() {    [native code]}'
+PASS 'function print() {    [native code]}' is 'function print() {    [native code]}'
+PASS 'function prompt() {    [native code]}' is 'function prompt() {    [native code]}'
+PASS 'function prompt() {    [native code]}' is 'function prompt() {    [native code]}'
+PASS 'function releaseEvents() {    [native code]}' is 'function releaseEvents() {    [native code]}'
+PASS 'function releaseEvents() {    [native code]}' is 'function releaseEvents() {    [native code]}'
+PASS 'function resizeBy() {    [native code]}' is 'function resizeBy() {    [native code]}'
+PASS 'function resizeBy() {    [native code]}' is 'function resizeBy() {    [native code]}'
+PASS 'function resizeTo() {    [native code]}' is 'function resizeTo() {    [native code]}'
+PASS 'function resizeTo() {    [native code]}' is 'function resizeTo() {    [native code]}'
+PASS 'function scroll() {    [native code]}' is 'function scroll() {    [native code]}'
+PASS 'function scroll() {    [native code]}' is 'function scroll() {    [native code]}'
+PASS 'function scrollBy() {    [native code]}' is 'function scrollBy() {    [native code]}'
+PASS 'function scrollBy() {    [native code]}' is 'function scrollBy() {    [native code]}'
+PASS 'function scrollTo() {    [native code]}' is 'function scrollTo() {    [native code]}'
+PASS 'function scrollTo() {    [native code]}' is 'function scrollTo() {    [native code]}'
+PASS 'function setInterval() {    [native code]}' is 'function setInterval() {    [native code]}'
+PASS 'function setInterval() {    [native code]}' is 'function setInterval() {    [native code]}'
+PASS 'function setTimeout() {    [native code]}' is 'function setTimeout() {    [native code]}'
+PASS 'function setTimeout() {    [native code]}' is 'function setTimeout() {    [native code]}'
+PASS 'function stop() {    [native code]}' is 'function stop() {    [native code]}'
+PASS 'function stop() {    [native code]}' is 'function stop() {    [native code]}'
+PASS 'function toString() {    [native code]}' is 'function toString() {    [native code]}'
+PASS 'function toString() {    [native code]}' is 'function toString() {    [native code]}'
+PASS 'function Attr() {    [native code]}' is 'function Attr() {    [native code]}'
+PASS 'function Attr() {    [native code]}' is 'function Attr() {    [native code]}'
+PASS 'function CDATASection() {    [native code]}' is 'function CDATASection() {    [native code]}'
+PASS 'function CDATASection() {    [native code]}' is 'function CDATASection() {    [native code]}'
+PASS 'function CSSFontFaceRule() {    [native code]}' is 'function CSSFontFaceRule() {    [native code]}'
+PASS 'function CSSFontFaceRule() {    [native code]}' is 'function CSSFontFaceRule() {    [native code]}'
+PASS 'function CSSImportRule() {    [native code]}' is 'function CSSImportRule() {    [native code]}'
+PASS 'function CSSImportRule() {    [native code]}' is 'function CSSImportRule() {    [native code]}'
+PASS 'function CSSMediaRule() {    [native code]}' is 'function CSSMediaRule() {    [native code]}'
+PASS 'function CSSMediaRule() {    [native code]}' is 'function CSSMediaRule() {    [native code]}'
+PASS 'function CSSPageRule() {    [native code]}' is 'function CSSPageRule() {    [native code]}'
+PASS 'function CSSPageRule() {    [native code]}' is 'function CSSPageRule() {    [native code]}'
+PASS 'function CSSPrimitiveValue() {    [native code]}' is 'function CSSPrimitiveValue() {    [native code]}'
+PASS 'function CSSPrimitiveValue() {    [native code]}' is 'function CSSPrimitiveValue() {    [native code]}'
+PASS 'function CSSRule() {    [native code]}' is 'function CSSRule() {    [native code]}'
+PASS 'function CSSRule() {    [native code]}' is 'function CSSRule() {    [native code]}'
+PASS 'function CSSRuleList() {    [native code]}' is 'function CSSRuleList() {    [native code]}'
+PASS 'function CSSRuleList() {    [native code]}' is 'function CSSRuleList() {    [native code]}'
+PASS 'function CSSStyleDeclaration() {    [native code]}' is 'function CSSStyleDeclaration() {    [native code]}'
+PASS 'function CSSStyleDeclaration() {    [native code]}' is 'function CSSStyleDeclaration() {    [native code]}'
+PASS 'function CSSStyleRule() {    [native code]}' is 'function CSSStyleRule() {    [native code]}'
+PASS 'function CSSStyleRule() {    [native code]}' is 'function CSSStyleRule() {    [native code]}'
+PASS 'function CSSStyleSheet() {    [native code]}' is 'function CSSStyleSheet() {    [native code]}'
+PASS 'function CSSStyleSheet() {    [native code]}' is 'function CSSStyleSheet() {    [native code]}'
+PASS 'function CSSValue() {    [native code]}' is 'function CSSValue() {    [native code]}'
+PASS 'function CSSValue() {    [native code]}' is 'function CSSValue() {    [native code]}'
+PASS 'function CSSValueList() {    [native code]}' is 'function CSSValueList() {    [native code]}'
+PASS 'function CSSValueList() {    [native code]}' is 'function CSSValueList() {    [native code]}'
+PASS 'function CharacterData() {    [native code]}' is 'function CharacterData() {    [native code]}'
+PASS 'function CharacterData() {    [native code]}' is 'function CharacterData() {    [native code]}'
+PASS 'function Comment() {    [native code]}' is 'function Comment() {    [native code]}'
+PASS 'function Comment() {    [native code]}' is 'function Comment() {    [native code]}'
+PASS 'function Counter() {    [native code]}' is 'function Counter() {    [native code]}'
+PASS 'function Counter() {    [native code]}' is 'function Counter() {    [native code]}'
+PASS 'function DOMException() {    [native code]}' is 'function DOMException() {    [native code]}'
+PASS 'function DOMException() {    [native code]}' is 'function DOMException() {    [native code]}'
+PASS 'function DOMImplementation() {    [native code]}' is 'function DOMImplementation() {    [native code]}'
+PASS 'function DOMImplementation() {    [native code]}' is 'function DOMImplementation() {    [native code]}'
+PASS 'function DOMParser() {    [native code]}' is 'function DOMParser() {    [native code]}'
+PASS 'function DOMParser() {    [native code]}' is 'function DOMParser() {    [native code]}'
+PASS 'function Document() {    [native code]}' is 'function Document() {    [native code]}'
+PASS 'function Document() {    [native code]}' is 'function Document() {    [native code]}'
+PASS 'function DocumentFragment() {    [native code]}' is 'function DocumentFragment() {    [native code]}'
+PASS 'function DocumentFragment() {    [native code]}' is 'function DocumentFragment() {    [native code]}'
+PASS 'function DocumentType() {    [native code]}' is 'function DocumentType() {    [native code]}'
+PASS 'function DocumentType() {    [native code]}' is 'function DocumentType() {    [native code]}'
+PASS 'function Element() {    [native code]}' is 'function Element() {    [native code]}'
+PASS 'function Element() {    [native code]}' is 'function Element() {    [native code]}'
+PASS 'function Event() {    [native code]}' is 'function Event() {    [native code]}'
+PASS 'function Event() {    [native code]}' is 'function Event() {    [native code]}'
+PASS 'function HTMLAnchorElement() {    [native code]}' is 'function HTMLAnchorElement() {    [native code]}'
+PASS 'function HTMLAnchorElement() {    [native code]}' is 'function HTMLAnchorElement() {    [native code]}'
+PASS 'function HTMLAppletElement() {    [native code]}' is 'function HTMLAppletElement() {    [native code]}'
+PASS 'function HTMLAppletElement() {    [native code]}' is 'function HTMLAppletElement() {    [native code]}'
+PASS 'function HTMLAreaElement() {    [native code]}' is 'function HTMLAreaElement() {    [native code]}'
+PASS 'function HTMLAreaElement() {    [native code]}' is 'function HTMLAreaElement() {    [native code]}'
+PASS 'function HTMLBRElement() {    [native code]}' is 'function HTMLBRElement() {    [native code]}'
+PASS 'function HTMLBRElement() {    [native code]}' is 'function HTMLBRElement() {    [native code]}'
+PASS 'function HTMLBaseElement() {    [native code]}' is 'function HTMLBaseElement() {    [native code]}'
+PASS 'function HTMLBaseElement() {    [native code]}' is 'function HTMLBaseElement() {    [native code]}'
+PASS 'function HTMLBodyElement() {    [native code]}' is 'function HTMLBodyElement() {    [native code]}'
+PASS 'function HTMLBodyElement() {    [native code]}' is 'function HTMLBodyElement() {    [native code]}'
+PASS 'function HTMLButtonElement() {    [native code]}' is 'function HTMLButtonElement() {    [native code]}'
+PASS 'function HTMLButtonElement() {    [native code]}' is 'function HTMLButtonElement() {    [native code]}'
+PASS 'function HTMLCanvasElement() {    [native code]}' is 'function HTMLCanvasElement() {    [native code]}'
+PASS 'function HTMLCanvasElement() {    [native code]}' is 'function HTMLCanvasElement() {    [native code]}'
+PASS 'function HTMLDListElement() {    [native code]}' is 'function HTMLDListElement() {    [native code]}'
+PASS 'function HTMLDListElement() {    [native code]}' is 'function HTMLDListElement() {    [native code]}'
+PASS 'function HTMLDataListElement() {    [native code]}' is 'function HTMLDataListElement() {    [native code]}'
+PASS 'function HTMLDataListElement() {    [native code]}' is 'function HTMLDataListElement() {    [native code]}'
+PASS 'function HTMLDirectoryElement() {    [native code]}' is 'function HTMLDirectoryElement() {    [native code]}'
+PASS 'function HTMLDirectoryElement() {    [native code]}' is 'function HTMLDirectoryElement() {    [native code]}'
+PASS 'function HTMLDivElement() {    [native code]}' is 'function HTMLDivElement() {    [native code]}'
+PASS 'function HTMLDivElement() {    [native code]}' is 'function HTMLDivElement() {    [native code]}'
+PASS 'function HTMLDocument() {    [native code]}' is 'function HTMLDocument() {    [native code]}'
+PASS 'function HTMLDocument() {    [native code]}' is 'function HTMLDocument() {    [native code]}'
+PASS 'function HTMLElement() {    [native code]}' is 'function HTMLElement() {    [native code]}'
+PASS 'function HTMLElement() {    [native code]}' is 'function HTMLElement() {    [native code]}'
+PASS 'function HTMLEmbedElement() {    [native code]}' is 'function HTMLEmbedElement() {    [native code]}'
+PASS 'function HTMLEmbedElement() {    [native code]}' is 'function HTMLEmbedElement() {    [native code]}'
+PASS 'function HTMLFieldSetElement() {    [native code]}' is 'function HTMLFieldSetElement() {    [native code]}'
+PASS 'function HTMLFieldSetElement() {    [native code]}' is 'function HTMLFieldSetElement() {    [native code]}'
+PASS 'function HTMLFontElement() {    [native code]}' is 'function HTMLFontElement() {    [native code]}'
+PASS 'function HTMLFontElement() {    [native code]}' is 'function HTMLFontElement() {    [native code]}'
+PASS 'function HTMLFormElement() {    [native code]}' is 'function HTMLFormElement() {    [native code]}'
+PASS 'function HTMLFormElement() {    [native code]}' is 'function HTMLFormElement() {    [native code]}'
+PASS 'function HTMLFrameElement() {    [native code]}' is 'function HTMLFrameElement() {    [native code]}'
+PASS 'function HTMLFrameElement() {    [native code]}' is 'function HTMLFrameElement() {    [native code]}'
+PASS 'function HTMLFrameSetElement() {    [native code]}' is 'function HTMLFrameSetElement() {    [native code]}'
+PASS 'function HTMLFrameSetElement() {    [native code]}' is 'function HTMLFrameSetElement() {    [native code]}'
+PASS 'function HTMLHRElement() {    [native code]}' is 'function HTMLHRElement() {    [native code]}'
+PASS 'function HTMLHRElement() {    [native code]}' is 'function HTMLHRElement() {    [native code]}'
+PASS 'function HTMLHeadElement() {    [native code]}' is 'function HTMLHeadElement() {    [native code]}'
+PASS 'function HTMLHeadElement() {    [native code]}' is 'function HTMLHeadElement() {    [native code]}'
+PASS 'function HTMLHeadingElement() {    [native code]}' is 'function HTMLHeadingElement() {    [native code]}'
+PASS 'function HTMLHeadingElement() {    [native code]}' is 'function HTMLHeadingElement() {    [native code]}'
+PASS 'function HTMLHtmlElement() {    [native code]}' is 'function HTMLHtmlElement() {    [native code]}'
+PASS 'function HTMLHtmlElement() {    [native code]}' is 'function HTMLHtmlElement() {    [native code]}'
+PASS 'function HTMLIFrameElement() {    [native code]}' is 'function HTMLIFrameElement() {    [native code]}'
+PASS 'function HTMLIFrameElement() {    [native code]}' is 'function HTMLIFrameElement() {    [native code]}'
+PASS 'function HTMLImageElement() {    [native code]}' is 'function HTMLImageElement() {    [native code]}'
+PASS 'function HTMLImageElement() {    [native code]}' is 'function HTMLImageElement() {    [native code]}'
+PASS 'function HTMLInputElement() {    [native code]}' is 'function HTMLInputElement() {    [native code]}'
+PASS 'function HTMLInputElement() {    [native code]}' is 'function HTMLInputElement() {    [native code]}'
+PASS 'function HTMLLIElement() {    [native code]}' is 'function HTMLLIElement() {    [native code]}'
+PASS 'function HTMLLIElement() {    [native code]}' is 'function HTMLLIElement() {    [native code]}'
+PASS 'function HTMLLabelElement() {    [native code]}' is 'function HTMLLabelElement() {    [native code]}'
+PASS 'function HTMLLabelElement() {    [native code]}' is 'function HTMLLabelElement() {    [native code]}'
+PASS 'function HTMLLegendElement() {    [native code]}' is 'function HTMLLegendElement() {    [native code]}'
+PASS 'function HTMLLegendElement() {    [native code]}' is 'function HTMLLegendElement() {    [native code]}'
+PASS 'function HTMLLinkElement() {    [native code]}' is 'function HTMLLinkElement() {    [native code]}'
+PASS 'function HTMLLinkElement() {    [native code]}' is 'function HTMLLinkElement() {    [native code]}'
+PASS 'function HTMLMapElement() {    [native code]}' is 'function HTMLMapElement() {    [native code]}'
+PASS 'function HTMLMapElement() {    [native code]}' is 'function HTMLMapElement() {    [native code]}'
+PASS 'function HTMLMarqueeElement() {    [native code]}' is 'function HTMLMarqueeElement() {    [native code]}'
+PASS 'function HTMLMarqueeElement() {    [native code]}' is 'function HTMLMarqueeElement() {    [native code]}'
+PASS 'function HTMLMenuElement() {    [native code]}' is 'function HTMLMenuElement() {    [native code]}'
+PASS 'function HTMLMenuElement() {    [native code]}' is 'function HTMLMenuElement() {    [native code]}'
+PASS 'function HTMLMetaElement() {    [native code]}' is 'function HTMLMetaElement() {    [native code]}'
+PASS 'function HTMLMetaElement() {    [native code]}' is 'function HTMLMetaElement() {    [native code]}'
+PASS 'function HTMLModElement() {    [native code]}' is 'function HTMLModElement() {    [native code]}'
+PASS 'function HTMLModElement() {    [native code]}' is 'function HTMLModElement() {    [native code]}'
+PASS 'function HTMLOListElement() {    [native code]}' is 'function HTMLOListElement() {    [native code]}'
+PASS 'function HTMLOListElement() {    [native code]}' is 'function HTMLOListElement() {    [native code]}'
+PASS 'function HTMLObjectElement() {    [native code]}' is 'function HTMLObjectElement() {    [native code]}'
+PASS 'function HTMLObjectElement() {    [native code]}' is 'function HTMLObjectElement() {    [native code]}'
+PASS 'function HTMLOptGroupElement() {    [native code]}' is 'function HTMLOptGroupElement() {    [native code]}'
+PASS 'function HTMLOptGroupElement() {    [native code]}' is 'function HTMLOptGroupElement() {    [native code]}'
+PASS 'function HTMLOptionElement() {    [native code]}' is 'function HTMLOptionElement() {    [native code]}'
+PASS 'function HTMLOptionElement() {    [native code]}' is 'function HTMLOptionElement() {    [native code]}'
+PASS 'function HTMLParagraphElement() {    [native code]}' is 'function HTMLParagraphElement() {    [native code]}'
+PASS 'function HTMLParagraphElement() {    [native code]}' is 'function HTMLParagraphElement() {    [native code]}'
+PASS 'function HTMLParamElement() {    [native code]}' is 'function HTMLParamElement() {    [native code]}'
+PASS 'function HTMLParamElement() {    [native code]}' is 'function HTMLParamElement() {    [native code]}'
+PASS 'function HTMLPreElement() {    [native code]}' is 'function HTMLPreElement() {    [native code]}'
+PASS 'function HTMLPreElement() {    [native code]}' is 'function HTMLPreElement() {    [native code]}'
+PASS 'function HTMLQuoteElement() {    [native code]}' is 'function HTMLQuoteElement() {    [native code]}'
+PASS 'function HTMLQuoteElement() {    [native code]}' is 'function HTMLQuoteElement() {    [native code]}'
+PASS 'function HTMLScriptElement() {    [native code]}' is 'function HTMLScriptElement() {    [native code]}'
+PASS 'function HTMLScriptElement() {    [native code]}' is 'function HTMLScriptElement() {    [native code]}'
+PASS 'function HTMLSelectElement() {    [native code]}' is 'function HTMLSelectElement() {    [native code]}'
+PASS 'function HTMLSelectElement() {    [native code]}' is 'function HTMLSelectElement() {    [native code]}'
+PASS 'function HTMLStyleElement() {    [native code]}' is 'function HTMLStyleElement() {    [native code]}'
+PASS 'function HTMLStyleElement() {    [native code]}' is 'function HTMLStyleElement() {    [native code]}'
+PASS 'function HTMLTableCaptionElement() {    [native code]}' is 'function HTMLTableCaptionElement() {    [native code]}'
+PASS 'function HTMLTableCaptionElement() {    [native code]}' is 'function HTMLTableCaptionElement() {    [native code]}'
+PASS 'function HTMLTableCellElement() {    [native code]}' is 'function HTMLTableCellElement() {    [native code]}'
+PASS 'function HTMLTableCellElement() {    [native code]}' is 'function HTMLTableCellElement() {    [native code]}'
+PASS 'function HTMLTableColElement() {    [native code]}' is 'function HTMLTableColElement() {    [native code]}'
+PASS 'function HTMLTableColElement() {    [native code]}' is 'function HTMLTableColElement() {    [native code]}'
+PASS 'function HTMLTableElement() {    [native code]}' is 'function HTMLTableElement() {    [native code]}'
+PASS 'function HTMLTableElement() {    [native code]}' is 'function HTMLTableElement() {    [native code]}'
+PASS 'function HTMLTableRowElement() {    [native code]}' is 'function HTMLTableRowElement() {    [native code]}'
+PASS 'function HTMLTableRowElement() {    [native code]}' is 'function HTMLTableRowElement() {    [native code]}'
+PASS 'function HTMLTableSectionElement() {    [native code]}' is 'function HTMLTableSectionElement() {    [native code]}'
+PASS 'function HTMLTableSectionElement() {    [native code]}' is 'function HTMLTableSectionElement() {    [native code]}'
+PASS 'function HTMLTextAreaElement() {    [native code]}' is 'function HTMLTextAreaElement() {    [native code]}'
+PASS 'function HTMLTextAreaElement() {    [native code]}' is 'function HTMLTextAreaElement() {    [native code]}'
+PASS 'function HTMLTitleElement() {    [native code]}' is 'function HTMLTitleElement() {    [native code]}'
+PASS 'function HTMLTitleElement() {    [native code]}' is 'function HTMLTitleElement() {    [native code]}'
+PASS 'function HTMLUListElement() {    [native code]}' is 'function HTMLUListElement() {    [native code]}'
+PASS 'function HTMLUListElement() {    [native code]}' is 'function HTMLUListElement() {    [native code]}'
+PASS 'function KeyboardEvent() {    [native code]}' is 'function KeyboardEvent() {    [native code]}'
+PASS 'function KeyboardEvent() {    [native code]}' is 'function KeyboardEvent() {    [native code]}'
+PASS 'function MediaList() {    [native code]}' is 'function MediaList() {    [native code]}'
+PASS 'function MediaList() {    [native code]}' is 'function MediaList() {    [native code]}'
+PASS 'function MouseEvent() {    [native code]}' is 'function MouseEvent() {    [native code]}'
+PASS 'function MouseEvent() {    [native code]}' is 'function MouseEvent() {    [native code]}'
+PASS 'function MutationEvent() {    [native code]}' is 'function MutationEvent() {    [native code]}'
+PASS 'function MutationEvent() {    [native code]}' is 'function MutationEvent() {    [native code]}'
+PASS 'function NamedNodeMap() {    [native code]}' is 'function NamedNodeMap() {    [native code]}'
+PASS 'function NamedNodeMap() {    [native code]}' is 'function NamedNodeMap() {    [native code]}'
+PASS 'function Node() {    [native code]}' is 'function Node() {    [native code]}'
+PASS 'function Node() {    [native code]}' is 'function Node() {    [native code]}'
+PASS 'function NodeFilter() {    [native code]}' is 'function NodeFilter() {    [native code]}'
+PASS 'function NodeFilter() {    [native code]}' is 'function NodeFilter() {    [native code]}'
+PASS 'function NodeList() {    [native code]}' is 'function NodeList() {    [native code]}'
+PASS 'function NodeList() {    [native code]}' is 'function NodeList() {    [native code]}'
+PASS 'function OverconstrainedError() {    [native code]}' is 'function OverconstrainedError() {    [native code]}'
+PASS 'function OverconstrainedError() {    [native code]}' is 'function OverconstrainedError() {    [native code]}'
+PASS 'function OverflowEvent() {    [native code]}' is 'function OverflowEvent() {    [native code]}'
+PASS 'function OverflowEvent() {    [native code]}' is 'function OverflowEvent() {    [native code]}'
+PASS 'function ProcessingInstruction() {    [native code]}' is 'function ProcessingInstruction() {    [native code]}'
+PASS 'function ProcessingInstruction() {    [native code]}' is 'function ProcessingInstruction() {    [native code]}'
+PASS 'function ProgressEvent() {    [native code]}' is 'function ProgressEvent() {    [native code]}'
+PASS 'function ProgressEvent() {    [native code]}' is 'function ProgressEvent() {    [native code]}'
+PASS 'function Range() {    [native code]}' is 'function Range() {    [native code]}'
+PASS 'function Range() {    [native code]}' is 'function Range() {    [native code]}'
+PASS 'function Rect() {    [native code]}' is 'function Rect() {    [native code]}'
+PASS 'function Rect() {    [native code]}' is 'function Rect() {    [native code]}'
+PASS 'function SVGAngle() {    [native code]}' is 'function SVGAngle() {    [native code]}'
+PASS 'function SVGAngle() {    [native code]}' is 'function SVGAngle() {    [native code]}'
+PASS 'function SVGGradientElement() {    [native code]}' is 'function SVGGradientElement() {    [native code]}'
+PASS 'function SVGGradientElement() {    [native code]}' is 'function SVGGradientElement() {    [native code]}'
+PASS 'function SVGLength() {    [native code]}' is 'function SVGLength() {    [native code]}'
+PASS 'function SVGLength() {    [native code]}' is 'function SVGLength() {    [native code]}'
+PASS 'function SVGMarkerElement() {    [native code]}' is 'function SVGMarkerElement() {    [native code]}'
+PASS 'function SVGMarkerElement() {    [native code]}' is 'function SVGMarkerElement() {    [native code]}'
+PASS 'function SVGPathSeg() {    [native code]}' is 'function SVGPathSeg() {    [native code]}'
+PASS 'function SVGPathSeg() {    [native code]}' is 'function SVGPathSeg() {    [native code]}'
+PASS 'function SVGPreserveAspectRatio() {    [native code]}' is 'function SVGPreserveAspectRatio() {    [native code]}'
+PASS 'function SVGPreserveAspectRatio() {    [native code]}' is 'function SVGPreserveAspectRatio() {    [native code]}'
+PASS 'function SVGRenderingIntent() {    [native code]}' is 'function SVGRenderingIntent() {    [native code]}'
+PASS 'function SVGRenderingIntent() {    [native code]}' is 'function SVGRenderingIntent() {    [native code]}'
+PASS 'function SVGTextContentElement() {    [native code]}' is 'function SVGTextContentElement() {    [native code]}'
+PASS 'function SVGTextContentElement() {    [native code]}' is 'function SVGTextContentElement() {    [native code]}'
+PASS 'function SVGTextPathElement() {    [native code]}' is 'function SVGTextPathElement() {    [native code]}'
+PASS 'function SVGTextPathElement() {    [native code]}' is 'function SVGTextPathElement() {    [native code]}'
+PASS 'function SVGTransform() {    [native code]}' is 'function SVGTransform() {    [native code]}'
+PASS 'function SVGTransform() {    [native code]}' is 'function SVGTransform() {    [native code]}'
+PASS 'function SVGUnitTypes() {    [native code]}' is 'function SVGUnitTypes() {    [native code]}'
+PASS 'function SVGUnitTypes() {    [native code]}' is 'function SVGUnitTypes() {    [native code]}'
+PASS 'function StyleSheet() {    [native code]}' is 'function StyleSheet() {    [native code]}'
+PASS 'function StyleSheet() {    [native code]}' is 'function StyleSheet() {    [native code]}'
+PASS 'function StyleSheetList() {    [native code]}' is 'function StyleSheetList() {    [native code]}'
+PASS 'function StyleSheetList() {    [native code]}' is 'function StyleSheetList() {    [native code]}'
+PASS 'function Text() {    [native code]}' is 'function Text() {    [native code]}'
+PASS 'function Text() {    [native code]}' is 'function Text() {    [native code]}'
+PASS 'function TextEvent() {    [native code]}' is 'function TextEvent() {    [native code]}'
+PASS 'function TextEvent() {    [native code]}' is 'function TextEvent() {    [native code]}'
+PASS 'function UIEvent() {    [native code]}' is 'function UIEvent() {    [native code]}'
+PASS 'function UIEvent() {    [native code]}' is 'function UIEvent() {    [native code]}'
+PASS 'function WheelEvent() {    [native code]}' is 'function WheelEvent() {    [native code]}'
+PASS 'function WheelEvent() {    [native code]}' is 'function WheelEvent() {    [native code]}'
+PASS 'function XMLDocument() {    [native code]}' is 'function XMLDocument() {    [native code]}'
+PASS 'function XMLDocument() {    [native code]}' is 'function XMLDocument() {    [native code]}'
+PASS 'function XMLHttpRequest() {    [native code]}' is 'function XMLHttpRequest() {    [native code]}'
+PASS 'function XMLHttpRequest() {    [native code]}' is 'function XMLHttpRequest() {    [native code]}'
+PASS 'function XMLSerializer() {    [native code]}' is 'function XMLSerializer() {    [native code]}'
+PASS 'function XMLSerializer() {    [native code]}' is 'function XMLSerializer() {    [native code]}'
+PASS 'function XPathEvaluator() {    [native code]}' is 'function XPathEvaluator() {    [native code]}'
+PASS 'function XPathEvaluator() {    [native code]}' is 'function XPathEvaluator() {    [native code]}'
+PASS 'function XPathResult() {    [native code]}' is 'function XPathResult() {    [native code]}'
+PASS 'function XPathResult() {    [native code]}' is 'function XPathResult() {    [native code]}'
+PASS 'function XSLTProcessor() {    [native code]}' is 'function XSLTProcessor() {    [native code]}'
+PASS 'function XSLTProcessor() {    [native code]}' is 'function XSLTProcessor() {    [native code]}'
+PASS win['onload'] is null
+PASS win['onload'] is null
+PASS win['frames'] == '[object Window]' is true
+PASS win['frames'] == '[object Window]' is true
+PASS win['parent'] == '[object Window]' is true
+PASS win['parent'] == '[object Window]' is true
+PASS win['self'] == '[object Window]' is true
+PASS win['self'] == '[object Window]' is true
+PASS win['top'] == '[object Window]' is true
+PASS win['top'] == '[object Window]' is true
+PASS win['window'] == '[object Window]' is true
+PASS win['window'] == '[object Window]' is true
+PASS win['locationbar'] == '[object BarProp]' is true
+PASS win['locationbar'] == '[object BarProp]' is true
+PASS win['menubar'] == '[object BarProp]' is true
+PASS win['menubar'] == '[object BarProp]' is true
+PASS win['personalbar'] == '[object BarProp]' is true
+PASS win['personalbar'] == '[object BarProp]' is true
+PASS win['scrollbars'] == '[object BarProp]' is true
+PASS win['scrollbars'] == '[object BarProp]' is true
+PASS win['statusbar'] == '[object BarProp]' is true
+PASS win['statusbar'] == '[object BarProp]' is true
+PASS win['toolbar'] == '[object BarProp]' is true
+PASS win['toolbar'] == '[object BarProp]' is true
+PASS win['console'] == '[object Console]' is true
+PASS win['history'] == '[object History]' is true
+PASS win['navigator'] == '[object Navigator]' is true
+PASS win['navigator'] == '[object Navigator]' is true
+PASS win['screen'] == '[object Screen]' is true
+PASS win['screen'] == '[object Screen]' is true
+PASS win['clientInformation'] == '[object Navigator]' is true
+PASS win['clientInformation'] == '[object Navigator]' is true
+PASS win['document'] == '[object HTMLDocument]' is true
+PASS win['document'] == '[object HTMLDocument]' is true
+PASS win['location'] matched original
+PASS win['location'] matched original
+PASS win['onabort'] is null
+PASS win['onabort'] is null
+PASS win['onbeforeunload'] is null
+PASS win['onbeforeunload'] is null
+PASS win['onblur'] is null
+PASS win['onblur'] is null
+PASS win['onchange'] is null
+PASS win['onchange'] is null
+PASS win['onclick'] is null
+PASS win['onclick'] is null
+PASS win['ondblclick'] is null
+PASS win['ondblclick'] is null
+PASS win['onerror'] is null
+PASS win['onerror'] is null
+PASS win['onfocus'] is null
+PASS win['onfocus'] is null
+PASS win['onkeydown'] is null
+PASS win['onkeydown'] is null
+PASS win['onkeypress'] is null
+PASS win['onkeypress'] is null
+PASS win['onkeyup'] is null
+PASS win['onkeyup'] is null
+PASS win['onmousedown'] is null
+PASS win['onmousedown'] is null
+PASS win['onmousemove'] is null
+PASS win['onmousemove'] is null
+PASS win['onmouseout'] is null
+PASS win['onmouseout'] is null
+PASS win['onmouseover'] is null
+PASS win['onmouseover'] is null
+PASS win['onmouseup'] is null
+PASS win['onmouseup'] is null
+PASS win['onmousewheel'] is null
+PASS win['onmousewheel'] is null
+PASS win['onreset'] is null
+PASS win['onreset'] is null
+PASS win['onresize'] is null
+PASS win['onresize'] is null
+PASS win['onscroll'] is null
+PASS win['onscroll'] is null
+PASS win['onsearch'] is null
+PASS win['onsearch'] is null
+PASS win['onselect'] is null
+PASS win['onselect'] is null
+PASS win['onsubmit'] is null
+PASS win['onsubmit'] is null
+PASS win['onunload'] is null
+PASS win['onunload'] is null
+PASS win['opener'] is null
+PASS win['opener'] is null
+FAIL win['defaultStatus'] should be undefined (of type undefined). Was  (of type string).
+FAIL win['defaultStatus'] should be undefined (of type undefined). Was  (of type string).
+FAIL win['defaultstatus'] should be undefined (of type undefined). Was  (of type string).
+FAIL win['defaultstatus'] should be undefined (of type undefined). Was  (of type string).
+FAIL win['name'] should be undefined (of type undefined). Was  (of type string).
+FAIL win['name'] should be undefined (of type undefined). Was  (of type string).
+FAIL win['status'] should be undefined (of type undefined). Was  (of type string).
+FAIL win['status'] should be undefined (of type undefined). Was  (of type string).
+PASS win['devicePixelRatio'] matched original
+PASS win['devicePixelRatio'] matched original
+PASS win['innerHeight'] matched original
+PASS win['innerHeight'] matched original
+PASS win['innerWidth'] matched original
+PASS win['innerWidth'] matched original
+PASS win['length'] matched original
+PASS win['length'] matched original
+PASS win['outerHeight'] matched original
+PASS win['outerHeight'] matched original
+PASS win['outerWidth'] matched original
+PASS win['outerWidth'] matched original
+PASS win['pageXOffset'] matched original
+PASS win['pageXOffset'] matched original
+PASS win['pageYOffset'] matched original
+PASS win['pageYOffset'] matched original
+PASS win['screenLeft'] matched original
+PASS win['screenLeft'] matched original
+PASS win['screenTop'] matched original
+PASS win['screenTop'] matched original
+PASS win['screenX'] matched original
+PASS win['screenX'] matched original
+PASS win['screenY'] matched original
+PASS win['screenY'] matched original
+PASS win['scrollX'] matched original
+PASS win['scrollX'] matched original
+PASS win['scrollY'] matched original
+PASS win['scrollY'] matched original
+PASS typeof win['closed'] is 'boolean'
+PASS win['closed'] is false
+PASS typeof win['closed'] is 'boolean'
+PASS win['closed'] is false
+PASS typeof win['offscreenBuffering'] is 'boolean'
+PASS win['offscreenBuffering'] is true
+PASS typeof win['offscreenBuffering'] is 'boolean'
+PASS win['offscreenBuffering'] is true
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/platform/mac-wk2/fast/forms/label/labelable-elements-expected.txt b/LayoutTests/platform/mac-wk2/fast/forms/label/labelable-elements-expected.txt
new file mode 100644 (file)
index 0000000..ff6e41a
--- /dev/null
@@ -0,0 +1,130 @@
+Test labelable elements have labels attribute and others do not.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+
+Labelable: button [object HTMLButtonElement]
+PASS element.labels.length is 1
+
+Not labelable: datalist [object HTMLDataListElement]
+PASS element.labels is undefined.
+PASS element.labels is not null
+
+Not labelable: fieldset [object HTMLFieldSetElement]
+PASS element.labels is undefined.
+PASS element.labels is not null
+
+Labelable: input [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: keygen [object HTMLKeygenElement]
+PASS element.labels.length is 1
+
+Not labelable: label [object HTMLLabelElement]
+PASS element.labels is undefined.
+PASS element.labels is not null
+
+Not labelable: legend [object HTMLLegendElement]
+PASS element.labels is undefined.
+PASS element.labels is not null
+
+Labelable: meter [object HTMLMeterElement]
+PASS element.labels.length is 1
+
+Not labelable: object [object HTMLObjectElement]
+PASS element.labels is undefined.
+PASS element.labels is not null
+
+Not labelable: optgroup [object HTMLOptGroupElement]
+PASS element.labels is undefined.
+PASS element.labels is not null
+
+Not labelable: option [object HTMLOptionElement]
+PASS element.labels is undefined.
+PASS element.labels is not null
+
+Labelable: output [object HTMLOutputElement]
+PASS element.labels.length is 1
+
+Labelable: progress [object HTMLProgressElement]
+PASS element.labels.length is 1
+
+Labelable: select [object HTMLSelectElement]
+PASS element.labels.length is 1
+
+Labelable: textarea [object HTMLTextAreaElement]
+PASS element.labels.length is 1
+
+Labelable: buttonType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: checkboxType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: colorType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: dateType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: datetimeType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: datetime-localType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: emailType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: fileType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Not labelable: hiddenType [object HTMLInputElement]
+PASS element.labels is null
+
+Labelable: imageType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: monthType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: numberType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: passwordType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: radioType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: rangeType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: resetType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: searchType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: submitType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: telType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: textType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: timeType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: urlType [object HTMLInputElement]
+PASS element.labels.length is 1
+
+Labelable: weekType [object HTMLInputElement]
+PASS element.labels.length is 1
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
diff --git a/LayoutTests/platform/mac-wk2/fast/forms/label/readwrite-readonly-expected.txt b/LayoutTests/platform/mac-wk2/fast/forms/label/readwrite-readonly-expected.txt
new file mode 100644 (file)
index 0000000..083e08b
--- /dev/null
@@ -0,0 +1,26 @@
+
+PASS The :read-write pseudo-class must not match input elements to which the readonly attribute does not apply 
+PASS The :read-only pseudo-class must match input elements to which the readonly attribute does not apply 
+PASS The :read-write pseudo-class must match input elements to which the readonly attribute applies, and that are mutable 
+FAIL The :read-only pseudo-class must not match input elements to which the readonly attribute applies, and that are mutable assert_array_equals: lengths differ, expected 1 got 4
+PASS The :read-write pseudo-class must not match input elements after the readonly attribute has been added 
+FAIL The :read-only pseudo-class must match input elements after the readonly attribute has been added assert_array_equals: lengths differ, expected 2 got 5
+PASS The :read-write pseudo-class must not match input elements after the readonly attribute has been removed 
+FAIL The :read-only pseudo-class must match input elements after the readonly attribute has been removed assert_array_equals: lengths differ, expected 1 got 4
+PASS The :read-write pseudo-class must match textarea elements that do not have a readonly attribute, and that are not disabled 
+PASS The :read-only pseudo-class must match textarea elements that have a readonly attribute, or that are disabled 
+PASS The :read-write pseudo-class must match textarea elements after the readonly attribute has been added 
+PASS The :read-only pseudo-class must match textarea elements after the readonly attribute has been added 
+PASS The :read-write pseudo-class must not match textarea elements that are disabled 
+PASS The :read-only pseudo-class must match textarea elements that are disabled 
+PASS The :read-write pseudo-class must match elements that are editable 
+PASS The :read-only pseudo-class must not match elements that are editable 
+PASS The :read-write pseudo-class must match elements that are editing hosts 
+PASS The :read-only pseudo-class must not match elements that are editing hosts 
+         
+    
+paragraph1.
+
+paragraph2.
diff --git a/LayoutTests/platform/mac-wk2/fast/selectors/read-only-read-write-input-basics-expected.txt b/LayoutTests/platform/mac-wk2/fast/selectors/read-only-read-write-input-basics-expected.txt
new file mode 100644 (file)
index 0000000..5f1f4b0
--- /dev/null
@@ -0,0 +1,1907 @@
+Test the basic features of ":read-only", ":read-write" on the <input> element. The definion is that ":read-write" is matches for "input elements to which the readonly attribute applies, and that are mutable (i.e. that do not have the readonly attribute specified and that are not disabled)"
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+Testing hidden
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+Testing text
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+Testing search
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 1
+PASS document.querySelector("input:read-write") is document.getElementById("testcase")
+PASS document.querySelectorAll("input:read-only").length is 0
+PASS document.querySelector("input:read-only") is null
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(4, 5, 6)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(255, 255, 255)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input:read-write") is null
+PASS document.querySelectorAll("input:read-only").length is 1
+PASS document.querySelector("input:read-only") is document.getElementById("testcase")
+PASS getComputedStyle(document.getElementById("testcase")).color is "rgb(0, 0, 0)"
+PASS getComputedStyle(document.getElementById("testcase")).backgroundColor is "rgb(1, 2, 3)"
+PASS document.querySelectorAll("input:read-write").length is 0
+PASS document.querySelector("input