diff options
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) { |