aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/wpt/metadata/MANIFEST.json45
-rw-r--r--tests/wpt/metadata/dom/interfaces.html.ini12
-rw-r--r--tests/wpt/metadata/dom/nodes/DOMImplementation-createDocument.html.ini239
-rw-r--r--tests/wpt/metadata/dom/nodes/DOMImplementation-createHTMLDocument.html.ini3
-rw-r--r--tests/wpt/metadata/dom/nodes/Document-constructor.html.ini3
-rw-r--r--tests/wpt/metadata/dom/nodes/Node-properties.html.ini11
-rw-r--r--tests/wpt/metadata/domparsing/DOMParser-parseFromString-html.html.ini3
-rw-r--r--tests/wpt/metadata/html/dom/interfaces.html.ini702
-rw-r--r--tests/wpt/metadata/html/semantics/forms/constraints/form-validation-validity-valueMissing.html.ini3
-rw-r--r--tests/wpt/metadata/html/semantics/forms/constraints/form-validation-willValidate.html.ini45
-rw-r--r--tests/wpt/metadata/html/semantics/interfaces.html.ini12
-rw-r--r--tests/wpt/metadata/mozilla-sync2
-rw-r--r--tests/wpt/web-platform-tests/docs/test-format-guidelines.md3
-rw-r--r--tests/wpt/web-platform-tests/dom/interfaces.html1
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/DOMImplementation-createDocument.html9
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/DOMImplementation-createHTMLDocument.html8
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/Document-characterSet-normalization.html6
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/Document-constructor.html8
-rw-r--r--tests/wpt/web-platform-tests/dom/nodes/Node-properties.html5
-rw-r--r--tests/wpt/web-platform-tests/domparsing/DOMParser-parseFromString-html.html4
-rw-r--r--tests/wpt/web-platform-tests/domparsing/DOMParser-parseFromString-xml.html1
-rw-r--r--tests/wpt/web-platform-tests/html/dom/interfaces.html1
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-tooLong.html6
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing.html2
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate.html8
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/constraints/support/validator.js18
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-input-email-delete-manual.html30
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-input-password-delete-manual.html30
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-input-search-delete-manual.html30
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-input-tel-delete-manual.html30
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-input-text-delete-manual.html (renamed from tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-manual.html)2
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-input-url-delete-manual.html30
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-textarea-delete-manual.html30
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/the-label-element/label-attributes.html2
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/interfaces.js3
-rw-r--r--tests/wpt/web-platform-tests/subresource-integrity/subresource-integrity.html54
-rw-r--r--tests/wpt/web-platform-tests/touch-events/multi-touch-interactions.js2
37 files changed, 1341 insertions, 62 deletions
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index d09570f6932..86cfdccb8fa 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -710,8 +710,32 @@
"url": "/html/semantics/forms/attributes-common-to-form-controls/dirname-rtl-manual.html"
},
{
- "path": "html/semantics/forms/constraints/tooLong-manual.html",
- "url": "/html/semantics/forms/constraints/tooLong-manual.html"
+ "path": "html/semantics/forms/constraints/tooLong-input-email-delete-manual.html",
+ "url": "/html/semantics/forms/constraints/tooLong-input-email-delete-manual.html"
+ },
+ {
+ "path": "html/semantics/forms/constraints/tooLong-input-password-delete-manual.html",
+ "url": "/html/semantics/forms/constraints/tooLong-input-password-delete-manual.html"
+ },
+ {
+ "path": "html/semantics/forms/constraints/tooLong-input-search-delete-manual.html",
+ "url": "/html/semantics/forms/constraints/tooLong-input-search-delete-manual.html"
+ },
+ {
+ "path": "html/semantics/forms/constraints/tooLong-input-tel-delete-manual.html",
+ "url": "/html/semantics/forms/constraints/tooLong-input-tel-delete-manual.html"
+ },
+ {
+ "path": "html/semantics/forms/constraints/tooLong-input-text-delete-manual.html",
+ "url": "/html/semantics/forms/constraints/tooLong-input-text-delete-manual.html"
+ },
+ {
+ "path": "html/semantics/forms/constraints/tooLong-input-url-delete-manual.html",
+ "url": "/html/semantics/forms/constraints/tooLong-input-url-delete-manual.html"
+ },
+ {
+ "path": "html/semantics/forms/constraints/tooLong-textarea-delete-manual.html",
+ "url": "/html/semantics/forms/constraints/tooLong-textarea-delete-manual.html"
},
{
"path": "html/semantics/forms/the-input-element/file-manual.html",
@@ -14684,6 +14708,10 @@
"url": "/html/browsers/history/the-location-interface/location_protocol.html"
},
{
+ "path": "html/browsers/history/the-location-interface/location_reload.html",
+ "url": "/html/browsers/history/the-location-interface/location_reload.html"
+ },
+ {
"path": "html/browsers/history/the-location-interface/location_replace.html",
"url": "/html/browsers/history/the-location-interface/location_replace.html"
},
@@ -29184,16 +29212,7 @@
},
"local_changes": {
"deleted": [],
- "items": {
- "testharness": {
- "html/browsers/history/the-location-interface/location_reload.html": [
- {
- "path": "html/browsers/history/the-location-interface/location_reload.html",
- "url": "/html/browsers/history/the-location-interface/location_reload.html"
- }
- ]
- }
- },
+ "items": {},
"reftest_nodes": {}
},
"reftest_nodes": {
@@ -34586,7 +34605,7 @@
}
]
},
- "rev": "71a0d51d14d8b0f1b53cda3a7d39ef8765164485",
+ "rev": "0159b3ec9ba5355a3340621226e02ae026effd7f",
"url_base": "/",
"version": 2
} \ No newline at end of file
diff --git a/tests/wpt/metadata/dom/interfaces.html.ini b/tests/wpt/metadata/dom/interfaces.html.ini
index cd3e7f910bb..88e87cf563d 100644
--- a/tests/wpt/metadata/dom/interfaces.html.ini
+++ b/tests/wpt/metadata/dom/interfaces.html.ini
@@ -264,3 +264,15 @@
[DOMSettableTokenList interface: attribute value]
expected: FAIL
+ [Document interface: attribute charset]
+ expected: FAIL
+
+ [Document interface: xmlDoc must inherit property "charset" with the proper type (6)]
+ expected: FAIL
+
+ [Document interface: xmlDoc must inherit property "query" with the proper type (35)]
+ expected: FAIL
+
+ [Document interface: xmlDoc must inherit property "queryAll" with the proper type (36)]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/dom/nodes/DOMImplementation-createDocument.html.ini b/tests/wpt/metadata/dom/nodes/DOMImplementation-createDocument.html.ini
new file mode 100644
index 00000000000..a2296e39396
--- /dev/null
+++ b/tests/wpt/metadata/dom/nodes/DOMImplementation-createDocument.html.ini
@@ -0,0 +1,239 @@
+[DOMImplementation-createDocument.html]
+ type: testharness
+ [createDocument test 0: characterSet aliases for null,undefined,null]
+ expected: FAIL
+
+ [createDocument test 1: characterSet aliases for null,"foo",null]
+ expected: FAIL
+
+ [createDocument test 3: characterSet aliases for null,"f1oo",null]
+ expected: FAIL
+
+ [createDocument test 4: characterSet aliases for null,"foo1",null]
+ expected: FAIL
+
+ [createDocument test 22: characterSet aliases for null,"xml",null]
+ expected: FAIL
+
+ [createDocument test 24: characterSet aliases for null,"xmlfoo",null]
+ expected: FAIL
+
+ [createDocument test 32: characterSet aliases for undefined,undefined,null]
+ expected: FAIL
+
+ [createDocument test 33: characterSet aliases for undefined,"foo",null]
+ expected: FAIL
+
+ [createDocument test 35: characterSet aliases for undefined,"f1oo",null]
+ expected: FAIL
+
+ [createDocument test 36: characterSet aliases for undefined,"foo1",null]
+ expected: FAIL
+
+ [createDocument test 40: characterSet aliases for undefined,"xml",null]
+ expected: FAIL
+
+ [createDocument test 42: characterSet aliases for undefined,"xmlfoo",null]
+ expected: FAIL
+
+ [createDocument test 46: characterSet aliases for "http://example.com/","foo",null]
+ expected: FAIL
+
+ [createDocument test 48: characterSet aliases for "http://example.com/","f1oo",null]
+ expected: FAIL
+
+ [createDocument test 49: characterSet aliases for "http://example.com/","foo1",null]
+ expected: FAIL
+
+ [createDocument test 51: characterSet aliases for "http://example.com/","f:oo",null]
+ expected: FAIL
+
+ [createDocument test 53: characterSet aliases for "http://example.com/","_:_",null]
+ expected: FAIL
+
+ [createDocument test 54: characterSet aliases for "http://example.com/","_:h0",null]
+ expected: FAIL
+
+ [createDocument test 55: characterSet aliases for "http://example.com/","_:test",null]
+ expected: FAIL
+
+ [createDocument test 56: characterSet aliases for "http://example.com/","l_:_",null]
+ expected: FAIL
+
+ [createDocument test 57: characterSet aliases for "http://example.com/","ns:_0",null]
+ expected: FAIL
+
+ [createDocument test 58: characterSet aliases for "http://example.com/","ns:a0",null]
+ expected: FAIL
+
+ [createDocument test 59: characterSet aliases for "http://example.com/","ns0:test",null]
+ expected: FAIL
+
+ [createDocument test 60: characterSet aliases for "http://example.com/","a.b:c",null]
+ expected: FAIL
+
+ [createDocument test 61: characterSet aliases for "http://example.com/","a-b:c",null]
+ expected: FAIL
+
+ [createDocument test 62: characterSet aliases for "http://example.com/","a-b:c",null]
+ expected: FAIL
+
+ [createDocument test 63: characterSet aliases for "http://example.com/","xml",null]
+ expected: FAIL
+
+ [createDocument test 65: characterSet aliases for "http://example.com/","XMLNS",null]
+ expected: FAIL
+
+ [createDocument test 66: characterSet aliases for "http://example.com/","xmlfoo",null]
+ expected: FAIL
+
+ [createDocument test 68: characterSet aliases for "http://example.com/","XML:foo",null]
+ expected: FAIL
+
+ [createDocument test 70: characterSet aliases for "http://example.com/","XMLNS:foo",null]
+ expected: FAIL
+
+ [createDocument test 71: characterSet aliases for "http://example.com/","xmlfoo:bar",null]
+ expected: FAIL
+
+ [createDocument test 100: characterSet aliases for "/","foo",null]
+ expected: FAIL
+
+ [createDocument test 102: characterSet aliases for "/","f1oo",null]
+ expected: FAIL
+
+ [createDocument test 103: characterSet aliases for "/","foo1",null]
+ expected: FAIL
+
+ [createDocument test 105: characterSet aliases for "/","f:oo",null]
+ expected: FAIL
+
+ [createDocument test 107: characterSet aliases for "/","xml",null]
+ expected: FAIL
+
+ [createDocument test 109: characterSet aliases for "/","xmlfoo",null]
+ expected: FAIL
+
+ [createDocument test 112: characterSet aliases for "/","xmlfoo:bar",null]
+ expected: FAIL
+
+ [createDocument test 113: characterSet aliases for "http://www.w3.org/XML/1998/namespace","foo",null]
+ expected: FAIL
+
+ [createDocument test 115: characterSet aliases for "http://www.w3.org/XML/1998/namespace","f1oo",null]
+ expected: FAIL
+
+ [createDocument test 116: characterSet aliases for "http://www.w3.org/XML/1998/namespace","foo1",null]
+ expected: FAIL
+
+ [createDocument test 118: characterSet aliases for "http://www.w3.org/XML/1998/namespace","f:oo",null]
+ expected: FAIL
+
+ [createDocument test 120: characterSet aliases for "http://www.w3.org/XML/1998/namespace","xml",null]
+ expected: FAIL
+
+ [createDocument test 122: characterSet aliases for "http://www.w3.org/XML/1998/namespace","xmlfoo",null]
+ expected: FAIL
+
+ [createDocument test 123: characterSet aliases for "http://www.w3.org/XML/1998/namespace","xml:foo",null]
+ expected: FAIL
+
+ [createDocument test 125: characterSet aliases for "http://www.w3.org/XML/1998/namespace","xmlfoo:bar",null]
+ expected: FAIL
+
+ [createDocument test 136: characterSet aliases for "http://www.w3.org/2000/xmlns/","xmlns",null]
+ expected: FAIL
+
+ [createDocument test 139: characterSet aliases for "http://www.w3.org/2000/xmlns/","xmlns:foo",null]
+ expected: FAIL
+
+ [createDocument test 142: characterSet aliases for "foo:","foo",null]
+ expected: FAIL
+
+ [createDocument test 144: characterSet aliases for "foo:","f1oo",null]
+ expected: FAIL
+
+ [createDocument test 145: characterSet aliases for "foo:","foo1",null]
+ expected: FAIL
+
+ [createDocument test 147: characterSet aliases for "foo:","f:oo",null]
+ expected: FAIL
+
+ [createDocument test 149: characterSet aliases for "foo:","xml",null]
+ expected: FAIL
+
+ [createDocument test 151: characterSet aliases for "foo:","xmlfoo",null]
+ expected: FAIL
+
+ [createDocument test 154: characterSet aliases for "foo:","xmlfoo:bar",null]
+ expected: FAIL
+
+ [createDocument test 156: characterSet aliases for null,null,null]
+ expected: FAIL
+
+ [createDocument test 157: characterSet aliases for null,"",null]
+ expected: FAIL
+
+ [createDocument test 158: characterSet aliases for undefined,null,undefined]
+ expected: FAIL
+
+ [createDocument test 159: characterSet aliases for undefined,undefined,undefined]
+ expected: FAIL
+
+ [createDocument test 160: characterSet aliases for undefined,"",undefined]
+ expected: FAIL
+
+ [createDocument test 161: characterSet aliases for "http://example.com/",null,null]
+ expected: FAIL
+
+ [createDocument test 162: characterSet aliases for "http://example.com/","",null]
+ expected: FAIL
+
+ [createDocument test 163: characterSet aliases for "/",null,null]
+ expected: FAIL
+
+ [createDocument test 164: characterSet aliases for "/","",null]
+ expected: FAIL
+
+ [createDocument test 165: characterSet aliases for "http://www.w3.org/XML/1998/namespace",null,null]
+ expected: FAIL
+
+ [createDocument test 166: characterSet aliases for "http://www.w3.org/XML/1998/namespace","",null]
+ expected: FAIL
+
+ [createDocument test 167: characterSet aliases for "http://www.w3.org/2000/xmlns/",null,null]
+ expected: FAIL
+
+ [createDocument test 168: characterSet aliases for "http://www.w3.org/2000/xmlns/","",null]
+ expected: FAIL
+
+ [createDocument test 169: characterSet aliases for "foo:",null,null]
+ expected: FAIL
+
+ [createDocument test 170: characterSet aliases for "foo:","",null]
+ expected: FAIL
+
+ [createDocument test 171: characterSet aliases for null,null,DocumentType node]
+ expected: FAIL
+
+ [createDocument test 172: characterSet aliases for null,null,DocumentType node]
+ expected: FAIL
+
+ [createDocument test 173: characterSet aliases for null,null,DocumentType node]
+ expected: FAIL
+
+ [createDocument test 174: characterSet aliases for null,null,DocumentType node]
+ expected: FAIL
+
+ [createDocument test 175: characterSet aliases for null,null,DocumentType node]
+ expected: FAIL
+
+ [createDocument test 176: characterSet aliases for null,"foo",DocumentType node]
+ expected: FAIL
+
+ [createDocument test 177: characterSet aliases for "foo",null,DocumentType node]
+ expected: FAIL
+
+ [createDocument test 178: characterSet aliases for "foo","bar",DocumentType node]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/dom/nodes/DOMImplementation-createHTMLDocument.html.ini b/tests/wpt/metadata/dom/nodes/DOMImplementation-createHTMLDocument.html.ini
index 62f37b72e10..b3d805e284b 100644
--- a/tests/wpt/metadata/dom/nodes/DOMImplementation-createHTMLDocument.html.ini
+++ b/tests/wpt/metadata/dom/nodes/DOMImplementation-createHTMLDocument.html.ini
@@ -6,3 +6,6 @@
[createHTMLDocument test 2: undefined,undefined,""]
expected: FAIL
+ [createHTMLDocument(): characterSet aliases]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/dom/nodes/Document-constructor.html.ini b/tests/wpt/metadata/dom/nodes/Document-constructor.html.ini
index fe66c38792e..b817f3e85b7 100644
--- a/tests/wpt/metadata/dom/nodes/Document-constructor.html.ini
+++ b/tests/wpt/metadata/dom/nodes/Document-constructor.html.ini
@@ -6,3 +6,6 @@
[new Document(): URL parsing]
expected: FAIL
+ [new Document(): characterSet aliases]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/dom/nodes/Node-properties.html.ini b/tests/wpt/metadata/dom/nodes/Node-properties.html.ini
new file mode 100644
index 00000000000..346825479be
--- /dev/null
+++ b/tests/wpt/metadata/dom/nodes/Node-properties.html.ini
@@ -0,0 +1,11 @@
+[Node-properties.html]
+ type: testharness
+ [document.charset]
+ expected: FAIL
+
+ [foreignDoc.charset]
+ expected: FAIL
+
+ [xmlDoc.charset]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/domparsing/DOMParser-parseFromString-html.html.ini b/tests/wpt/metadata/domparsing/DOMParser-parseFromString-html.html.ini
index 064dfd76d81..4a4e859ea33 100644
--- a/tests/wpt/metadata/domparsing/DOMParser-parseFromString-html.html.ini
+++ b/tests/wpt/metadata/domparsing/DOMParser-parseFromString-html.html.ini
@@ -3,3 +3,6 @@
[Location value]
expected: FAIL
+ [charset]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/dom/interfaces.html.ini b/tests/wpt/metadata/html/dom/interfaces.html.ini
index f228de71e9c..29648c39c4b 100644
--- a/tests/wpt/metadata/html/dom/interfaces.html.ini
+++ b/tests/wpt/metadata/html/dom/interfaces.html.ini
@@ -8883,3 +8883,705 @@
[HTMLOptionElement interface: new Option() must inherit property "index" with the proper type (7)]
expected: FAIL
+ [Document interface: iframe.contentDocument must inherit property "charset" with the proper type (6)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "inputEncoding" with the proper type (7)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "contentType" with the proper type (8)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "doctype" with the proper type (9)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "documentElement" with the proper type (10)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "getElementsByTagName" with the proper type (11)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "getElementsByTagNameNS" with the proper type (12)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "getElementsByClassName" with the proper type (13)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "createElement" with the proper type (14)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "createElementNS" with the proper type (15)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "createDocumentFragment" with the proper type (16)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "createTextNode" with the proper type (17)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "createComment" with the proper type (18)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "createProcessingInstruction" with the proper type (19)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "importNode" with the proper type (20)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "adoptNode" with the proper type (21)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "createAttribute" with the proper type (22)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "createAttributeNS" with the proper type (23)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "createEvent" with the proper type (24)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "createRange" with the proper type (25)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "createNodeIterator" with the proper type (26)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "createTreeWalker" with the proper type (27)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "styleSheets" with the proper type (28)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "selectedStyleSheetSet" with the proper type (29)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "lastStyleSheetSet" with the proper type (30)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "preferredStyleSheetSet" with the proper type (31)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "styleSheetSets" with the proper type (32)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "enableStyleSheetsForSet" with the proper type (33)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "domain" with the proper type (35)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "referrer" with the proper type (36)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "cookie" with the proper type (37)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "lastModified" with the proper type (38)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "readyState" with the proper type (39)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "title" with the proper type (41)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "dir" with the proper type (42)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "body" with the proper type (43)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "head" with the proper type (44)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "images" with the proper type (45)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "embeds" with the proper type (46)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "plugins" with the proper type (47)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "links" with the proper type (48)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "forms" with the proper type (49)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "scripts" with the proper type (50)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "getElementsByName" with the proper type (51)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "getItems" with the proper type (52)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "cssElementMap" with the proper type (53)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "currentScript" with the proper type (54)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "open" with the proper type (56)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "close" with the proper type (57)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "write" with the proper type (58)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "writeln" with the proper type (59)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "defaultView" with the proper type (60)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "activeElement" with the proper type (61)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "hasFocus" with the proper type (62)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "designMode" with the proper type (63)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "execCommand" with the proper type (64)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "queryCommandEnabled" with the proper type (65)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "queryCommandIndeterm" with the proper type (66)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "queryCommandState" with the proper type (67)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "queryCommandSupported" with the proper type (68)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "queryCommandValue" with the proper type (69)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "commands" with the proper type (70)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onreadystatechange" with the proper type (71)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "fgColor" with the proper type (72)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "linkColor" with the proper type (73)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "vlinkColor" with the proper type (74)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "alinkColor" with the proper type (75)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "bgColor" with the proper type (76)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "anchors" with the proper type (77)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "applets" with the proper type (78)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "clear" with the proper type (79)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "captureEvents" with the proper type (80)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "releaseEvents" with the proper type (81)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "all" with the proper type (82)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "getElementById" with the proper type (83)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "children" with the proper type (84)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "firstElementChild" with the proper type (85)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "lastElementChild" with the proper type (86)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "childElementCount" with the proper type (87)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "prepend" with the proper type (88)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "append" with the proper type (89)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "query" with the proper type (90)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "queryAll" with the proper type (91)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "querySelector" with the proper type (92)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "querySelectorAll" with the proper type (93)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onabort" with the proper type (94)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onautocomplete" with the proper type (95)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onautocompleteerror" with the proper type (96)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onblur" with the proper type (97)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "oncancel" with the proper type (98)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "oncanplay" with the proper type (99)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "oncanplaythrough" with the proper type (100)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onchange" with the proper type (101)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onclick" with the proper type (102)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onclose" with the proper type (103)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "oncontextmenu" with the proper type (104)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "oncuechange" with the proper type (105)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "ondblclick" with the proper type (106)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "ondrag" with the proper type (107)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "ondragend" with the proper type (108)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "ondragenter" with the proper type (109)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "ondragexit" with the proper type (110)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "ondragleave" with the proper type (111)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "ondragover" with the proper type (112)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "ondragstart" with the proper type (113)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "ondrop" with the proper type (114)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "ondurationchange" with the proper type (115)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onemptied" with the proper type (116)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onended" with the proper type (117)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onerror" with the proper type (118)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onfocus" with the proper type (119)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "oninput" with the proper type (120)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "oninvalid" with the proper type (121)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onkeydown" with the proper type (122)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onkeypress" with the proper type (123)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onkeyup" with the proper type (124)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onload" with the proper type (125)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onloadeddata" with the proper type (126)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onloadedmetadata" with the proper type (127)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onloadstart" with the proper type (128)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onmousedown" with the proper type (129)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onmouseenter" with the proper type (130)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onmouseleave" with the proper type (131)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onmousemove" with the proper type (132)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onmouseout" with the proper type (133)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onmouseover" with the proper type (134)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onmouseup" with the proper type (135)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onmousewheel" with the proper type (136)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onpause" with the proper type (137)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onplay" with the proper type (138)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onplaying" with the proper type (139)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onprogress" with the proper type (140)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onratechange" with the proper type (141)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onreset" with the proper type (142)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onresize" with the proper type (143)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onscroll" with the proper type (144)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onseeked" with the proper type (145)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onseeking" with the proper type (146)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onselect" with the proper type (147)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onshow" with the proper type (148)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onsort" with the proper type (149)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onstalled" with the proper type (150)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onsubmit" with the proper type (151)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onsuspend" with the proper type (152)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "ontimeupdate" with the proper type (153)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "ontoggle" with the proper type (154)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onvolumechange" with the proper type (155)]
+ expected: FAIL
+
+ [Document interface: iframe.contentDocument must inherit property "onwaiting" with the proper type (156)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "charset" with the proper type (6)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "styleSheets" with the proper type (28)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "selectedStyleSheetSet" with the proper type (29)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "lastStyleSheetSet" with the proper type (30)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "preferredStyleSheetSet" with the proper type (31)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "styleSheetSets" with the proper type (32)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "enableStyleSheetsForSet" with the proper type (33)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "domain" with the proper type (35)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "referrer" with the proper type (36)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "dir" with the proper type (42)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "getItems" with the proper type (52)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "cssElementMap" with the proper type (53)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "open" with the proper type (56)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "close" with the proper type (57)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "write" with the proper type (58)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "writeln" with the proper type (59)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "designMode" with the proper type (63)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "execCommand" with the proper type (64)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "queryCommandEnabled" with the proper type (65)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "queryCommandIndeterm" with the proper type (66)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "queryCommandState" with the proper type (67)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "queryCommandSupported" with the proper type (68)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "queryCommandValue" with the proper type (69)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "commands" with the proper type (70)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "fgColor" with the proper type (72)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "linkColor" with the proper type (73)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "vlinkColor" with the proper type (74)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "alinkColor" with the proper type (75)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "all" with the proper type (82)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "query" with the proper type (90)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "queryAll" with the proper type (91)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onabort" with the proper type (94)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onautocomplete" with the proper type (95)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onautocompleteerror" with the proper type (96)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onblur" with the proper type (97)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "oncancel" with the proper type (98)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "oncanplay" with the proper type (99)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "oncanplaythrough" with the proper type (100)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onclose" with the proper type (103)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "oncontextmenu" with the proper type (104)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "oncuechange" with the proper type (105)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "ondblclick" with the proper type (106)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "ondrag" with the proper type (107)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "ondragend" with the proper type (108)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "ondragenter" with the proper type (109)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "ondragexit" with the proper type (110)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "ondragleave" with the proper type (111)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "ondragover" with the proper type (112)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "ondragstart" with the proper type (113)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "ondrop" with the proper type (114)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "ondurationchange" with the proper type (115)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onemptied" with the proper type (116)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onended" with the proper type (117)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onerror" with the proper type (118)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onfocus" with the proper type (119)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "oninvalid" with the proper type (121)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onloadeddata" with the proper type (126)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onloadedmetadata" with the proper type (127)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onloadstart" with the proper type (128)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmousedown" with the proper type (129)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmouseenter" with the proper type (130)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmouseleave" with the proper type (131)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmousemove" with the proper type (132)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmouseout" with the proper type (133)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmouseover" with the proper type (134)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmouseup" with the proper type (135)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onmousewheel" with the proper type (136)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onpause" with the proper type (137)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onplay" with the proper type (138)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onplaying" with the proper type (139)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onprogress" with the proper type (140)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onratechange" with the proper type (141)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onreset" with the proper type (142)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onresize" with the proper type (143)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onscroll" with the proper type (144)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onseeked" with the proper type (145)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onseeking" with the proper type (146)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onselect" with the proper type (147)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onshow" with the proper type (148)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onsort" with the proper type (149)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onstalled" with the proper type (150)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onsuspend" with the proper type (152)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "ontimeupdate" with the proper type (153)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "ontoggle" with the proper type (154)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onvolumechange" with the proper type (155)]
+ expected: FAIL
+
+ [Document interface: document.implementation.createDocument(null, "", null) must inherit property "onwaiting" with the proper type (156)]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/semantics/forms/constraints/form-validation-validity-valueMissing.html.ini b/tests/wpt/metadata/html/semantics/forms/constraints/form-validation-validity-valueMissing.html.ini
index b7b1603cae1..f18a1d0dd25 100644
--- a/tests/wpt/metadata/html/semantics/forms/constraints/form-validation-validity-valueMissing.html.ini
+++ b/tests/wpt/metadata/html/semantics/forms/constraints/form-validation-validity-valueMissing.html.ini
@@ -267,3 +267,6 @@
[[INPUT in FILE status\] The Files attribute is null]
expected: FAIL
+ [[INPUT in NUMBER status\] Value is a string that cannot be converted to a number]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/semantics/forms/constraints/form-validation-willValidate.html.ini b/tests/wpt/metadata/html/semantics/forms/constraints/form-validation-willValidate.html.ini
index 9f02087a0c4..e6f2f9ce64b 100644
--- a/tests/wpt/metadata/html/semantics/forms/constraints/form-validation-willValidate.html.ini
+++ b/tests/wpt/metadata/html/semantics/forms/constraints/form-validation-willValidate.html.ini
@@ -204,3 +204,48 @@
[[BUTTON in SUBMIT status\] The willValidate attribute must be false if it has a datalist ancestor]
expected: FAIL
+ [[INPUT in TEXT status\] The willValidate attribute must be true if an element is mutable]
+ expected: FAIL
+
+ [[INPUT in SEARCH status\] The willValidate attribute must be true if an element is mutable]
+ expected: FAIL
+
+ [[INPUT in TEL status\] The willValidate attribute must be true if an element is mutable]
+ expected: FAIL
+
+ [[INPUT in URL status\] The willValidate attribute must be true if an element is mutable]
+ expected: FAIL
+
+ [[INPUT in EMAIL status\] The willValidate attribute must be true if an element is mutable]
+ expected: FAIL
+
+ [[INPUT in PASSWORD status\] The willValidate attribute must be true if an element is mutable]
+ expected: FAIL
+
+ [[INPUT in DATETIME status\] The willValidate attribute must be true if an element is mutable]
+ expected: FAIL
+
+ [[INPUT in DATE status\] The willValidate attribute must be true if an element is mutable]
+ expected: FAIL
+
+ [[INPUT in MONTH status\] The willValidate attribute must be true if an element is mutable]
+ expected: FAIL
+
+ [[INPUT in WEEK status\] The willValidate attribute must be true if an element is mutable]
+ expected: FAIL
+
+ [[INPUT in TIME status\] The willValidate attribute must be true if an element is mutable]
+ expected: FAIL
+
+ [[INPUT in COLOR status\] The willValidate attribute must be true if an element is mutable]
+ expected: FAIL
+
+ [[INPUT in FILE status\] The willValidate attribute must be true if an element is mutable]
+ expected: FAIL
+
+ [[INPUT in SUBMIT status\] The willValidate attribute must be true if an element is mutable]
+ expected: FAIL
+
+ [[BUTTON in SUBMIT status\] The willValidate attribute must be true if an element is mutable]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/html/semantics/interfaces.html.ini b/tests/wpt/metadata/html/semantics/interfaces.html.ini
index 45a48c4a42e..2f83b397e52 100644
--- a/tests/wpt/metadata/html/semantics/interfaces.html.ini
+++ b/tests/wpt/metadata/html/semantics/interfaces.html.ini
@@ -66,3 +66,15 @@
[Interfaces for COMMAND]
expected: FAIL
+ [Interfaces for rb]
+ expected: FAIL
+
+ [Interfaces for RB]
+ expected: FAIL
+
+ [Interfaces for rtc]
+ expected: FAIL
+
+ [Interfaces for RTC]
+ expected: FAIL
+
diff --git a/tests/wpt/metadata/mozilla-sync b/tests/wpt/metadata/mozilla-sync
index 843da690335..12d7e965200 100644
--- a/tests/wpt/metadata/mozilla-sync
+++ b/tests/wpt/metadata/mozilla-sync
@@ -1 +1 @@
-9e914ca0db2820b365c06deedb8b5325c63c007b \ No newline at end of file
+d588ce8d8503bf0b340abfb13e2bd6a228cab900 \ No newline at end of file
diff --git a/tests/wpt/web-platform-tests/docs/test-format-guidelines.md b/tests/wpt/web-platform-tests/docs/test-format-guidelines.md
index cae7cb0e2d4..70511804e0e 100644
--- a/tests/wpt/web-platform-tests/docs/test-format-guidelines.md
+++ b/tests/wpt/web-platform-tests/docs/test-format-guidelines.md
@@ -42,7 +42,7 @@ running in automation. In general the following order of preference holds:
* WebDriver tests - for testing the webdriver protocol itself or (in
the future) for certain tests that require access to privileged APIs.
-* Manual tests - as a last resort for anything that can't be tested
+* [Manual tests][manual-tests] - as a last resort for anything that can't be tested
using one of the above techniques.
Some scenarios demand certain test types. For example:
@@ -328,6 +328,7 @@ see the [lint-tool documentation][lint-tool].
[lint-tool]: ./lint-tool.html
[reftests]: ./reftests.html
+[manual-tests]: ./manual-test.html
[test-templates]: ./test-templates.html
[requirement-flags]: ./test-templates.html#requirement-flags
[testharness-documentation]: ./testharness-documentation.html
diff --git a/tests/wpt/web-platform-tests/dom/interfaces.html b/tests/wpt/web-platform-tests/dom/interfaces.html
index 69ae1561c9c..cb368b357af 100644
--- a/tests/wpt/web-platform-tests/dom/interfaces.html
+++ b/tests/wpt/web-platform-tests/dom/interfaces.html
@@ -223,6 +223,7 @@ interface Document : Node {
readonly attribute DOMString origin;
readonly attribute DOMString compatMode;
readonly attribute DOMString characterSet;
+ readonly attribute DOMString charset; // legacy alias of .characterSet
readonly attribute DOMString inputEncoding; // legacy alias of .characterSet
readonly attribute DOMString contentType;
diff --git a/tests/wpt/web-platform-tests/dom/nodes/DOMImplementation-createDocument.html b/tests/wpt/web-platform-tests/dom/nodes/DOMImplementation-createDocument.html
index 42ed42eb850..a929436561c 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/DOMImplementation-createDocument.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/DOMImplementation-createDocument.html
@@ -103,13 +103,20 @@ test(function() {
var doc = document.implementation.createDocument(namespace, qualifiedName, doctype)
assert_equals(doc.compatMode, "CSS1Compat")
assert_equals(doc.characterSet, "UTF-8")
- assert_equals(doc.inputEncoding, "UTF-8")
assert_equals(doc.contentType, "application/xml")
assert_equals(doc.URL, "about:blank")
assert_equals(doc.documentURI, "about:blank")
assert_equals(doc.createElement("DIV").localName, "DIV");
}, "createDocument test " + i + ": metadata for " +
[namespace, qualifiedName, doctype].map(function(el) { return format_value(el) }))
+
+ test(function() {
+ var doc = document.implementation.createDocument(namespace, qualifiedName, doctype)
+ assert_equals(doc.characterSet, "UTF-8", "characterSet");
+ assert_equals(doc.charset, "UTF-8", "charset");
+ assert_equals(doc.inputEncoding, "UTF-8", "inputEncoding");
+ }, "createDocument test " + i + ": characterSet aliases for " +
+ [namespace, qualifiedName, doctype].map(function(el) { return format_value(el) }))
}
})
})
diff --git a/tests/wpt/web-platform-tests/dom/nodes/DOMImplementation-createHTMLDocument.html b/tests/wpt/web-platform-tests/dom/nodes/DOMImplementation-createHTMLDocument.html
index 89dc3834739..57f475c9c5f 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/DOMImplementation-createHTMLDocument.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/DOMImplementation-createHTMLDocument.html
@@ -69,13 +69,19 @@ test(function() {
assert_equals(doc.documentURI, "about:blank");
assert_equals(doc.compatMode, "CSS1Compat");
assert_equals(doc.characterSet, "UTF-8");
- assert_equals(doc.inputEncoding, "UTF-8");
assert_equals(doc.contentType, "text/html");
assert_equals(doc.createElement("DIV").localName, "div");
}, "createHTMLDocument(): metadata")
test(function() {
var doc = document.implementation.createHTMLDocument("test");
+ assert_equals(doc.characterSet, "UTF-8", "characterSet");
+ assert_equals(doc.charset, "UTF-8", "charset");
+ assert_equals(doc.inputEncoding, "UTF-8", "inputEncoding");
+}, "createHTMLDocument(): characterSet aliases")
+
+test(function() {
+ var doc = document.implementation.createHTMLDocument("test");
var a = doc.createElement("a");
// In UTF-8: 0xC3 0xA4
a.href = "http://example.org/?\u00E4";
diff --git a/tests/wpt/web-platform-tests/dom/nodes/Document-characterSet-normalization.html b/tests/wpt/web-platform-tests/dom/nodes/Document-characterSet-normalization.html
index b78ad45053c..e7a4ab5f838 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/Document-characterSet-normalization.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/Document-characterSet-normalization.html
@@ -358,6 +358,8 @@ Object.keys(encodingMap).forEach(function(name) {
" has label " + format_value(label) + " (characterSet)");
var t2 = async_test("Name " + format_value(name) +
" has label " + format_value(label) + " (inputEncoding)");
+ var t3 = async_test("Name " + format_value(name) +
+ " has label " + format_value(label) + " (charset)");
/*
iframe.src = "data:text/html,<!doctype html>" +
'<meta charset="' + label + '">';
@@ -370,9 +372,13 @@ Object.keys(encodingMap).forEach(function(name) {
t2.step(function() {
assert_equals(iframe.contentDocument.inputEncoding, expected_case(name));
});
+ t3.step(function() {
+ assert_equals(iframe.contentDocument.charset, expected_case(name));
+ });
document.body.removeChild(iframe);
t.done();
t2.done();
+ t3.done();
};
document.body.appendChild(iframe);
});
diff --git a/tests/wpt/web-platform-tests/dom/nodes/Document-constructor.html b/tests/wpt/web-platform-tests/dom/nodes/Document-constructor.html
index fb728828cff..11549da4ab4 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/Document-constructor.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/Document-constructor.html
@@ -32,13 +32,19 @@ test(function() {
assert_equals(doc.documentURI, "about:blank");
assert_equals(doc.compatMode, "CSS1Compat");
assert_equals(doc.characterSet, "UTF-8");
- assert_equals(doc.inputEncoding, "UTF-8");
assert_equals(doc.contentType, "application/xml");
assert_equals(doc.createElement("DIV").localName, "DIV");
}, "new Document(): metadata")
test(function() {
var doc = new Document();
+ assert_equals(doc.characterSet, "UTF-8", "characterSet");
+ assert_equals(doc.charset, "UTF-8", "charset");
+ assert_equals(doc.inputEncoding, "UTF-8", "inputEncoding");
+}, "new Document(): characterSet aliases")
+
+test(function() {
+ var doc = new Document();
var a = doc.createElement("a");
// In UTF-8: 0xC3 0xA4
a.href = "http://example.org/?\u00E4";
diff --git a/tests/wpt/web-platform-tests/dom/nodes/Node-properties.html b/tests/wpt/web-platform-tests/dom/nodes/Node-properties.html
index 798ba14d544..83723ae1ed3 100644
--- a/tests/wpt/web-platform-tests/dom/nodes/Node-properties.html
+++ b/tests/wpt/web-platform-tests/dom/nodes/Node-properties.html
@@ -136,7 +136,6 @@ var expected = {
URL: String(location),
compatMode: "CSS1Compat",
characterSet: "UTF-8",
- inputEncoding: "UTF-8",
contentType: "text/html",
doctype: doctype,
//documentElement: ,
@@ -153,7 +152,6 @@ var expected = {
URL: "about:blank",
compatMode: "CSS1Compat",
characterSet: "UTF-8",
- inputEncoding: "UTF-8",
contentType: "text/html",
//doctype: ,
//documentElement: ,
@@ -211,7 +209,6 @@ var expected = {
URL: "about:blank",
compatMode: "CSS1Compat",
characterSet: "UTF-8",
- inputEncoding: "UTF-8",
contentType: "application/xml",
//doctype: ,
//documentElement: ,
@@ -640,6 +637,8 @@ for (var node in expected) {
expected[node].nextSibling = expected[node].nodeValue =
expected[node].textContent = null;
expected[node].documentURI = expected[node].URL;
+ expected[node].charset = expected[node].inputEncoding =
+ expected[node].characterSet;
break;
case Node.DOCUMENT_TYPE_NODE:
diff --git a/tests/wpt/web-platform-tests/domparsing/DOMParser-parseFromString-html.html b/tests/wpt/web-platform-tests/domparsing/DOMParser-parseFromString-html.html
index e0bcc6bc701..fcaa44a391b 100644
--- a/tests/wpt/web-platform-tests/domparsing/DOMParser-parseFromString-html.html
+++ b/tests/wpt/web-platform-tests/domparsing/DOMParser-parseFromString-html.html
@@ -39,6 +39,10 @@ test(function() {
}, 'inputEncoding');
test(function() {
+ assert_equals(doc.charset, "UTF-8")
+}, 'charset');
+
+test(function() {
var url = document.URL;
assert_equals(doc.documentURI, url,
'The document must have a URL value equal to the URL of the active document.');
diff --git a/tests/wpt/web-platform-tests/domparsing/DOMParser-parseFromString-xml.html b/tests/wpt/web-platform-tests/domparsing/DOMParser-parseFromString-xml.html
index d6de3081c51..0be58706788 100644
--- a/tests/wpt/web-platform-tests/domparsing/DOMParser-parseFromString-xml.html
+++ b/tests/wpt/web-platform-tests/domparsing/DOMParser-parseFromString-xml.html
@@ -10,6 +10,7 @@ function checkMetadata(doc, contentType) {
assert_equals(doc.URL, document.URL, "URL");
assert_equals(doc.documentURI, document.URL, "documentURI");
assert_equals(doc.characterSet, "UTF-8", "characterSet");
+ assert_equals(doc.charset, "UTF-8", "charset");
assert_equals(doc.inputEncoding, "UTF-8", "inputEncoding");
assert_equals(doc.contentType, contentType, "contentType");
assert_equals(doc.location, null, "location");
diff --git a/tests/wpt/web-platform-tests/html/dom/interfaces.html b/tests/wpt/web-platform-tests/html/dom/interfaces.html
index 14db51c3918..cc5945f2461 100644
--- a/tests/wpt/web-platform-tests/html/dom/interfaces.html
+++ b/tests/wpt/web-platform-tests/html/dom/interfaces.html
@@ -235,6 +235,7 @@ interface Document : Node {
readonly attribute DOMString origin;
readonly attribute DOMString compatMode;
readonly attribute DOMString characterSet;
+ readonly attribute DOMString charset; // legacy alias of .characterSet
readonly attribute DOMString inputEncoding; // legacy alias of .characterSet
readonly attribute DOMString contentType;
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-tooLong.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-tooLong.html
index 79d0cbe17c0..aa787d471d2 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-tooLong.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-tooLong.html
@@ -23,7 +23,8 @@
{conditions: {maxLength: "4", value: "abc"}, expected: false, name: "[target] Dirty value - value is less than maxlength", dirty: true},
{conditions: {maxLength: "4", value: "\u0041\u0041\u0041"}, expected: false, name: "[target] Dirty value - length of value(AAA) in unicode is less than maxlength", dirty: true},
{conditions: {maxLength: "4", value: "abcd"}, expected: false, name: "[target] Dirty value - value equals to maxlength", dirty: true},
- {conditions: {maxLength: "4", value: "abcde"}, expected: true, name: "[target] Dirty value - length of value is greater than maxlength", dirty: true}
+ // False due to lack of required interactive editing by the user
+ {conditions: {maxLength: "4", value: "abcde"}, expected: false, name: "[target] Dirty value - length of value is greater than maxlength", dirty: true}
]
},
{
@@ -39,7 +40,8 @@
{conditions: {maxLength: "4", value: "abc"}, expected: false, name: "[target] Dirty value - value is less than maxlength", dirty: true},
{conditions: {maxLength: "4", value: "\u000D\u000A"}, expected: false, name: "[target] Dirty value - length of value(LF, CRLF) in unicode is less than maxlength", dirty: true},
{conditions: {maxLength: "4", value: "abcd"}, expected: false, name: "[target] Dirty value - length of value equals to maxlength", dirty: true},
- {conditions: {maxLength: "4", value: "abcde"}, expected: true, name: "[target] Dirty value - length of value is greater than maxlength", dirty: true}
+ // False due to lack of required interactive editing by the user
+ {conditions: {maxLength: "4", value: "abcde"}, expected: false, name: "[target] Dirty value - length of value is greater than maxlength", dirty: true}
]
}
];
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing.html
index 4554c95a3b4..8b2c01d9b39 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing.html
@@ -114,7 +114,7 @@
{conditions: {required: true, value: " 123 "}, expected: true, name: "[target] Value is a number with some white spaces"},
{conditions: {required: true, value: Math.pow(2, 1024)}, expected: true, name: "[target] Value is Math.pow(2, 1024)"},
{conditions: {required: true, value: Math.pow(-2, 1024)}, expected: true, name: "[target] Value is Math.pow(-2, 1024)"},
- {conditions: {required: true, value: "abc"}, expected: true, name: "[target] Value is a string that can not be coverted to a number"},
+ {conditions: {required: true, value: "abc"}, expected: true, name: "[target] Value is a string that cannot be converted to a number"},
{conditions: {required: true, value: ""}, expected: true, name: "[target] The value attribute is empty string"}
]
},
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate.html
index 671d269ef58..04300c67706 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/form-validation-willValidate.html
@@ -52,7 +52,7 @@
types: ["text", "search", "tel", "url", "email", "password", "datetime", "date", "month", "week", "time", "color", "file", "submit"],
testData: [
{conditions: {disabled: true}, expected: false, name: "[target] Must be barred from the constraint validation if it is disabled"},
- {conditions: {disabled: false, readOnly: false}, expected: true, name: "[target] The willValidate attribute must be true if an elment is mutable"},
+ {conditions: {disabled: false, readOnly: false}, expected: true, name: "[target] The willValidate attribute must be true if an element is mutable"},
{conditions: {readOnly: true}, expected: false, name: "[target] Must be barred from the constraint validation if it is readonly"},
{conditions: {disabled: false, readOnly: false}, expected: false, name: "[target] The willValidate attribute must be false if it has a datalist ancestor", ancestor: "datalist"},
]
@@ -62,7 +62,7 @@
types: ["submit"],
testData: [
{conditions: {disabled: true}, expected: false, name: "[target] Must be barred from the constraint validation"},
- {conditions: {disabled: false}, expected: true, name: "[target] The willValidate attribute must be true if an elment is mutable"},
+ {conditions: {disabled: false}, expected: true, name: "[target] The willValidate attribute must be true if an element is mutable"},
{conditions: {disabled: false}, expected: false, name: "[target] The willValidate attribute must be false if it has a datalist ancestor", ancestor: "datalist"}
]
},
@@ -71,7 +71,7 @@
types: [],
testData: [
{conditions: {disabled: true}, expected: false, name: "[target] Must be barred from the constraint validation"},
- {conditions: {disabled: false}, expected: true, name: "[target] The willValidate attribute must be true if an elment is mutable"},
+ {conditions: {disabled: false}, expected: true, name: "[target] The willValidate attribute must be true if an element is mutable"},
{conditions: {disabled: false}, expected: false, name: "[target] The willValidate attribute must be false if it has a datalist ancestor", ancestor: "datalist"}
]
},
@@ -80,7 +80,7 @@
types: [],
testData: [,
{conditions: {disabled: true}, expected: false, name: "[target] Must be barred from the constraint validation"},
- {conditions: {disabled: false}, expected: true, name: "[target] The willValidate attribute must be true if an elment is mutable"},
+ {conditions: {disabled: false}, expected: true, name: "[target] The willValidate attribute must be true if an element is mutable"},
{conditions: {disabled: false}, expected: false, name: "[target] The willValidate attribute must be false if it has a datalist ancestor", ancestor: "datalist"}
]
}
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/support/validator.js b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/support/validator.js
index 2ff42516642..dfd0d08f17c 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/support/validator.js
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/support/validator.js
@@ -229,8 +229,8 @@ var validator = {
assert_true(ctl.reportValidity(), "The reportValidity method should be true.");
assert_false(eventFired, "The invalid event should not be fired.");
} else {
- assert_true(eventFired, "The invalid event should be fired.");
assert_false(ctl.reportValidity(), "The reportValidity method should be false.");
+ assert_true(eventFired, "The invalid event should be fired.");
}
}, data.name);
@@ -262,8 +262,20 @@ var validator = {
},
set_conditions: function (ctl, obj) {
- ["required", "pattern", "step", "max", "min", "maxlength",
- "value", "multiple", "checked", "selected"].forEach(function(item) {
+ [
+ "checked",
+ "disabled",
+ "max",
+ "maxlength",
+ "min",
+ "minlength",
+ "multiple",
+ "pattern",
+ "required",
+ "selected",
+ "step",
+ "value"
+ ].forEach(function(item) {
ctl.removeAttribute(item);
});
for (var attr in obj) {
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-input-email-delete-manual.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-input-email-delete-manual.html
new file mode 100644
index 00000000000..008089f39ae
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-input-email-delete-manual.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>input[type="email"], ValidityState.tooLong and user editing</title>
+ <link rel="author" title="Chris Rebert" href="http://chrisrebert.com">
+ <link rel="help" href="https://html.spec.whatwg.org/multipage/#limiting-user-input-length:-the-maxlength-attribute">
+ <meta name="flags" content="interact">
+ <meta name="assert" content="Per the 'Constraint validation' definition in the referenced section, an input whose value was edited by the user but still exceeds the input's maxlength should suffer from being too long.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ </head>
+ <body>
+ <p>Delete one character from the following text input:</p>
+ <input type="email" value="jane.doe@example.com" maxlength="5" autocomplete="off" id="testinput">
+
+ <div id="log"></div>
+ <script>
+var input = document.getElementById('testinput');
+setup({explicit_timeout: true, explicit_done: true});
+on_event(input, "input", function () {
+ test(function() {
+ assert_class_string(input.validity, 'ValidityState', 'HTMLInputElement.validity must be a ValidityState instance');
+ assert_true(input.validity.tooLong, "tooLong must be true since the user just changed the input's value and the value exceeds the maxlength");
+ });
+ done();
+});
+ </script>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-input-password-delete-manual.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-input-password-delete-manual.html
new file mode 100644
index 00000000000..353d9466ddf
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-input-password-delete-manual.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>input[type="password"], ValidityState.tooLong and user editing</title>
+ <link rel="author" title="Chris Rebert" href="http://chrisrebert.com">
+ <link rel="help" href="https://html.spec.whatwg.org/multipage/#limiting-user-input-length:-the-maxlength-attribute">
+ <meta name="flags" content="interact">
+ <meta name="assert" content="Per the 'Constraint validation' definition in the referenced section, an input whose value was edited by the user but still exceeds the input's maxlength should suffer from being too long.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ </head>
+ <body>
+ <p>Delete one character from the following text input:</p>
+ <input type="password" value="swordfish" maxlength="5" autocomplete="off" id="testinput">
+
+ <div id="log"></div>
+ <script>
+var input = document.getElementById('testinput');
+setup({explicit_timeout: true, explicit_done: true});
+on_event(input, "input", function () {
+ test(function() {
+ assert_class_string(input.validity, 'ValidityState', 'HTMLInputElement.validity must be a ValidityState instance');
+ assert_true(input.validity.tooLong, "tooLong must be true since the user just changed the input's value and the value exceeds the maxlength");
+ });
+ done();
+});
+ </script>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-input-search-delete-manual.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-input-search-delete-manual.html
new file mode 100644
index 00000000000..73be3b6d839
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-input-search-delete-manual.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>input[type="search"], ValidityState.tooLong and user editing</title>
+ <link rel="author" title="Chris Rebert" href="http://chrisrebert.com">
+ <link rel="help" href="https://html.spec.whatwg.org/multipage/#limiting-user-input-length:-the-maxlength-attribute">
+ <meta name="flags" content="interact">
+ <meta name="assert" content="Per the 'Constraint validation' definition in the referenced section, an input whose value was edited by the user but still exceeds the input's maxlength should suffer from being too long.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ </head>
+ <body>
+ <p>Delete one character from the following text input:</p>
+ <input type="search" value="abcdefghi" maxlength="5" autocomplete="off" id="testinput">
+
+ <div id="log"></div>
+ <script>
+var input = document.getElementById('testinput');
+setup({explicit_timeout: true, explicit_done: true});
+on_event(input, "input", function () {
+ test(function() {
+ assert_class_string(input.validity, 'ValidityState', 'HTMLInputElement.validity must be a ValidityState instance');
+ assert_true(input.validity.tooLong, "tooLong must be true since the user just changed the input's value and the value exceeds the maxlength");
+ });
+ done();
+});
+ </script>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-input-tel-delete-manual.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-input-tel-delete-manual.html
new file mode 100644
index 00000000000..bf7682af3ef
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-input-tel-delete-manual.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>input[type="tel"], ValidityState.tooLong and user editing</title>
+ <link rel="author" title="Chris Rebert" href="http://chrisrebert.com">
+ <link rel="help" href="https://html.spec.whatwg.org/multipage/#limiting-user-input-length:-the-maxlength-attribute">
+ <meta name="flags" content="interact">
+ <meta name="assert" content="Per the 'Constraint validation' definition in the referenced section, an input whose value was edited by the user but still exceeds the input's maxlength should suffer from being too long.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ </head>
+ <body>
+ <p>Delete one character from the following text input:</p>
+ <input type="tel" value="123-456-7890" maxlength="7" autocomplete="off" id="testinput">
+
+ <div id="log"></div>
+ <script>
+var input = document.getElementById('testinput');
+setup({explicit_timeout: true, explicit_done: true});
+on_event(input, "input", function () {
+ test(function() {
+ assert_class_string(input.validity, 'ValidityState', 'HTMLInputElement.validity must be a ValidityState instance');
+ assert_true(input.validity.tooLong, "tooLong must be true since the user just changed the input's value and the value exceeds the maxlength");
+ });
+ done();
+});
+ </script>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-manual.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-input-text-delete-manual.html
index 429732b87e1..2eea2b7245a 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-manual.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-input-text-delete-manual.html
@@ -2,7 +2,7 @@
<html>
<head>
<meta charset="utf-8">
- <title>ValidityState.tooLong and user editing</title>
+ <title>input[type="text"], ValidityState.tooLong and user editing</title>
<link rel="author" title="Chris Rebert" href="http://chrisrebert.com">
<link rel="help" href="https://html.spec.whatwg.org/multipage/#limiting-user-input-length:-the-maxlength-attribute">
<meta name="flags" content="interact">
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-input-url-delete-manual.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-input-url-delete-manual.html
new file mode 100644
index 00000000000..17039a71a8b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-input-url-delete-manual.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>input[type="url"], ValidityState.tooLong and user editing</title>
+ <link rel="author" title="Chris Rebert" href="http://chrisrebert.com">
+ <link rel="help" href="https://html.spec.whatwg.org/multipage/#limiting-user-input-length:-the-maxlength-attribute">
+ <meta name="flags" content="interact">
+ <meta name="assert" content="Per the 'Constraint validation' definition in the referenced section, an input whose value was edited by the user but still exceeds the input's maxlength should suffer from being too long.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ </head>
+ <body>
+ <p>Delete one character from the following text input:</p>
+ <input type="url" value="http://example.com/foo" maxlength="12" autocomplete="off" id="testinput">
+
+ <div id="log"></div>
+ <script>
+var input = document.getElementById('testinput');
+setup({explicit_timeout: true, explicit_done: true});
+on_event(input, "input", function () {
+ test(function() {
+ assert_class_string(input.validity, 'ValidityState', 'HTMLInputElement.validity must be a ValidityState instance');
+ assert_true(input.validity.tooLong, "tooLong must be true since the user just changed the input's value and the value exceeds the maxlength");
+ });
+ done();
+});
+ </script>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-textarea-delete-manual.html b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-textarea-delete-manual.html
new file mode 100644
index 00000000000..2212a1ca90b
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/constraints/tooLong-textarea-delete-manual.html
@@ -0,0 +1,30 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>textarea, ValidityState.tooLong and user editing</title>
+ <link rel="author" title="Chris Rebert" href="http://chrisrebert.com">
+ <link rel="help" href="https://html.spec.whatwg.org/multipage/#limiting-user-input-length:-the-maxlength-attribute">
+ <meta name="flags" content="interact">
+ <meta name="assert" content="Per the 'Constraint validation' definition in the referenced section, a textarea whose value was edited by the user but still exceeds the textarea's maxlength should suffer from being too long.">
+ <script src="/resources/testharness.js"></script>
+ <script src="/resources/testharnessreport.js"></script>
+ </head>
+ <body>
+ <p>Delete one character from the following text area:</p>
+ <textarea maxlength="5" autocomplete="off" id="testinput">0123456789</textarea>
+
+ <div id="log"></div>
+ <script>
+var input = document.getElementById('testinput');
+setup({explicit_timeout: true, explicit_done: true});
+on_event(input, "input", function () {
+ test(function() {
+ assert_class_string(input.validity, 'ValidityState', 'HTMLTextAreaElement.validity must be a ValidityState instance');
+ assert_true(input.validity.tooLong, "tooLong must be true since the user just changed the input's value and the value exceeds the maxlength");
+ });
+ done();
+});
+ </script>
+ </body>
+</html>
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-label-element/label-attributes.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-label-element/label-attributes.html
index 6f8f3ba5bd2..58f440258c1 100644
--- a/tests/wpt/web-platform-tests/html/semantics/forms/the-label-element/label-attributes.html
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-label-element/label-attributes.html
@@ -105,7 +105,7 @@
test(function () {
assert_equals(document.getElementById("test5").labels.length, 0,
- "The number of labels should be 0 if the form control has an ancestor label elment that the for attribute points to another control.");
+ "The number of labels should be 0 if the form control has an ancestor label element that the for attribute points to another control.");
assert_equals(document.getElementById("lbl2").control, null,
"The labeled cotrol should be associated with the control whose ID is equal to the value of the 'for' attribute.");
}, "A form control has no label 2.");
diff --git a/tests/wpt/web-platform-tests/html/semantics/interfaces.js b/tests/wpt/web-platform-tests/html/semantics/interfaces.js
index 3609e36bf48..c75fb54234a 100644
--- a/tests/wpt/web-platform-tests/html/semantics/interfaces.js
+++ b/tests/wpt/web-platform-tests/html/semantics/interfaces.js
@@ -118,7 +118,9 @@ var elements = [
["progress", "Progress"],
["meter", "Meter"],
["ruby", ""],
+ ["rb", ""],
["rt", ""],
+ ["rtc", ""],
["rp", ""],
["figure", ""],
["datalist", "DataList"],
@@ -126,7 +128,6 @@ var elements = [
["details", "Details"],
["command", "Command"],
["nextid", "Unknown"],
- ["rb", "Unknown"],
["bdi", ""],
["data", "Data"],
["a", "Anchor"],
diff --git a/tests/wpt/web-platform-tests/subresource-integrity/subresource-integrity.html b/tests/wpt/web-platform-tests/subresource-integrity/subresource-integrity.html
index fa82868476a..9519fc127fe 100644
--- a/tests/wpt/web-platform-tests/subresource-integrity/subresource-integrity.html
+++ b/tests/wpt/web-platform-tests/subresource-integrity/subresource-integrity.html
@@ -286,7 +286,7 @@
true,
"Same-origin with correct sha256 hash",
{
- href: "style.css",
+ href: "style.css?1",
integrity: "sha256-CzHgdJ7wOccM8L89n4bhcJMz3F+SPLT7YZk7gyCWUV4="
}
);
@@ -296,7 +296,7 @@
true,
"Same-origin with correct sha384 hash",
{
- href: "style.css",
+ href: "style.css?2",
integrity: "sha384-wDAWxH4tOWBwAwHfBn9B7XuNmFxHTMeigAMwn0iVQ0zq3FtmYMLxihcGnU64CwcX"
}
);
@@ -306,7 +306,7 @@
true,
"Same-origin with correct sha512 hash",
{
- href: "style.css",
+ href: "style.css?3",
integrity: "sha512-9wXDjd6Wq3H6nPAhI9zOvG7mJkUr03MTxaO+8ztTKnfJif42laL93Be/IF6YYZHHF4esitVYxiwpY2HSZX4l6w=="
}
);
@@ -316,7 +316,7 @@
true,
"Same-origin with empty integrity",
{
- href: "style.css",
+ href: "style.css?4",
integrity: ""
}
);
@@ -326,7 +326,7 @@
false,
"Same-origin with incorrect hash.",
{
- href: "style.css",
+ href: "style.css?5",
integrity: "sha256-deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdead"
}
);
@@ -336,8 +336,8 @@
true,
"Same-origin with multiple sha256 hashes, including correct.",
{
- href: "style.css",
- integrity: "sha256-CzHgdJ7wOccM8L89n4bhcJMz3F-SPLT7YZk7gyCWUV4= sha256-deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdead"
+ href: "style.css?6",
+ integrity: "sha256-CzHgdJ7wOccM8L89n4bhcJMz3F+SPLT7YZk7gyCWUV4= sha256-deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdead"
}
);
@@ -346,8 +346,8 @@
true,
"Same-origin with multiple sha256 hashes, including unknown algorithm.",
{
- href: "style.css",
- integrity: "sha256-CzHgdJ7wOccM8L89n4bhcJMz3F-SPLT7YZk7gyCWUV4= foo666-deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdead"
+ href: "style.css?7",
+ integrity: "sha256-CzHgdJ7wOccM8L89n4bhcJMz3F+SPLT7YZk7gyCWUV4= foo666-deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdead"
}
);
@@ -356,7 +356,7 @@
true,
"Same-origin with sha256 mismatch, sha512 match",
{
- href: "style.css",
+ href: "style.css?8",
integrity: "sha512-9wXDjd6Wq3H6nPAhI9zOvG7mJkUr03MTxaO+8ztTKnfJif42laL93Be/IF6YYZHHF4esitVYxiwpY2HSZX4l6w== sha256-deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdead"
}
);
@@ -366,7 +366,7 @@
false,
"Same-origin with sha256 match, sha512 mismatch",
{
- href: "style.css",
+ href: "style.css?9",
integrity: "sha512-deadbeef9wXDjd6Wq3H6nPAhI9zOvG7mJkUr03MTxaO+8ztTKnfJif42laL93Be/IF6YYZHHF4esitVYxiwpY2== sha256-CzHgdJ7wOccM8L89n4bhcJMz3F+SPLT7YZk7gyCWUV4="
}
);
@@ -376,7 +376,7 @@
true,
"<crossorigin='anonymous'> with correct hash, ACAO: *",
{
- href: xorigin_anon_style,
+ href: xorigin_anon_style + '?1',
integrity: "sha256-CzHgdJ7wOccM8L89n4bhcJMz3F+SPLT7YZk7gyCWUV4=",
crossorigin: "anonymous"
}
@@ -387,7 +387,7 @@
false,
"<crossorigin='anonymous'> with incorrect hash, ACAO: *",
{
- href: xorigin_anon_style,
+ href: xorigin_anon_style + '?2',
integrity: "sha256-deadbeefCzHgdJ7wOccM8L89n4bhcJMz3F+SPLT7YZk=",
crossorigin: "anonymous"
}
@@ -398,7 +398,7 @@
true,
"<crossorigin='use-credentials'> with correct hash, CORS-eligible",
{
- href: xorigin_creds_style,
+ href: xorigin_creds_style + '?1',
integrity: "sha256-CzHgdJ7wOccM8L89n4bhcJMz3F+SPLT7YZk7gyCWUV4=",
crossorigin: "use-credentials"
}
@@ -409,7 +409,7 @@
false,
"<crossorigin='use-credentials'> with incorrect hash CORS-eligible",
{
- href: xorigin_creds_style,
+ href: xorigin_creds_style + '?2',
integrity: "sha256-deadbeefCzHgdJ7wOccM8L89n4bhcJMz3F+SPLT7YZk=",
crossorigin: "use-credentials"
}
@@ -420,7 +420,7 @@
false,
"<crossorigin='anonymous'> with CORS-ineligible resource",
{
- href: xorigin_ineligible_style,
+ href: xorigin_ineligible_style + '?1',
integrity: "sha256-CzHgdJ7wOccM8L89n4bhcJMz3F+SPLT7YZk7gyCWUV4=",
crossorigin: "anonymous"
}
@@ -431,7 +431,7 @@
false,
"Cross-origin, not CORS request, with correct hash",
{
- href: xorigin_anon_style,
+ href: xorigin_anon_style + '?3',
integrity: "sha256-CzHgdJ7wOccM8L89n4bhcJMz3F+SPLT7YZk7gyCWUV4="
}
);
@@ -441,7 +441,7 @@
false,
"Cross-origin, not CORS request, with hash mismatch",
{
- href: xorigin_anon_style,
+ href: xorigin_anon_style + '?4',
integrity: "sha256-deadbeefCzHgdJ7wOccM8L89n4bhcJMz3F+SPLT7YZk="
}
);
@@ -451,7 +451,7 @@
true,
"Cross-origin, empty integrity",
{
- href: xorigin_anon_style,
+ href: xorigin_anon_style + '?5',
integrity: ""
}
);
@@ -461,7 +461,7 @@
true,
"Same-origin with correct hash, options.",
{
- href: "style.css",
+ href: "style.css?10",
integrity: "sha256-CzHgdJ7wOccM8L89n4bhcJMz3F+SPLT7YZk7gyCWUV4=?foo=bar?spam=eggs"
}
);
@@ -471,7 +471,7 @@
true,
"Same-origin with unknown algorithm only.",
{
- href: "style.css",
+ href: "style.css?11",
integrity: "foo666-CzHgdJ7wOccM8L89n4bhcJMz3F+SPLT7YZk7gyCWUV4=?foo=bar?spam=eggs"
}
);
@@ -481,8 +481,8 @@
true,
"Same-origin with correct sha256 hash, rel='stylesheet license'",
{
- href: "style.css",
- integrity: "sha256-CzHgdJ7wOccM8L89n4bhcJMz3F-SPLT7YZk7gyCWUV4=",
+ href: "style.css?12",
+ integrity: "sha256-CzHgdJ7wOccM8L89n4bhcJMz3F+SPLT7YZk7gyCWUV4=",
rel: "stylesheet license"
}
);
@@ -492,8 +492,8 @@
true,
"Same-origin with correct sha256 hash, rel='license stylesheet'",
{
- href: "style.css",
- integrity: "sha256-CzHgdJ7wOccM8L89n4bhcJMz3F-SPLT7YZk7gyCWUV4=",
+ href: "style.css?13",
+ integrity: "sha256-CzHgdJ7wOccM8L89n4bhcJMz3F+SPLT7YZk7gyCWUV4=",
rel: "license stylesheet"
}
);
@@ -503,7 +503,7 @@
true,
"Same-origin with correct sha256 and sha512 hash, rel='alternate stylesheet' enabled",
{
- href: "alternate.css",
+ href: "alternate.css?1",
title: "alt",
type: "text/css",
class: "alternate",
@@ -523,7 +523,7 @@
false,
"Same-origin with incorrect sha256 and sha512 hash, rel='alternate stylesheet' enabled",
{
- href: "alternate.css",
+ href: "alternate.css?2",
title: "alt",
type: "text/css",
class: "alternate",
diff --git a/tests/wpt/web-platform-tests/touch-events/multi-touch-interactions.js b/tests/wpt/web-platform-tests/touch-events/multi-touch-interactions.js
index ac1b8ef55a8..5248e6a9430 100644
--- a/tests/wpt/web-platform-tests/touch-events/multi-touch-interactions.js
+++ b/tests/wpt/web-platform-tests/touch-events/multi-touch-interactions.js
@@ -290,7 +290,7 @@ function run() {
// In some cases, when multiple touch points are released simultaneously
// the UA would dispatch the "same" touchend event (same changedTouches, same touches, but possibly different targetTouches)
- // to each of the elements that are starting elments of the released touch points.
+ // to each of the elements that are starting elements of the released touch points.
// in these situations, the subsequent events are exempt from TA 1.5.3.4 and 1.5.4.2
var same_event_as_last = false;
if (last_changedTouches && last_changedTouches.length==ev.changedTouches.length) {