mirror of
https://github.com/servo/servo.git
synced 2025-07-03 21:43:41 +01:00
Update web-platform-tests to revision e87f38097902e16348d4e17f4fe3bc2d0112bff1
This commit is contained in:
parent
2f8fa32e91
commit
db5631a086
381 changed files with 11610 additions and 4232 deletions
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1,4 @@
|
|||
[calc-in-font-variation-settings.html]
|
||||
[calc() in font-variation-settings]
|
||||
expected: FAIL
|
||||
|
|
@ -1,3 +0,0 @@
|
|||
[css3-text-line-break-opclns-013.html]
|
||||
type: reftest
|
||||
expected: FAIL
|
|
@ -1,3 +0,0 @@
|
|||
[css3-text-line-break-opclns-048.html]
|
||||
type: reftest
|
||||
expected: FAIL
|
|
@ -1,3 +0,0 @@
|
|||
[css3-text-line-break-opclns-118.html]
|
||||
type: reftest
|
||||
expected: FAIL
|
|
@ -1,3 +0,0 @@
|
|||
[css3-text-line-break-opclns-154.html]
|
||||
type: reftest
|
||||
expected: FAIL
|
|
@ -1,3 +0,0 @@
|
|||
[line-break-normal-025.xht]
|
||||
type: reftest
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[line-break-strict-018a.xht]
|
||||
expected: FAIL
|
|
@ -1,2 +0,0 @@
|
|||
[line-break-strict-018b.xht]
|
||||
expected: FAIL
|
|
@ -0,0 +1,2 @@
|
|||
[line-breaking-012.html]
|
||||
expected: FAIL
|
|
@ -1,3 +0,0 @@
|
|||
[word-break-normal-002.xht]
|
||||
type: reftest
|
||||
expected: FAIL
|
|
@ -864,3 +864,60 @@
|
|||
[CDATASection interface: existence and properties of interface prototype object's @@unscopables property]
|
||||
expected: FAIL
|
||||
|
||||
[AbstractRange interface: existence and properties of interface object]
|
||||
expected: FAIL
|
||||
|
||||
[AbstractRange interface object length]
|
||||
expected: FAIL
|
||||
|
||||
[AbstractRange interface object name]
|
||||
expected: FAIL
|
||||
|
||||
[AbstractRange interface: existence and properties of interface prototype object]
|
||||
expected: FAIL
|
||||
|
||||
[AbstractRange interface: existence and properties of interface prototype object's "constructor" property]
|
||||
expected: FAIL
|
||||
|
||||
[AbstractRange interface: existence and properties of interface prototype object's @@unscopables property]
|
||||
expected: FAIL
|
||||
|
||||
[AbstractRange interface: attribute startContainer]
|
||||
expected: FAIL
|
||||
|
||||
[AbstractRange interface: attribute startOffset]
|
||||
expected: FAIL
|
||||
|
||||
[AbstractRange interface: attribute endContainer]
|
||||
expected: FAIL
|
||||
|
||||
[AbstractRange interface: attribute endOffset]
|
||||
expected: FAIL
|
||||
|
||||
[AbstractRange interface: attribute collapsed]
|
||||
expected: FAIL
|
||||
|
||||
[StaticRange interface: existence and properties of interface object]
|
||||
expected: FAIL
|
||||
|
||||
[StaticRange interface object length]
|
||||
expected: FAIL
|
||||
|
||||
[StaticRange interface object name]
|
||||
expected: FAIL
|
||||
|
||||
[StaticRange interface: existence and properties of interface prototype object]
|
||||
expected: FAIL
|
||||
|
||||
[StaticRange interface: existence and properties of interface prototype object's "constructor" property]
|
||||
expected: FAIL
|
||||
|
||||
[StaticRange interface: existence and properties of interface prototype object's @@unscopables property]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: existence and properties of interface object]
|
||||
expected: FAIL
|
||||
|
||||
[Range interface: existence and properties of interface prototype object]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -21,3 +21,6 @@
|
|||
[Input request used for creating new request became disturbed even if body is not used]
|
||||
expected: FAIL
|
||||
|
||||
[Check creating a new request with a new body from a disturbed request]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
[type-argument.window.html]
|
||||
[document.open() with type set to: NOBODY (type argument is supposed to be ignored)]
|
||||
expected: FAIL
|
||||
|
||||
[document.open() with type set to: @ FD ; (type argument is supposed to be ignored)]
|
||||
expected: FAIL
|
||||
|
||||
[document.open() with type set to: it does not matter, you see \x0c (type argument is supposed to be ignored)]
|
||||
expected: FAIL
|
||||
|
||||
[document.open() with type set to: text/plain (type argument is supposed to be ignored)]
|
||||
expected: FAIL
|
||||
|
||||
[document.open() with type set to: text/xml (type argument is supposed to be ignored)]
|
||||
expected: FAIL
|
||||
|
||||
[document.open() with type set to: application/octet-stream (type argument is supposed to be ignored)]
|
||||
expected: FAIL
|
||||
|
||||
[document.open() with type set to: \x00 (type argument is supposed to be ignored)]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[submit-file.sub.html]
|
||||
[Posting a File]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
[Create-on-worker-shutdown.html]
|
||||
expected: TIMEOUT
|
||||
[WebSocket created after a worker self.close()]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[rapid-resizing.html]
|
||||
expected: TIMEOUT
|
||||
[Overall test]
|
||||
expected: NOTRUN
|
||||
|
27
tests/wpt/web-platform-tests/FileAPI/FileReader/workers.html
Normal file
27
tests/wpt/web-platform-tests/FileAPI/FileReader/workers.html
Normal file
|
@ -0,0 +1,27 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script>
|
||||
|
||||
async_test(t => {
|
||||
function workerCode() {
|
||||
close();
|
||||
var blob = new Blob([123]);
|
||||
var fr = new FileReader();
|
||||
fr.readAsText(blob);
|
||||
fr.abort()
|
||||
fr.readAsArrayBuffer(blob);
|
||||
postMessage(true);
|
||||
}
|
||||
|
||||
var workerBlob = new Blob([workerCode.toSource() + ";workerCode();"], {type:"application/javascript"});
|
||||
|
||||
var w = new Worker(URL.createObjectURL(workerBlob));
|
||||
w.onmessage = function(e) {
|
||||
assert_true(e.data, "FileReader created during worker shutdown.");
|
||||
t.done();
|
||||
}
|
||||
}, 'FileReader created after a worker self.close()');
|
||||
|
||||
</script>
|
|
@ -1,8 +1,8 @@
|
|||
This directory contains the Indexed Database API test suite.
|
||||
|
||||
To run the tests in this test suite within a browser, go to: <http://w3c-test.org/IndexedDB/>.
|
||||
To run the tests in this test suite within a browser, go to: <https://w3c-test.org/IndexedDB/>.
|
||||
|
||||
The latest Editor's Draft of Indexed Database API is: <http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html>.
|
||||
The latest Editor's Draft of Indexed Database API is: <https://w3c.github.io/IndexedDB/>.
|
||||
|
||||
The latest W3C Technical Report of Indexed Database API is: <http://www.w3.org/TR/IndexedDB/>.
|
||||
The latest W3C Technical Report of Indexed Database API is: <https://www.w3.org/TR/IndexedDB/>.
|
||||
|
||||
|
|
|
@ -42,6 +42,7 @@ function performChromiumSetup() {
|
|||
`${prefix}/mojo_layouttest_test.mojom.js`,
|
||||
`${prefix}/uuid.mojom.js`,
|
||||
`${prefix}/fake_bluetooth.mojom.js`,
|
||||
`${prefix}/fake_bluetooth_chooser.mojom.js`,
|
||||
`${prefix}/web-bluetooth-test.js`,
|
||||
].concat(extra))
|
||||
// Call setBluetoothFakeAdapter() to clean up any fake adapters left over
|
||||
|
|
|
@ -0,0 +1,33 @@
|
|||
<html>
|
||||
<body>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
|
||||
<script>
|
||||
|
||||
// When the response for the HTML file contains "Accept-CH" in the response
|
||||
// headers, then the browser should not attach the specified client hints in
|
||||
// the HTTP request headers if the response was delivered by an insecure HTTP
|
||||
// server. Test this functionality by fetching an XHR from this page hosted on
|
||||
// an insecure HTTP server. The response headers for this page include
|
||||
// "Accept-CH: device-memory, dpr, viewport-width".
|
||||
//
|
||||
// echo_client_hints_received.py includes "device-memory-received",
|
||||
// "dpr-received" and "viewport-width-received" in the response headers
|
||||
// depending on the set of client hints it receives in the request headers.
|
||||
|
||||
promise_test(t => {
|
||||
return fetch("/client-hints/echo_client_hints_received.py").then(r => {
|
||||
assert_equals(r.status, 200)
|
||||
// Verify that the browser does not include client hints in the headers
|
||||
// when fetching the XHR from an insecure HTTP server.
|
||||
assert_false(r.headers.has("device-memory-received"));
|
||||
assert_false(r.headers.has("dpr-received"));
|
||||
assert_false(r.headers.has("viewport-width-received"));
|
||||
});
|
||||
}, "Accept-CH header test");
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1 @@
|
|||
Accept-CH: device-memory, dpr, viewport-width
|
|
@ -1,30 +0,0 @@
|
|||
<html>
|
||||
<body>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
|
||||
<script>
|
||||
|
||||
// If the response for the HTML file contains "Accept-CH: device-memory" in
|
||||
// the response headers, then the browser should attach device-memory client
|
||||
// hint in the HTTP request headers. Test this functionality by fetching an
|
||||
// XHR from this page. The response headers for this page include
|
||||
// "Accept-CH: device-memory".
|
||||
//
|
||||
// echo_device_memory_header_received.py includes "device-memory-received" in
|
||||
// the response headers only if the request included "device-memory" in the
|
||||
// headers.
|
||||
|
||||
promise_test(t => {
|
||||
return fetch("/client-hints/echo_device_memory_header_received.py").then(r => {
|
||||
assert_equals(r.status, 200)
|
||||
// Verify that the browser included "device-memory" in the headers when
|
||||
// fetching the XHR.
|
||||
assert_true(r.headers.has("device-memory-received"));
|
||||
});
|
||||
}, "Accept-CH header test");
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -1 +0,0 @@
|
|||
Accept-CH: device-memory
|
|
@ -0,0 +1,32 @@
|
|||
<html>
|
||||
<body>
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
|
||||
<script>
|
||||
|
||||
// If the response for the HTML file contains "Accept-CH" in the response
|
||||
// headers, then the browser should attach the specified client hints in the
|
||||
// HTTP request headers. Test this functionality by fetching an
|
||||
// XHR from this page. The response headers for this page include
|
||||
// "Accept-CH: device-memory, dpr, viewport-width".
|
||||
//
|
||||
// echo_client_hints_received.py includes "device-memory-received",
|
||||
// "dpr-received" and "viewport-width-received" in the response headers
|
||||
// depending on the set of client hints it receives in the request headers.
|
||||
|
||||
promise_test(t => {
|
||||
return fetch("https://{{domains[]}}:{{ports[https][0]}}/client-hints/echo_client_hints_received.py", {"mode": "no-cors"}).then(r => {
|
||||
assert_equals(r.status, 200)
|
||||
// Verify that the browser includes client hints in the headers when
|
||||
// fetching the XHR.
|
||||
assert_true(r.headers.has("device-memory-received"), "device-memory-received");
|
||||
assert_true(r.headers.has("dpr-received"), "dpr-received");
|
||||
assert_true(r.headers.has("viewport-width-received"), "viewport-width-received");
|
||||
});
|
||||
}, "Accept-CH header test");
|
||||
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1 @@
|
|||
Accept-CH: device-memory, dpr, viewport-width
|
|
@ -6,3 +6,7 @@ def main(request, response):
|
|||
|
||||
if "device-memory" in request.headers:
|
||||
response.headers.set("device-memory-received", "true")
|
||||
if "dpr" in request.headers:
|
||||
response.headers.set("dpr-received", "true")
|
||||
if "viewport-width" in request.headers:
|
||||
response.headers.set("viewport-width-received", "true")
|
|
@ -8,7 +8,7 @@
|
|||
"wss":["auto"]},
|
||||
"check_subdomains": true,
|
||||
"log_level":"debug",
|
||||
"bind_hostname": true,
|
||||
"bind_address": true,
|
||||
"ssl": {"type": "pregenerated",
|
||||
"encrypt_after_connect": false,
|
||||
"openssl": {
|
||||
|
|
|
@ -7,7 +7,7 @@ EXPAND=expand
|
|||
EXPANDFLAGS=
|
||||
GIT=git
|
||||
GITFLAGS=
|
||||
PYTHON=python
|
||||
PYTHON=python3
|
||||
PYTHONFLAGS=
|
||||
VNU_TEST_REPO=git@github.com:validator/tests.git
|
||||
ITS_REPO=git@github.com:w3c/its-2.0-testsuite-inputdata.git
|
||||
|
@ -24,7 +24,7 @@ README.md: index.html
|
|||
| $(EXPAND) $(EXPANDFLAGS) > $@
|
||||
|
||||
messages.json: .FORCE
|
||||
$(PYTHON) $(PYTHONFLAGS) -mjson.tool $@ > $@.tmp
|
||||
$(PYTHON) $(PYTHONFLAGS) -mjson.tool --sort-keys $@ > $@.tmp
|
||||
mv $@.tmp $@
|
||||
|
||||
push:
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>invalid href: scheme-javascript-no-slash-malformed</title>
|
||||
<a href="javascript:example.com/"></a>
|
|
@ -1,4 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>invalid href: scheme-javascript-no-slash-malformed</title>
|
||||
<map name=foo><area href="javascript:example.com/" alt></map>
|
|
@ -1,4 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>invalid src: scheme-javascript-no-slash-malformed</title>
|
||||
<audio src="javascript:example.com/"></audio>
|
|
@ -1,4 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>invalid href: scheme-javascript-no-slash-malformed</title>
|
||||
<base href="javascript:example.com/">
|
|
@ -1,4 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>invalid cite: scheme-javascript-no-slash-malformed</title>
|
||||
<blockquote cite="javascript:example.com/"></blockquote>
|
|
@ -1,4 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>invalid formaction: scheme-javascript-no-slash-malformed</title>
|
||||
<button formaction="javascript:example.com/"></button>
|
|
@ -1,4 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>invalid cite: scheme-javascript-no-slash-malformed</title>
|
||||
<del cite="javascript:example.com/"></del>
|
|
@ -1,4 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>invalid src: scheme-javascript-no-slash-malformed</title>
|
||||
<embed src="javascript:example.com/">
|
|
@ -1,4 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>invalid action: scheme-javascript-no-slash-malformed</title>
|
||||
<form action="javascript:example.com/"></form>
|
|
@ -1,4 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>invalid src: scheme-javascript-no-slash-malformed</title>
|
||||
<iframe src="javascript:example.com/"></iframe>
|
|
@ -1,4 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>invalid src: scheme-javascript-no-slash-malformed</title>
|
||||
<img src="javascript:example.com/" alt>
|
|
@ -1,4 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>invalid formaction: scheme-javascript-no-slash-malformed</title>
|
||||
<input type=image alt="foo" formaction="javascript:example.com/">
|
|
@ -1,4 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>invalid src: scheme-javascript-no-slash-malformed</title>
|
||||
<input type=image alt="foo" src="javascript:example.com/">
|
|
@ -1,4 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>invalid formaction: scheme-javascript-no-slash-malformed</title>
|
||||
<input type=submit formaction="javascript:example.com/">
|
|
@ -1,4 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>invalid value attribute: scheme-javascript-no-slash-malformed</title>
|
||||
<input type=url value="javascript:example.com/">
|
|
@ -1,4 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>invalid cite: scheme-javascript-no-slash-malformed</title>
|
||||
<ins cite="javascript:example.com/"></ins>
|
|
@ -1,4 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>invalid href: scheme-javascript-no-slash-malformed</title>
|
||||
<link href="javascript:example.com/" rel=help>
|
|
@ -1,4 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>invalid data: scheme-javascript-no-slash-malformed</title>
|
||||
<object data="javascript:example.com/"></object>
|
|
@ -1,4 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>invalid cite: scheme-javascript-no-slash-malformed</title>
|
||||
<q cite="javascript:example.com/"></q>
|
|
@ -1,4 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>invalid src: scheme-javascript-no-slash-malformed</title>
|
||||
<script src="javascript:example.com/"></script>
|
|
@ -1,4 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>invalid src: scheme-javascript-no-slash-malformed</title>
|
||||
<video><source src="javascript:example.com/"></video>
|
|
@ -1,4 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>invalid src: scheme-javascript-no-slash-malformed</title>
|
||||
<video><track src="javascript:example.com/"></video>
|
|
@ -1,4 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>invalid poster: scheme-javascript-no-slash-malformed</title>
|
||||
<video poster="javascript:example.com/"></video>
|
|
@ -1,4 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>invalid src: scheme-javascript-no-slash-malformed</title>
|
||||
<video src="javascript:example.com/"></video>
|
|
@ -1,4 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>invalid itemid: scheme-javascript-no-slash-malformed</title>
|
||||
<div itemid="javascript:example.com/" itemtype="http://foo" itemscope></div>
|
|
@ -1,4 +0,0 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset=utf-8>
|
||||
<title>invalid itemtype: scheme-javascript-no-slash-malformed</title>
|
||||
<div itemtype="javascript:example.com/" itemscope></div>
|
|
@ -144,7 +144,6 @@
|
|||
"html/elements/a/href/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/a/href/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/a/href/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/a/href/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Unexpected token.",
|
||||
"html/elements/a/href/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/a/href/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/a/href/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201chref\u201d on element \u201ca\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
|
||||
|
@ -214,7 +213,6 @@
|
|||
"html/elements/area/href/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/area/href/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/area/href/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/area/href/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Unexpected token.",
|
||||
"html/elements/area/href/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/area/href/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/area/href/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201chref\u201d on element \u201carea\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
|
||||
|
@ -284,7 +282,6 @@
|
|||
"html/elements/audio/src/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/audio/src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/audio/src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/audio/src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Unexpected token.",
|
||||
"html/elements/audio/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/audio/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/audio/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201caudio\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
|
||||
|
@ -350,7 +347,6 @@
|
|||
"html/elements/base/href/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/base/href/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/base/href/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/base/href/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Unexpected token.",
|
||||
"html/elements/base/href/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/base/href/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/base/href/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201chref\u201d on element \u201cbase\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
|
||||
|
@ -416,7 +412,6 @@
|
|||
"html/elements/blockquote/cite/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/blockquote/cite/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/blockquote/cite/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/blockquote/cite/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Unexpected token.",
|
||||
"html/elements/blockquote/cite/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/blockquote/cite/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/blockquote/cite/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201ccite\u201d on element \u201cblockquote\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
|
||||
|
@ -485,7 +480,6 @@
|
|||
"html/elements/button/formaction/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/button/formaction/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/button/formaction/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/button/formaction/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Unexpected token.",
|
||||
"html/elements/button/formaction/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/button/formaction/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/button/formaction/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201cformaction\u201d on element \u201cbutton\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
|
||||
|
@ -553,7 +547,6 @@
|
|||
"html/elements/del/cite/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/del/cite/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/del/cite/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/del/cite/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Unexpected token.",
|
||||
"html/elements/del/cite/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/del/cite/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/del/cite/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201ccite\u201d on element \u201cdel\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
|
||||
|
@ -749,7 +742,6 @@
|
|||
"html/elements/embed/src/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/embed/src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/embed/src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/embed/src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Unexpected token.",
|
||||
"html/elements/embed/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/embed/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/embed/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201cembed\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
|
||||
|
@ -820,7 +812,6 @@
|
|||
"html/elements/form/action/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/form/action/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/form/action/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/form/action/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Unexpected token.",
|
||||
"html/elements/form/action/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/form/action/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/form/action/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201caction\u201d on element \u201cform\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
|
||||
|
@ -898,7 +889,6 @@
|
|||
"html/elements/iframe/src/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/iframe/src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/iframe/src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/iframe/src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Unexpected token.",
|
||||
"html/elements/iframe/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/iframe/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/iframe/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201ciframe\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
|
||||
|
@ -966,7 +956,6 @@
|
|||
"html/elements/img/src/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/img/src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/img/src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/img/src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Unexpected token.",
|
||||
"html/elements/img/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/img/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/img/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201cimg\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
|
||||
|
@ -1038,7 +1027,6 @@
|
|||
"html/elements/input/type-image-formaction/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/input/type-image-formaction/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/input/type-image-formaction/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/input/type-image-formaction/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Unexpected token.",
|
||||
"html/elements/input/type-image-formaction/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/input/type-image-formaction/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/input/type-image-formaction/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
|
||||
|
@ -1105,7 +1093,6 @@
|
|||
"html/elements/input/type-image-src/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/input/type-image-src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/input/type-image-src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/input/type-image-src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Unexpected token.",
|
||||
"html/elements/input/type-image-src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/input/type-image-src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/input/type-image-src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
|
||||
|
@ -1172,7 +1159,6 @@
|
|||
"html/elements/input/type-submit-formaction/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/input/type-submit-formaction/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/input/type-submit-formaction/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/input/type-submit-formaction/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Unexpected token.",
|
||||
"html/elements/input/type-submit-formaction/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/input/type-submit-formaction/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/input/type-submit-formaction/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201cformaction\u201d on element \u201cinput\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
|
||||
|
@ -1246,7 +1232,6 @@
|
|||
"html/elements/input/type-url-value/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Expected a slash (\"/\").",
|
||||
"html/elements/input/type-url-value/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Expected a slash (\"/\").",
|
||||
"html/elements/input/type-url-value/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Expected a slash (\"/\").",
|
||||
"html/elements/input/type-url-value/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Unexpected token.",
|
||||
"html/elements/input/type-url-value/scheme-schemeless-relative-novalid.html": "Bad value \u201c//foo/bar\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: The string \u201c//foo/bar\u201d is not an absolute URL.",
|
||||
"html/elements/input/type-url-value/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/input/type-url-value/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cvalue\u201d on element \u201cinput\u201d: Bad absolute URL: Illegal character in scheme data: line break is not allowed.",
|
||||
|
@ -1312,7 +1297,6 @@
|
|||
"html/elements/ins/cite/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/ins/cite/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/ins/cite/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/ins/cite/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Unexpected token.",
|
||||
"html/elements/ins/cite/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/ins/cite/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/ins/cite/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201ccite\u201d on element \u201cins\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
|
||||
|
@ -1485,7 +1469,6 @@
|
|||
"html/elements/link/href/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/link/href/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/link/href/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/link/href/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Unexpected token.",
|
||||
"html/elements/link/href/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/link/href/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/link/href/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201chref\u201d on element \u201clink\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
|
||||
|
@ -1554,7 +1537,6 @@
|
|||
"html/elements/object/data/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/object/data/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/object/data/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/object/data/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Unexpected token.",
|
||||
"html/elements/object/data/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/object/data/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/object/data/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201cdata\u201d on element \u201cobject\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
|
||||
|
@ -1822,7 +1804,6 @@
|
|||
"html/elements/q/cite/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/q/cite/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/q/cite/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/q/cite/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Unexpected token.",
|
||||
"html/elements/q/cite/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/q/cite/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/q/cite/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201ccite\u201d on element \u201cq\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
|
||||
|
@ -1894,7 +1875,6 @@
|
|||
"html/elements/script/src/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/script/src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/script/src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/script/src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Unexpected token.",
|
||||
"html/elements/script/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/script/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/script/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201cscript\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
|
||||
|
@ -1962,7 +1942,6 @@
|
|||
"html/elements/source/src/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/source/src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/source/src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/source/src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Unexpected token.",
|
||||
"html/elements/source/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/source/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/source/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201csource\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
|
||||
|
@ -2049,7 +2028,6 @@
|
|||
"html/elements/track/src/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/track/src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/track/src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/track/src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Unexpected token.",
|
||||
"html/elements/track/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/track/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/track/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201ctrack\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
|
||||
|
@ -2119,7 +2097,6 @@
|
|||
"html/elements/video/poster/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/video/poster/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/video/poster/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/video/poster/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Unexpected token.",
|
||||
"html/elements/video/poster/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/video/poster/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/video/poster/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201cposter\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
|
||||
|
@ -2184,7 +2161,6 @@
|
|||
"html/elements/video/src/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/video/src/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/video/src/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/elements/video/src/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Unexpected token.",
|
||||
"html/elements/video/src/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/video/src/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/elements/video/src/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201csrc\u201d on element \u201cvideo\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
|
||||
|
@ -2272,7 +2248,6 @@
|
|||
"html/microdata/itemid/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/microdata/itemid/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/microdata/itemid/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Expected a slash (\"/\").",
|
||||
"html/microdata/itemid/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Unexpected token.",
|
||||
"html/microdata/itemid/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/microdata/itemid/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in scheme data: line break is not allowed.",
|
||||
"html/microdata/itemid/scheme-trailing-space-novalid.html": "Bad value \u201ca: foo.com\u201d for attribute \u201citemid\u201d on element \u201cdiv\u201d: Bad URL: Illegal character in scheme data: space is not allowed.",
|
||||
|
@ -2344,7 +2319,6 @@
|
|||
"html/microdata/itemtype/scheme-http-single-slash-novalid.html": "Bad value \u201chttp:/example.com/\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Expected a slash (\"/\").",
|
||||
"html/microdata/itemtype/scheme-https-no-slash-novalid.html": "Bad value \u201chttps:example.com/\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Expected a slash (\"/\").",
|
||||
"html/microdata/itemtype/scheme-https-single-slash-novalid.html": "Bad value \u201chttps:/example.com/\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Expected a slash (\"/\").",
|
||||
"html/microdata/itemtype/scheme-javascript-no-slash-malformed-novalid.html": "Bad value \u201cjavascript:example.com/\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: Unexpected token.",
|
||||
"html/microdata/itemtype/scheme-schemeless-relative-novalid.html": "Bad value \u201c//foo/bar\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201c//foo/bar\u201d is not an absolute URL.",
|
||||
"html/microdata/itemtype/scheme-trailing-cr-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201cfoo.com\u201d is not an absolute URL.",
|
||||
"html/microdata/itemtype/scheme-trailing-newline-novalid.html": "Bad value \u201ca:\nfoo.com\u201d for attribute \u201citemtype\u201d on element \u201cdiv\u201d: Bad absolute URL: The string \u201cfoo.com\u201d is not an absolute URL.",
|
||||
|
|
|
@ -17,7 +17,6 @@ invalid = {
|
|||
"scheme-data-single-slash": "data:/example.com/",
|
||||
"scheme-ftp-no-slash": "ftp:example.com/",
|
||||
"scheme-https-no-slash": "https:example.com/",
|
||||
"scheme-javascript-no-slash-malformed": "javascript:example.com/",
|
||||
"userinfo-password-bad-chars": "http://&a:foo(b]c@d:2/",
|
||||
"userinfo-username-contains-at-sign": "http://::@c@d:2",
|
||||
"userinfo-backslash": "http://a\\b:c\\d@foo.com",
|
||||
|
|
|
@ -0,0 +1,65 @@
|
|||
'use strict';
|
||||
|
||||
test(() => {
|
||||
const event = new CookieChangeEvent('change');
|
||||
assert_true(event instanceof CookieChangeEvent);
|
||||
assert_equals(event.type, 'change');
|
||||
assert_equals(event.changed.length, 0);
|
||||
assert_equals(event.deleted.length, 0);
|
||||
}, 'CookieChangeEvent construction with default arguments');
|
||||
|
||||
test(() => {
|
||||
const event = new CookieChangeEvent('change', {
|
||||
changed: [
|
||||
{ name: 'changed-name1', value: 'changed-value1' },
|
||||
{ name: 'changed-name2', value: 'changed-value2' },
|
||||
],
|
||||
});
|
||||
assert_true(event instanceof CookieChangeEvent);
|
||||
assert_equals(event.type, 'change');
|
||||
assert_equals(event.changed.length, 2);
|
||||
assert_equals(event.changed[0].name, 'changed-name1');
|
||||
assert_equals(event.changed[0].value, 'changed-value1');
|
||||
assert_equals(event.changed[1].name, 'changed-name2');
|
||||
assert_equals(event.changed[1].value, 'changed-value2');
|
||||
assert_equals(event.deleted.length, 0);
|
||||
}, 'CookieChangeEvent construction with changed cookie list');
|
||||
|
||||
test(() => {
|
||||
const event = new CookieChangeEvent('change', {
|
||||
deleted: [
|
||||
{ name: 'deleted-name1', value: 'deleted-value1' },
|
||||
{ name: 'deleted-name2', value: 'deleted-value2' },
|
||||
],
|
||||
});
|
||||
assert_true(event instanceof CookieChangeEvent);
|
||||
assert_equals(event.type, 'change');
|
||||
assert_equals(event.changed.length, 0);
|
||||
assert_equals(event.deleted.length, 2);
|
||||
assert_equals(event.deleted[0].name, 'deleted-name1');
|
||||
assert_equals(event.deleted[0].value, 'deleted-value1');
|
||||
assert_equals(event.deleted[1].name, 'deleted-name2');
|
||||
assert_equals(event.deleted[1].value, 'deleted-value2');
|
||||
}, 'CookieChangeEvent construction with deleted cookie list');
|
||||
|
||||
test(() => {
|
||||
const event = new CookieChangeEvent('change', {
|
||||
changed: [
|
||||
{ name: 'changed-name1', value: 'changed-value1' },
|
||||
{ name: 'changed-name2', value: 'changed-value2' },
|
||||
],
|
||||
deleted: [
|
||||
{ name: 'deleted-name1', value: 'deleted-value1' },
|
||||
],
|
||||
});
|
||||
assert_true(event instanceof CookieChangeEvent);
|
||||
assert_equals(event.type, 'change');
|
||||
assert_equals(event.changed.length, 2);
|
||||
assert_equals(event.changed[0].name, 'changed-name1');
|
||||
assert_equals(event.changed[0].value, 'changed-value1');
|
||||
assert_equals(event.changed[1].name, 'changed-name2');
|
||||
assert_equals(event.changed[1].value, 'changed-value2');
|
||||
assert_equals(event.deleted.length, 1);
|
||||
assert_equals(event.deleted[0].name, 'deleted-name1');
|
||||
assert_equals(event.deleted[0].value, 'deleted-value1');
|
||||
}, 'CookieChangeEvent construction with changed and deleted cookie lists');
|
|
@ -0,0 +1,29 @@
|
|||
'use strict';
|
||||
|
||||
// Workaround because add_cleanup doesn't support async functions yet.
|
||||
// See https://github.com/w3c/web-platform-tests/issues/6075
|
||||
async function async_cleanup(cleanup_function) {
|
||||
try {
|
||||
await cleanup_function();
|
||||
} catch (e) {
|
||||
// Errors in cleanup functions shouldn't result in test failures.
|
||||
}
|
||||
}
|
||||
|
||||
promise_test(async testCase => {
|
||||
const eventPromise = new Promise((resolve) => {
|
||||
cookieStore.onchange = resolve;
|
||||
});
|
||||
|
||||
await cookieStore.set('cookie-name', 'cookie-value');
|
||||
|
||||
const event = await eventPromise;
|
||||
assert_true(event instanceof CookieChangeEvent);
|
||||
assert_equals(event.type, 'change');
|
||||
assert_equals(event.changed.length, 1);
|
||||
assert_equals(event.changed[0].name, 'cookie-name');
|
||||
assert_equals(event.changed[0].value, 'cookie-value');
|
||||
assert_equals(event.deleted.length, 0);
|
||||
|
||||
await async_cleanup(() => cookieStore.delete('cookie-name'));
|
||||
}, 'cookieStore fires change event for cookie set by cookieStore.set()');
|
|
@ -0,0 +1,31 @@
|
|||
'use strict';
|
||||
|
||||
// Workaround because add_cleanup doesn't support async functions yet.
|
||||
// See https://github.com/w3c/web-platform-tests/issues/6075
|
||||
async function async_cleanup(cleanup_function) {
|
||||
try {
|
||||
await cleanup_function();
|
||||
} catch (e) {
|
||||
// Errors in cleanup functions shouldn't result in test failures.
|
||||
}
|
||||
}
|
||||
|
||||
promise_test(async testCase => {
|
||||
await cookieStore.set('cookie-name', 'cookie-value');
|
||||
|
||||
const eventPromise = new Promise((resolve) => {
|
||||
cookieStore.onchange = resolve;
|
||||
});
|
||||
await cookieStore.delete('cookie-name');
|
||||
const event = await eventPromise;
|
||||
assert_true(event instanceof CookieChangeEvent);
|
||||
assert_equals(event.type, 'change');
|
||||
assert_equals(event.deleted.length, 1);
|
||||
assert_equals(event.deleted[0].name, 'cookie-name');
|
||||
assert_equals(
|
||||
event.deleted[0].value, undefined,
|
||||
'Cookie change events for deletions should not have cookie values');
|
||||
assert_equals(event.changed.length, 0);
|
||||
|
||||
await async_cleanup(() => cookieStore.delete('cookie-name'));
|
||||
}, 'cookieStore fires change event for cookie deleted by cookieStore.delete()');
|
|
@ -0,0 +1,31 @@
|
|||
'use strict';
|
||||
|
||||
// Workaround because add_cleanup doesn't support async functions yet.
|
||||
// See https://github.com/w3c/web-platform-tests/issues/6075
|
||||
async function async_cleanup(cleanup_function) {
|
||||
try {
|
||||
await cleanup_function();
|
||||
} catch (e) {
|
||||
// Errors in cleanup functions shouldn't result in test failures.
|
||||
}
|
||||
}
|
||||
|
||||
promise_test(async testCase => {
|
||||
await cookieStore.set('cookie-name', 'cookie-value');
|
||||
|
||||
const eventPromise = new Promise((resolve) => {
|
||||
cookieStore.onchange = resolve;
|
||||
});
|
||||
|
||||
await cookieStore.set('cookie-name', 'new-cookie-value');
|
||||
|
||||
const event = await eventPromise;
|
||||
assert_true(event instanceof CookieChangeEvent);
|
||||
assert_equals(event.type, 'change');
|
||||
assert_equals(event.changed.length, 1);
|
||||
assert_equals(event.changed[0].name, 'cookie-name');
|
||||
assert_equals(event.changed[0].value, 'new-cookie-value');
|
||||
assert_equals(event.deleted.length, 0);
|
||||
|
||||
await async_cleanup(() => cookieStore.delete('cookie-name'));
|
||||
}, 'cookieStore fires change event for cookie overwritten by cookieStore.set()');
|
|
@ -21,6 +21,9 @@ promise_test(async t => {
|
|||
idl_array.add_untested_idls('interface LinkStyle {};');
|
||||
idl_array.add_untested_idls(html);
|
||||
|
||||
idl_array.add_untested_idls('interface Event {};');
|
||||
idl_array.add_untested_idls('dictionary EventInit {};');
|
||||
idl_array.add_untested_idls('interface EventTarget {};');
|
||||
idl_array.add_untested_idls(
|
||||
`[Global=ServiceWorker, Exposed=ServiceWorker]
|
||||
interface ServiceWorkerGlobalScope {};`);
|
||||
|
@ -29,6 +32,7 @@ promise_test(async t => {
|
|||
|
||||
idl_array.add_objects({
|
||||
CookieStore: [self.cookieStore],
|
||||
CookieChangeEvent: [new CookieChangeEvent('change')],
|
||||
});
|
||||
idl_array.test();
|
||||
}, 'Interface test');
|
||||
|
|
|
@ -13,6 +13,14 @@ promise_test(async t => {
|
|||
|
||||
const idl_array = new IdlArray();
|
||||
|
||||
idl_array.add_untested_idls(
|
||||
`[Global=Event, Exposed=ServiceWorker]
|
||||
interface Event {};`);
|
||||
idl_array.add_untested_idls('dictionary EventHandler {};');
|
||||
idl_array.add_untested_idls('dictionary EventInit {};');
|
||||
idl_array.add_untested_idls(
|
||||
`[Global=EventTarget, Exposed=ServiceWorker]
|
||||
interface EventTarget {};`);
|
||||
idl_array.add_untested_idls(
|
||||
`[Global=ServiceWorker, Exposed=ServiceWorker]
|
||||
interface ServiceWorkerGlobalScope {};`);
|
||||
|
@ -24,6 +32,7 @@ promise_test(async t => {
|
|||
|
||||
idl_array.add_objects({
|
||||
CookieStore: [self.cookieStore],
|
||||
CookieChangeEvent: [new CookieChangeEvent('change')],
|
||||
});
|
||||
idl_array.test();
|
||||
}, 'Interface test');
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
<!DOCTYPE html>
|
||||
<title>Unresolvable percentage min-height</title>
|
||||
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
|
||||
<link rel="help" href="https://www.w3.org/TR/CSS22/visudet.html#min-max-heights" title="10.7 Minimum and maximum heights: 'min-height' and 'max-height'">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/resources/check-layout-th.js"></script>
|
||||
<div id="container" style="width:100px; height:30000px; max-height:100%;" data-expected-height="30000">
|
||||
<div style="height:12345px;"></div>
|
||||
</div>
|
||||
<script>
|
||||
checkLayout("#container");
|
||||
</script>
|
|
@ -0,0 +1,14 @@
|
|||
<!DOCTYPE html>
|
||||
<title>Unresolvable percentage min-height</title>
|
||||
<link rel="author" title="Morten Stenshorne" href="mstensho@chromium.org">
|
||||
<link rel="help" href="https://www.w3.org/TR/CSS22/visudet.html#min-max-heights" title="10.7 Minimum and maximum heights: 'min-height' and 'max-height'">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/resources/check-layout-th.js"></script>
|
||||
<p>There should be a blue square below.</p>
|
||||
<div id="container" style="width:100px; max-height:100px; min-height:100%; background:blue;" data-expected-height="100">
|
||||
<div style="height:300px;"></div>
|
||||
</div>
|
||||
<script>
|
||||
checkLayout("#container");
|
||||
</script>
|
|
@ -11,6 +11,7 @@
|
|||
#columnGapVw { column-gap: 2vw; }
|
||||
#columnGapPercent { column-gap: 15%; }
|
||||
#columnGapCalc { column-gap: calc(10px + 4px); }
|
||||
#columnGapCalcFixedPercent { column-gap: calc(5px + 10%); }
|
||||
.columnGapInitial { column-gap: initial; }
|
||||
.columnGapInherit { column-gap: inherit; }
|
||||
|
||||
|
@ -31,6 +32,7 @@
|
|||
<div id="columnGapVw"></div>
|
||||
<div id="columnGapPercent"></div>
|
||||
<div id="columnGapCalc"></div>
|
||||
<div id="columnGapCalcFixedPercent"></div>
|
||||
<div id="columnGapInitial" class="columnGapInitial"></div>
|
||||
<div class="columnGapPx">
|
||||
<div id="columnGapInitialPx" class="columnGapInitial"></div>
|
||||
|
@ -81,6 +83,11 @@
|
|||
var target = document.getElementById("columnGapCalc");
|
||||
assert_equals(getComputedStyle(target).columnGap, "14px");
|
||||
}, "column-gap accepts calc()");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("columnGapCalcFixedPercent");
|
||||
assert_equals(getComputedStyle(target).columnGap, "calc(5px + 10%)");
|
||||
}, "column-gap accepts calc() mixing fixed and percentage values");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("columnGapInitial");
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
#gapPercent { gap: 15%; }
|
||||
#gapPercentTwo { gap: 15% 10%; }
|
||||
#gapCalc { gap: calc(10px + 4px); }
|
||||
#gapCalcFixedPercent { gap: calc(5px + 10%); }
|
||||
#gapCalcTwo { gap: calc(10px + 4px) calc(20px - 8px); }
|
||||
.gapInitial { gap: initial; }
|
||||
.gapInherit { gap: inherit; }
|
||||
|
@ -44,6 +45,7 @@
|
|||
<div id="gapPercent"></div>
|
||||
<div id="gapPercentTwo"></div>
|
||||
<div id="gapCalc"></div>
|
||||
<div id="gapCalcFixedPercent"></div>
|
||||
<div id="gapCalcTwo"></div>
|
||||
<div id="gapInitial" class="gapInitial"></div>
|
||||
<div class="gapPx">
|
||||
|
@ -135,6 +137,12 @@
|
|||
assert_equals(getComputedStyle(target).rowGap, "14px");
|
||||
assert_equals(getComputedStyle(target).columnGap, "14px");
|
||||
}, "gap accepts calc()");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("gapCalcFixedPercent");
|
||||
assert_equals(getComputedStyle(target).rowGap, "calc(5px + 10%)");
|
||||
assert_equals(getComputedStyle(target).columnGap, "calc(5px + 10%)");
|
||||
}, "gap accepts calc() mixing fixed and percentage values");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("gapCalcTwo");
|
||||
|
|
|
@ -1,26 +1,27 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Box Alignment Test: column-gap parsing</title>
|
||||
<title>CSS Box Alignment Test: grid-column-gap parsing</title>
|
||||
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
|
||||
<link rel="help" href="https://www.w3.org/TR/css-align-3/#gap-legacy">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<style>
|
||||
.columnGapPx { column-gap: 12px; }
|
||||
#columnGapEm { column-gap: 2em; font: 10px/1 Monospace; }
|
||||
#columnGapVw { column-gap: 2vw; }
|
||||
#columnGapPercent { column-gap: 15%; }
|
||||
#columnGapCalc { column-gap: calc(10px + 4px); }
|
||||
.columnGapInitial { column-gap: initial; }
|
||||
.columnGapInherit { column-gap: inherit; }
|
||||
.columnGapPx { grid-column-gap: 12px; }
|
||||
#columnGapEm { grid-column-gap: 2em; font: 10px/1 Monospace; }
|
||||
#columnGapVw { grid-column-gap: 2vw; }
|
||||
#columnGapPercent { grid-column-gap: 15%; }
|
||||
#columnGapCalc { grid-column-gap: calc(10px + 4px); }
|
||||
#columnGapCalcFixedPercent { grid-column-gap: calc(5px + 10%); }
|
||||
.columnGapInitial { grid-column-gap: initial; }
|
||||
.columnGapInherit { grid-column-gap: inherit; }
|
||||
|
||||
#invalidColumnGapNegative { column-gap: -10px; }
|
||||
#invalidColumnGapMaxContent { column-gap: max-content; }
|
||||
#invalidColumnGapNone { column-gap: none; }
|
||||
#invalidColumnGapMultiple { column-gap: 10px 1px; }
|
||||
#invalidColumnGapAngle { column-gap: 3rad; }
|
||||
#invalidColumnGapResolution { column-gap: 2dpi; }
|
||||
#invalidColumnGapTime { column-gap: 200ms; }
|
||||
#invalidColumnGapNegative { grid-column-gap: -10px; }
|
||||
#invalidColumnGapMaxContent { grid-column-gap: max-content; }
|
||||
#invalidColumnGapNone { grid-column-gap: none; }
|
||||
#invalidColumnGapMultiple { grid-column-gap: 10px 1px; }
|
||||
#invalidColumnGapAngle { grid-column-gap: 3rad; }
|
||||
#invalidColumnGapResolution { grid-column-gap: 2dpi; }
|
||||
#invalidColumnGapTime { grid-column-gap: 200ms; }
|
||||
</style>
|
||||
<body>
|
||||
<div id="log"></div>
|
||||
|
@ -31,6 +32,7 @@
|
|||
<div id="columnGapVw"></div>
|
||||
<div id="columnGapPercent"></div>
|
||||
<div id="columnGapCalc"></div>
|
||||
<div id="columnGapCalcFixedPercent"></div>
|
||||
<div id="columnGapInitial" class="columnGapInitial"></div>
|
||||
<div class="columnGapPx">
|
||||
<div id="columnGapInitialPx" class="columnGapInitial"></div>
|
||||
|
@ -53,91 +55,96 @@
|
|||
function(){
|
||||
var target = document.getElementById("default");
|
||||
assert_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "Default column-gap is 'normal'");
|
||||
}, "Default grid-column-gap is 'normal'");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("columnGapPx");
|
||||
assert_equals(getComputedStyle(target).columnGap, "12px");
|
||||
}, "column-gap accepts pixels");
|
||||
}, "grid-column-gap accepts pixels");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("columnGapEm");
|
||||
assert_equals(getComputedStyle(target).columnGap, "20px");
|
||||
}, "column-gap accepts em");
|
||||
}, "grid-column-gap accepts em");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("columnGapVw");
|
||||
// The columnGap size would depend on the viewport width, so to make the test pass
|
||||
// in any window size we just check it's not "normal".
|
||||
assert_not_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "column-gap accepts vw");
|
||||
}, "grid-column-gap accepts vw");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("columnGapPercent");
|
||||
assert_equals(getComputedStyle(target).columnGap, "15%");
|
||||
}, "column-gap accepts percentage");
|
||||
}, "grid-column-gap accepts percentage");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("columnGapCalc");
|
||||
assert_equals(getComputedStyle(target).columnGap, "14px");
|
||||
}, "column-gap accepts calc()");
|
||||
}, "grid-column-gap accepts calc()");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("columnGapCalcFixedPercent");
|
||||
assert_equals(getComputedStyle(target).columnGap, "calc(5px + 10%)");
|
||||
}, "grid-column-gap accepts calc() mixing fixed and percentage values");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("columnGapInitial");
|
||||
assert_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "Initial column-gap is 'normal'");
|
||||
}, "Initial grid-column-gap is 'normal'");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("columnGapInitialPx");
|
||||
assert_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "Initial column-gap is 'normal' 2");
|
||||
}, "Initial grid-column-gap is 'normal' 2");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("columnGapInherit");
|
||||
assert_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "Initial inherited column-gap is 'normal'");
|
||||
}, "Initial inherited grid-column-gap is 'normal'");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("columnGapInheritPx");
|
||||
assert_equals(getComputedStyle(target).columnGap, "12px");
|
||||
}, "column-gap is inheritable");
|
||||
}, "grid-column-gap is inheritable");
|
||||
|
||||
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("invalidColumnGapNegative");
|
||||
assert_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "Negative column-gap is invalid");
|
||||
}, "Negative grid-column-gap is invalid");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("invalidColumnGapMaxContent");
|
||||
assert_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "'max-content' column-gap is invalid");
|
||||
}, "'max-content' grid-column-gap is invalid");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("invalidColumnGapNone");
|
||||
assert_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "'none' column-gap is invalid");
|
||||
}, "'none' grid-column-gap is invalid");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("invalidColumnGapMultiple");
|
||||
assert_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "column-gap with multiple values is invalid");
|
||||
}, "grid-column-gap with multiple values is invalid");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("invalidColumnGapAngle");
|
||||
assert_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "Angle column-gap is invalid");
|
||||
}, "Angle grid-column-gap is invalid");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("invalidColumnGapResolution");
|
||||
assert_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "Resolution column-gap is invalid");
|
||||
}, "Resolution grid-column-gap is invalid");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("invalidColumnGapTime");
|
||||
assert_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "Time column-gap is invalid");
|
||||
}, "Time grid-column-gap is invalid");
|
||||
</script>
|
||||
</body>
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
#gapPercent { grid-gap: 15%; }
|
||||
#gapPercentTwo { grid-gap: 15% 10%; }
|
||||
#gapCalc { grid-gap: calc(10px + 4px); }
|
||||
#gapCalcFixedPercent { grid-gap: calc(5px + 10%); }
|
||||
#gapCalcTwo { grid-gap: calc(10px + 4px) calc(20px - 8px); }
|
||||
.gapInitial { grid-gap: initial; }
|
||||
.gapInherit { grid-gap: inherit; }
|
||||
|
@ -44,6 +45,7 @@
|
|||
<div id="gapPercent"></div>
|
||||
<div id="gapPercentTwo"></div>
|
||||
<div id="gapCalc"></div>
|
||||
<div id="gapCalcFixedPercent"></div>
|
||||
<div id="gapCalcTwo"></div>
|
||||
<div id="gapInitial" class="gapInitial"></div>
|
||||
<div class="gapPx">
|
||||
|
@ -70,37 +72,37 @@
|
|||
var target = document.getElementById("default");
|
||||
assert_equals(getComputedStyle(target).rowGap, "normal");
|
||||
assert_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "Default gap is 'normal'");
|
||||
}, "Default grid-gap is 'normal'");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("gapPx");
|
||||
assert_equals(getComputedStyle(target).rowGap, "12px");
|
||||
assert_equals(getComputedStyle(target).columnGap, "12px");
|
||||
}, "gap accepts pixels");
|
||||
}, "grid-gap accepts pixels");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("gapPxTwo");
|
||||
assert_equals(getComputedStyle(target).rowGap, "12px");
|
||||
assert_equals(getComputedStyle(target).columnGap, "8px");
|
||||
}, "gap accepts pixels 2");
|
||||
}, "grid-gap accepts pixels 2");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("gapPxPercent");
|
||||
assert_equals(getComputedStyle(target).rowGap, "12px");
|
||||
assert_equals(getComputedStyle(target).columnGap, "10%");
|
||||
}, "gap accepts pixels combined with percentage");
|
||||
}, "grid-gap accepts pixels combined with percentage");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("gapEm");
|
||||
assert_equals(getComputedStyle(target).rowGap, "20px");
|
||||
assert_equals(getComputedStyle(target).columnGap, "20px");
|
||||
}, "gap accepts em");
|
||||
}, "grid-gap accepts em");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("gapEmTwo");
|
||||
assert_equals(getComputedStyle(target).rowGap, "20px");
|
||||
assert_equals(getComputedStyle(target).columnGap, "40px");
|
||||
}, "gap accepts em 2");
|
||||
}, "grid-gap accepts em 2");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("gapVw");
|
||||
|
@ -108,7 +110,7 @@
|
|||
// in any window size we just check it's not "normal".
|
||||
assert_not_equals(getComputedStyle(target).rowGap, "normal");
|
||||
assert_not_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "gap accepts vw");
|
||||
}, "grid-gap accepts vw");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("gapVwTwo");
|
||||
|
@ -116,110 +118,116 @@
|
|||
// in any window size we just check it's not "normal".
|
||||
assert_not_equals(getComputedStyle(target).rowGap, "normal");
|
||||
assert_not_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "gap accepts vw and vh");
|
||||
}, "grid-gap accepts vw and vh");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("gapPercent");
|
||||
assert_equals(getComputedStyle(target).rowGap, "15%");
|
||||
assert_equals(getComputedStyle(target).columnGap, "15%");
|
||||
}, "gap accepts percentage");
|
||||
}, "grid-gap accepts percentage");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("gapPercentTwo");
|
||||
assert_equals(getComputedStyle(target).rowGap, "15%");
|
||||
assert_equals(getComputedStyle(target).columnGap, "10%");
|
||||
}, "gap accepts percentage 2");
|
||||
}, "grid-gap accepts percentage 2");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("gapCalc");
|
||||
assert_equals(getComputedStyle(target).rowGap, "14px");
|
||||
assert_equals(getComputedStyle(target).columnGap, "14px");
|
||||
}, "gap accepts calc()");
|
||||
}, "grid-gap accepts calc()");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("gapCalcFixedPercent");
|
||||
assert_equals(getComputedStyle(target).rowGap, "calc(5px + 10%)");
|
||||
assert_equals(getComputedStyle(target).columnGap, "calc(5px + 10%)");
|
||||
}, "grid-gap accepts calc() mixing fixed and percentage values");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("gapCalcTwo");
|
||||
assert_equals(getComputedStyle(target).rowGap, "14px");
|
||||
assert_equals(getComputedStyle(target).columnGap, "12px");
|
||||
}, "gap accepts calc() 2");
|
||||
}, "grid-gap accepts calc() 2");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("gapInitial");
|
||||
assert_equals(getComputedStyle(target).rowGap, "normal");
|
||||
assert_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "Initial gap is 'normal'");
|
||||
}, "Initial grid-gap is 'normal'");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("gapInitialPx");
|
||||
assert_equals(getComputedStyle(target).rowGap, "normal");
|
||||
assert_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "Initial gap is 'normal' 2");
|
||||
}, "Initial grid-gap is 'normal' 2");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("gapInherit");
|
||||
assert_equals(getComputedStyle(target).rowGap, "normal");
|
||||
assert_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "Initial inherited gap is 'normal'");
|
||||
}, "Initial inherited grid-gap is 'normal'");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("gapInheritPx");
|
||||
assert_equals(getComputedStyle(target).rowGap, "12px");
|
||||
assert_equals(getComputedStyle(target).columnGap, "12px");
|
||||
}, "gap is inheritable");
|
||||
}, "grid-gap is inheritable");
|
||||
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("invalidGridGapNegative");
|
||||
assert_equals(getComputedStyle(target).rowGap, "normal");
|
||||
assert_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "Negative gap is invalid");
|
||||
}, "Negative grid-gap is invalid");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("invalidGridGapMaxContent");
|
||||
assert_equals(getComputedStyle(target).rowGap, "normal");
|
||||
assert_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "'max-content' gap is invalid");
|
||||
}, "'max-content' grid-gap is invalid");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("invalidGridGapNone");
|
||||
assert_equals(getComputedStyle(target).rowGap, "normal");
|
||||
assert_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "'none' gap is invalid");
|
||||
}, "'none' grid-gap is invalid");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("invalidGridGapAngle");
|
||||
assert_equals(getComputedStyle(target).rowGap, "normal");
|
||||
assert_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "Angle gap is invalid");
|
||||
}, "Angle grid-gap is invalid");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("invalidGridGapResolution");
|
||||
assert_equals(getComputedStyle(target).rowGap, "normal");
|
||||
assert_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "Resolution gap is invalid");
|
||||
}, "Resolution grid-gap is invalid");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("invalidGridGapTime");
|
||||
assert_equals(getComputedStyle(target).rowGap, "normal");
|
||||
assert_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "Time gap is invalid");
|
||||
}, "Time grid-gap is invalid");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("invalidGridGapThree");
|
||||
assert_equals(getComputedStyle(target).rowGap, "normal");
|
||||
assert_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "gap with three values is invalid");
|
||||
}, "grid-gap with three values is invalid");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("invalidGridGapSlash");
|
||||
assert_equals(getComputedStyle(target).rowGap, "normal");
|
||||
assert_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "gap with slash is invalid");
|
||||
}, "grid-gap with slash is invalid");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("invalidGridGapOneWrong");
|
||||
assert_equals(getComputedStyle(target).rowGap, "normal");
|
||||
assert_equals(getComputedStyle(target).columnGap, "normal");
|
||||
}, "gap with one wrong value is invalid");
|
||||
}, "grid-gap with one wrong value is invalid");
|
||||
</script>
|
||||
</body>
|
||||
|
||||
|
|
|
@ -1,26 +1,27 @@
|
|||
<!DOCTYPE html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Box Alignment Test: row-gap parsing</title>
|
||||
<title>CSS Box Alignment Test: grid-row-gap parsing</title>
|
||||
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
|
||||
<link rel="help" href="https://www.w3.org/TR/css-align-3/#gap-legacy">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<style>
|
||||
.rowGapPx { row-gap: 12px; }
|
||||
#rowGapEm { row-gap: 2em; font: 10px/1 Monospace; }
|
||||
#rowGapVw { row-gap: 2vw; }
|
||||
#rowGapPercent { row-gap: 15%; }
|
||||
#rowGapCalc { row-gap: calc(10px + 4px); }
|
||||
.rowGapInitial { row-gap: initial; }
|
||||
.rowGapInherit { row-gap: inherit; }
|
||||
.rowGapPx { grid-row-gap: 12px; }
|
||||
#rowGapEm { grid-row-gap: 2em; font: 10px/1 Monospace; }
|
||||
#rowGapVw { grid-row-gap: 2vw; }
|
||||
#rowGapPercent { grid-row-gap: 15%; }
|
||||
#rowGapCalc { grid-row-gap: calc(10px + 4px); }
|
||||
#rowGapCalcFixedPercent { grid-row-gap: calc(5px + 10%); }
|
||||
.rowGapInitial { grid-row-gap: initial; }
|
||||
.rowGapInherit { grid-row-gap: inherit; }
|
||||
|
||||
#invalidRowGapNegative { row-gap: -10px; }
|
||||
#invalidRowGapMaxContent { row-gap: max-content; }
|
||||
#invalidRowGapNone { row-gap: none; }
|
||||
#invalidRowGapMultiple { row-gap: 10px 1px; }
|
||||
#invalidRowGapAngle { row-gap: 3rad; }
|
||||
#invalidRowGapResolution { row-gap: 2dpi; }
|
||||
#invalidRowGapTime { row-gap: 200ms; }
|
||||
#invalidRowGapNegative { grid-row-gap: -10px; }
|
||||
#invalidRowGapMaxContent { grid-row-gap: max-content; }
|
||||
#invalidRowGapNone { grid-row-gap: none; }
|
||||
#invalidRowGapMultiple { grid-row-gap: 10px 1px; }
|
||||
#invalidRowGapAngle { grid-row-gap: 3rad; }
|
||||
#invalidRowGapResolution { grid-row-gap: 2dpi; }
|
||||
#invalidRowGapTime { grid-row-gap: 200ms; }
|
||||
</style>
|
||||
<body>
|
||||
<div id="log"></div>
|
||||
|
@ -31,6 +32,7 @@
|
|||
<div id="rowGapVw"></div>
|
||||
<div id="rowGapPercent"></div>
|
||||
<div id="rowGapCalc"></div>
|
||||
<div id="rowGapCalcFixedPercent"></div>
|
||||
<div id="rowGapInitial" class="rowGapInitial"></div>
|
||||
<div class="rowGapPx">
|
||||
<div id="rowGapInitialPx" class="rowGapInitial"></div>
|
||||
|
@ -53,91 +55,96 @@
|
|||
function(){
|
||||
var target = document.getElementById("default");
|
||||
assert_equals(getComputedStyle(target).rowGap, "normal");
|
||||
}, "Default row-gap is 'normal'");
|
||||
}, "Default grid-row-gap is 'normal'");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("rowGapPx");
|
||||
assert_equals(getComputedStyle(target).rowGap, "12px");
|
||||
}, "row-gap accepts pixels");
|
||||
}, "grid-row-gap accepts pixels");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("rowGapEm");
|
||||
assert_equals(getComputedStyle(target).rowGap, "20px");
|
||||
}, "row-gap accepts em");
|
||||
}, "grid-row-gap accepts em");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("rowGapVw");
|
||||
// The rowGap size would depend on the viewport width, so to make the test pass
|
||||
// in any window size we just check it's not "normal".
|
||||
assert_not_equals(getComputedStyle(target).rowGap, "normal");
|
||||
}, "row-gap accepts vw");
|
||||
}, "grid-row-gap accepts vw");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("rowGapPercent");
|
||||
assert_equals(getComputedStyle(target).rowGap, "15%");
|
||||
}, "row-gap accepts percentage");
|
||||
}, "grid-row-gap accepts percentage");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("rowGapCalc");
|
||||
assert_equals(getComputedStyle(target).rowGap, "14px");
|
||||
}, "row-gap accepts calc()");
|
||||
}, "grid-row-gap accepts calc()");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("rowGapCalcFixedPercent");
|
||||
assert_equals(getComputedStyle(target).rowGap, "calc(5px + 10%)");
|
||||
}, "grid-row-gap accepts calc() mixing fixed and percentage values");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("rowGapInitial");
|
||||
assert_equals(getComputedStyle(target).rowGap, "normal");
|
||||
}, "Initial row-gap is 'normal'");
|
||||
}, "Initial grid-row-gap is 'normal'");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("rowGapInitialPx");
|
||||
assert_equals(getComputedStyle(target).rowGap, "normal");
|
||||
}, "Initial row-gap is 'normal' 2");
|
||||
}, "Initial grid-row-gap is 'normal' 2");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("rowGapInherit");
|
||||
assert_equals(getComputedStyle(target).rowGap, "normal");
|
||||
}, "Initial inherited row-gap is 'normal'");
|
||||
}, "Initial inherited grid-row-gap is 'normal'");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("rowGapInheritPx");
|
||||
assert_equals(getComputedStyle(target).rowGap, "12px");
|
||||
}, "row-gap is inheritable");
|
||||
}, "grid-row-gap is inheritable");
|
||||
|
||||
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("invalidRowGapNegative");
|
||||
assert_equals(getComputedStyle(target).rowGap, "normal");
|
||||
}, "Negative row-gap is invalid");
|
||||
}, "Negative grid-row-gap is invalid");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("invalidRowGapMaxContent");
|
||||
assert_equals(getComputedStyle(target).rowGap, "normal");
|
||||
}, "'max-content' row-gap is invalid");
|
||||
}, "'max-content' grid-row-gap is invalid");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("invalidRowGapNone");
|
||||
assert_equals(getComputedStyle(target).rowGap, "normal");
|
||||
}, "'none' row-gap is invalid");
|
||||
}, "'none' grid-row-gap is invalid");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("invalidRowGapMultiple");
|
||||
assert_equals(getComputedStyle(target).rowGap, "normal");
|
||||
}, "row-gap with multiple values is invalid");
|
||||
}, "grid-row-gap with multiple values is invalid");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("invalidRowGapAngle");
|
||||
assert_equals(getComputedStyle(target).rowGap, "normal");
|
||||
}, "Angle row-gap is invalid");
|
||||
}, "Angle grid-row-gap is invalid");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("invalidRowGapResolution");
|
||||
assert_equals(getComputedStyle(target).rowGap, "normal");
|
||||
}, "Resolution row-gap is invalid");
|
||||
}, "Resolution grid-row-gap is invalid");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("invalidRowGapTime");
|
||||
assert_equals(getComputedStyle(target).rowGap, "normal");
|
||||
}, "Time row-gap is invalid");
|
||||
}, "Time grid-row-gap is invalid");
|
||||
</script>
|
||||
</body>
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#rowGapVw { row-gap: 2vw; }
|
||||
#rowGapPercent { row-gap: 15%; }
|
||||
#rowGapCalc { row-gap: calc(10px + 4px); }
|
||||
#rowGapCalcFixedPercent { row-gap: calc(5px + 10%); }
|
||||
.rowGapInitial { row-gap: initial; }
|
||||
.rowGapInherit { row-gap: inherit; }
|
||||
|
||||
|
@ -31,6 +32,7 @@
|
|||
<div id="rowGapVw"></div>
|
||||
<div id="rowGapPercent"></div>
|
||||
<div id="rowGapCalc"></div>
|
||||
<div id="rowGapCalcFixedPercent"></div>
|
||||
<div id="rowGapInitial" class="rowGapInitial"></div>
|
||||
<div class="rowGapPx">
|
||||
<div id="rowGapInitialPx" class="rowGapInitial"></div>
|
||||
|
@ -81,6 +83,11 @@
|
|||
var target = document.getElementById("rowGapCalc");
|
||||
assert_equals(getComputedStyle(target).rowGap, "14px");
|
||||
}, "row-gap accepts calc()");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("rowGapCalcFixedPercent");
|
||||
assert_equals(getComputedStyle(target).rowGap, "calc(5px + 10%)");
|
||||
}, "row-gap accepts calc() mixing fixed and percentage values");
|
||||
test(
|
||||
function(){
|
||||
var target = document.getElementById("rowGapInitial");
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
<!DOCTYPE html>
|
||||
<title>Font Loading API IDL tests</title>
|
||||
<link rel="help" href="https://drafts.csswg.org/css-font-loading/#fontfacesetloadevent">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/resources/WebIDLParser.js"></script>
|
||||
<script src="/resources/idlharness.js"></script>
|
||||
<script>
|
||||
"use strict";
|
||||
|
||||
function doTest([dom, cssfontloading]) {
|
||||
const idl_array = new IdlArray();
|
||||
idl_array.add_untested_idls(dom);
|
||||
idl_array.add_untested_idls("[Exposed=Worker] interface WorkerGlobalScope : EventTarget { };");
|
||||
idl_array.add_objects({Document: ["document"]});
|
||||
idl_array.add_idls(cssfontloading);
|
||||
idl_array.test();
|
||||
}
|
||||
|
||||
function fetchText(url) {
|
||||
return fetch(url).then((response) => response.text());
|
||||
}
|
||||
|
||||
promise_test(() => {
|
||||
return Promise.all([
|
||||
"/interfaces/dom.idl",
|
||||
"/interfaces/css-font-loading.idl",
|
||||
].map(fetchText)).then(doTest);
|
||||
}, "Test IDL implementation of CSS Font Loading");
|
||||
</script>
|
|
@ -0,0 +1,19 @@
|
|||
<!doctype html>
|
||||
<meta charset="utf-8">
|
||||
<title>CSS Test: calc() function in font-variation-settings</title>
|
||||
<link rel="author" title="Emilio Cobos Álvarez" href="mailto:emilio@crisal.io">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-values/#funcdef-calc">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<style>
|
||||
#test {
|
||||
font-variation-settings: "XHGT" calc(0.7);
|
||||
}
|
||||
</style>
|
||||
<div id="test"></div>
|
||||
<script>
|
||||
const div = document.querySelector("#test");
|
||||
test(function() {
|
||||
assert_equals(getComputedStyle(div).fontVariationSettings, "\"XHGT\" 0.7");
|
||||
}, "calc() in font-variation-settings");
|
||||
</script>
|
|
@ -4,7 +4,7 @@
|
|||
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning">
|
||||
<meta name="assert" content="This test checks the behavior of the absolutely positioned elements with a grid container as containing block.">
|
||||
<link rel="stylesheet" href="../support/grid.css">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<style>
|
||||
|
||||
.grid {
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning">
|
||||
<meta name="assert" content="This test checks the behavior of the absolutely positioned elements with a grid container as parent.">
|
||||
<link rel="stylesheet" href="../support/grid.css">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<style>
|
||||
|
||||
.grid {
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning">
|
||||
<link rel="match" href="grid-paint-positioned-children-001-ref.html">
|
||||
<link rel="stylesheet" href="../support/grid.css">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<style>
|
||||
.grid {
|
||||
border: 2px solid black;
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<meta charset="utf-8">
|
||||
<title>CSS Grid Layout Test: Grid positioned children writing modes reference test</title>
|
||||
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
|
||||
<link rel="stylesheet" href="../support/grid.css">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<style>
|
||||
|
||||
.grid {
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning">
|
||||
<link rel="match" href="grid-positioned-children-writing-modes-001-ref.html">
|
||||
<meta name="assert" content="This test checks the behavior of the positioned grid children in combination with the writing modes and text direction properties.">
|
||||
<link rel="stylesheet" href="../support/grid.css">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<style>
|
||||
|
||||
.grid {
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#auto-repeat" title="7.2.2.2. Repeat-to-fill: auto-fill and auto-fit repetitions">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#valdef-repeat-auto-fit">
|
||||
<meta name="assert" content="This test checks that positioned items don't avoid auto-fit tracks to collapse.">
|
||||
<link rel="stylesheet" href="../support/grid.css">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<style>
|
||||
.container {
|
||||
width: 200px;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#auto-repeat" title="7.2.2.2. Repeat-to-fill: auto-fill and auto-fit repetitions">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#valdef-repeat-auto-fit">
|
||||
<meta name="assert" content="This test checks tracks before the first in-flow item also collapse and positioned items don't have any impact.">
|
||||
<link rel="stylesheet" href="../support/grid.css">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<style>
|
||||
.container {
|
||||
width: 200px;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#auto-repeat" title="7.2.2.2. Repeat-to-fill: auto-fill and auto-fit repetitions">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#valdef-repeat-auto-fit">
|
||||
<meta name="assert" content="This test checks that positioned items will use the area defined by the in-flow items, ignoring any collapsed track.">
|
||||
<link rel="stylesheet" href="../support/grid.css">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<style>
|
||||
.container {
|
||||
width: 200px;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#auto-repeat" title="7.2.2.2. Repeat-to-fill: auto-fill and auto-fit repetitions">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#valdef-repeat-auto-fit">
|
||||
<meta name="assert" content="This test checks that positioned items ignore collapsed gaps.">
|
||||
<link rel="stylesheet" href="../support/grid.css">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<style>
|
||||
.container {
|
||||
width: 200px;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#auto-repeat" title="7.2.2.2. Repeat-to-fill: auto-fill and auto-fit repetitions">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#valdef-repeat-auto-fit">
|
||||
<meta name="assert" content="This test checks that positioned items ignore collapsed gaps, both before and after the first in-flow item .">
|
||||
<link rel="stylesheet" href="../support/grid.css">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<style>
|
||||
.container {
|
||||
width: 200px;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#auto-repeat" title="7.2.2.2. Repeat-to-fill: auto-fill and auto-fit repetitions">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#valdef-repeat-auto-fit">
|
||||
<meta name="assert" content="This test checks that positioned items ignore collapsed gaps but consider those between in-flow items inside their grid area.">
|
||||
<link rel="stylesheet" href="../support/grid.css">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<style>
|
||||
.container {
|
||||
width: 200px;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#auto-repeat" title="7.2.2.2. Repeat-to-fill: auto-fill and auto-fit repetitions">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#valdef-repeat-auto-fit">
|
||||
<meta name="assert" content="This test checks that positioned items ignore collapsed gaps even with non-empty tracks before and after.">
|
||||
<link rel="stylesheet" href="../support/grid.css">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<style>
|
||||
.container {
|
||||
width: 250px;
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning">
|
||||
<link rel="match" href="grid-positioned-items-background-001-ref.html">
|
||||
<meta name="assert" content="This test checks that the background of positioned items is painted in the right position">
|
||||
<link rel="stylesheet" href="../support/grid.css">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<style>
|
||||
|
||||
.grid {
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning">
|
||||
<link rel="match" href="grid-positioned-items-background-rtl-001-ref.html">
|
||||
<meta name="assert" content="This test checks that the background of positioned items is painted in the right position using RTL direction.">
|
||||
<link rel="stylesheet" href="../support/grid.css">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<style>
|
||||
|
||||
.grid {
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#grid-align" title="10.5. Aligning the Grid: the justify-content and align-content properties">
|
||||
<meta name="assert" content="This test checks the behavior of the positioned items in a grid using content alignment.">
|
||||
<link rel="stylesheet" href="../support/grid.css">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<link rel="stylesheet" href="../../support/alignment.css">
|
||||
<style>
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#grid-align" title="10.5. Aligning the Grid: the justify-content and align-content properties">
|
||||
<meta name="assert" content="This test checks the behavior of the positioned items in a grid using content alignment in RTL.">
|
||||
<link rel="stylesheet" href="../support/grid.css">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<link rel="stylesheet" href="../../support/alignment.css">
|
||||
<style>
|
||||
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#gutters" title="10.1. Gutters: the row-gap, column-gap, and gap properties">
|
||||
<meta name="assert" content="This test checks the behavior of the positioned items in a grid container with gaps.">
|
||||
<link rel="stylesheet" href="../support/grid.css">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<style>
|
||||
|
||||
.grid {
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#gutters" title="10.1. Gutters: the row-gap, column-gap, and gap properties">
|
||||
<meta name="assert" content="This test checks the behavior of the positioned items in a grid container with gaps in RTL.">
|
||||
<link rel="stylesheet" href="../support/grid.css">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<style>
|
||||
|
||||
.grid {
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#implicit-grids" title="7.5. The Implicit Grid">
|
||||
<meta name="assert" content="This test checks the behavior of the absolutely positioned grid items placed on the implicit grid.">
|
||||
<link rel="stylesheet" href="../support/grid.css">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<style>
|
||||
|
||||
.grid {
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#implicit-grids" title="7.5. The Implicit Grid">
|
||||
<meta name="assert" content="This test checks that grid placement properties of absolutely positioned items using implicit grid lines are treated as 'auto'.">
|
||||
<link rel="stylesheet" href="../support/grid.css">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<style>
|
||||
|
||||
.grid {
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning">
|
||||
<meta name="assert" content="This test checks that positioned grid items can be placed directly on the padding.">
|
||||
<link rel="stylesheet" href="../support/grid.css">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<style>
|
||||
|
||||
.grid {
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning">
|
||||
<meta name="assert" content="This test checks that grid placement properties of absolutely positioned items using unknown named grid lines are treated as 'auto'.">
|
||||
<link rel="stylesheet" href="../support/grid.css">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<style>
|
||||
|
||||
.grid {
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#implicit-grids" title="7.5. The Implicit Grid">
|
||||
<meta name="assert" content="This test checks that positioned grid items are placed properly (including implicit tracks) even if the grid has implicit tracks.">
|
||||
<link rel="stylesheet" href="../support/grid.css">
|
||||
<link rel="stylesheet" href="support/grid.css">
|
||||
<style>
|
||||
|
||||
.grid {
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning">
|
||||
<meta name="assert" content="This test checks the different size options for absolutely positioned grid items.">
|
||||
<link href="../support/grid.css" rel="stylesheet">
|
||||
<link href="support/grid.css" rel="stylesheet">
|
||||
<style>
|
||||
|
||||
.grid {
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning">
|
||||
<meta name="assert" content="This test checks that positioned items shouldn't create implicit tracks on the grid.">
|
||||
<link href="../support/grid.css" rel="stylesheet">
|
||||
<link href="support/grid.css" rel="stylesheet">
|
||||
<style>
|
||||
|
||||
.grid {
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
|
||||
<link rel="help" href="https://drafts.csswg.org/css-grid-1/#abspos" title="9. Absolute Positioning">
|
||||
<meta name="assert" content="This test checks that positioned items shouldn't take up space or otherwise participate in the layout of the grid.">
|
||||
<link href="../support/grid.css" rel="stylesheet">
|
||||
<link href="support/grid.css" rel="stylesheet">
|
||||
<style>
|
||||
|
||||
.grid {
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<title>CSS Grid Layout Test: Positioned grid items sizing reference file</title>
|
||||
<link rel="author" title="Manuel Rego Casasnovas" href="mailto:rego@igalia.com">
|
||||
<meta name="flags" content="ahem">
|
||||
<link href="../support/grid.css" rel="stylesheet">
|
||||
<link href="support/grid.css" rel="stylesheet">
|
||||
<style>
|
||||
|
||||
.grid {
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue