mirror of
https://github.com/servo/servo.git
synced 2025-06-06 16:45:39 +00:00
Auto merge of #27832 - servo-wpt-sync:wpt_update_25-11-2020, r=servo-wpt-sync
Sync WPT with upstream (25-11-2020) Automated downstream sync of changes from upstream as of 25-11-2020. [no-wpt-sync] r? @servo-wpt-sync
This commit is contained in:
commit
20ef49e035
210 changed files with 1703 additions and 1200 deletions
|
@ -1,4 +0,0 @@
|
|||
[hit-test-floats-003.html]
|
||||
[Miss float below something else]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[hit-test-floats-004.html]
|
||||
[Miss float below something else]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[hit-test-floats-005.html]
|
||||
[Miss clipped float]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[CaretPosition-001.html]
|
||||
[Element at (400, 100)]
|
||||
expected: FAIL
|
||||
|
|
@ -17,6 +17,3 @@
|
|||
[test the top of layer]
|
||||
expected: FAIL
|
||||
|
||||
[test some point of the element: top left corner]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
[matchMedia-display-none-iframe.html]
|
||||
expected: ERROR
|
|
@ -309,21 +309,18 @@
|
|||
[Response: combined response Content-Type: text/html;" \\" text/plain ";charset=GBK]
|
||||
expected: NOTRUN
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/plain */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: */* text/html]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
||||
[<iframe>: combined response Content-Type: text/html */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -56,6 +56,3 @@
|
|||
[separate text/javascript x/x]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript error]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -11,6 +11,3 @@
|
|||
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
|
||||
expected: FAIL
|
||||
|
||||
[X-Content-Type-Options%3A%0D%0AX-Content-Type-Options%3A%20nosniff]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[traverse_the_history_1.html]
|
||||
[Multiple history traversals from the same task]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[traverse_the_history_3.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
[cross-origin-objects-on-new-window.html]
|
||||
expected: TIMEOUT
|
|
@ -0,0 +1,4 @@
|
|||
[creating_browsing_context_test_01.html]
|
||||
[first argument: absolute url]
|
||||
expected: FAIL
|
||||
|
|
@ -1,15 +1,16 @@
|
|||
[supported-elements.html]
|
||||
expected: TIMEOUT
|
||||
[Contenteditable element should support autofocus]
|
||||
expected: FAIL
|
||||
|
||||
[Host element with delegatesFocus including no focusable descendants should be skipped]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[Element with tabindex should support autofocus]
|
||||
expected: FAIL
|
||||
|
||||
[Area element should support autofocus]
|
||||
expected: FAIL
|
||||
expected: NOTRUN
|
||||
|
||||
[Host element with delegatesFocus should support autofocus]
|
||||
expected: FAIL
|
||||
|
|
|
@ -171,3 +171,6 @@
|
|||
[XHTML img usemap="#hash-id"]
|
||||
expected: FAIL
|
||||
|
||||
[HTML (standards) IMG usemap="no-hash-name"]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
[iframe_sandbox_popups_nonescaping-2.html]
|
||||
expected: CRASH
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: FAIL
|
||||
expected: NOTRUN
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
[iframe_sandbox_popups_nonescaping-3.html]
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: FAIL
|
||||
expected: NOTRUN
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[iframe_005.html]
|
||||
[document.write external script into iframe write back into parent]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[module-delayed.html]
|
||||
[async document.write in a module]
|
||||
expected: FAIL
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
[ignore-opens-during-unload.window.html]
|
||||
expected: CRASH
|
||||
expected: TIMEOUT
|
||||
[document.open should bail out when ignore-opens-during-unload is greater than 0 during visibilitychange event (open(parent) while unloading parent and child)]
|
||||
expected: TIMEOUT
|
||||
|
||||
|
|
|
@ -3,3 +3,6 @@
|
|||
[The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
||||
expected: TIMEOUT
|
||||
|
||||
[The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
[promise-rejection-events.html]
|
||||
expected: TIMEOUT
|
||||
[delayed handling: delaying handling rejected promise created from createImageBitmap will cause both events to fire]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[unhandledrejection: from createImageBitmap which is UA triggered]
|
||||
expected: FAIL
|
||||
|
|
|
@ -320,3 +320,6 @@
|
|||
[X SNR (-625.5179152127479 dB) is not greater than or equal to 65.737. Got -625.5179152127479.]
|
||||
expected: FAIL
|
||||
|
||||
[X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[28696\]\t-6.7884163052642179e-30\t9.3139332532882690e-1\t9.3139332532882690e-1\t1.0000000000000000e+0\t3.8985999999999999e-3\n\t[28697\]\t7.0477002859115601e-1\t9.0675884485244751e-1\t2.0198881626129150e-1\t2.2275913536212616e-1\t3.8985999999999999e-3\n\tMax AbsError of 9.3139332532882690e-1 at index of 28696.\n\tMax RelError of 1.0000000000000000e+0 at index of 28696.\n]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
[audiocontext-not-fully-active.html]
|
||||
expected: TIMEOUT
|
||||
[frame in navigated remote-site frame]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,5 @@
|
|||
[018.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, javascript:]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[017.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, about:blank]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
[sharedworker-in-worker.html]
|
||||
expected: ERROR
|
||||
[Base URL in workers: new SharedWorker()]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
[Worker-constructor.html]
|
||||
expected: ERROR
|
File diff suppressed because it is too large
Load diff
|
@ -1,4 +0,0 @@
|
|||
[hit-test-floats-003.html]
|
||||
[Miss float below something else]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[hit-test-floats-004.html]
|
||||
[Miss float below something else]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[hit-test-floats-005.html]
|
||||
[Miss clipped float]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[CaretPosition-001.html]
|
||||
[Element at (400, 100)]
|
||||
expected: FAIL
|
||||
|
|
@ -21,6 +21,3 @@
|
|||
[test the top of layer]
|
||||
expected: FAIL
|
||||
|
||||
[test some point of the element: top left corner]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,2 +0,0 @@
|
|||
[matchMedia-display-none-iframe.html]
|
||||
expected: ERROR
|
|
@ -309,21 +309,18 @@
|
|||
[fetch(): separate response Content-Type: text/plain ]
|
||||
expected: NOTRUN
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/plain */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: */* text/html]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html */*;charset=gbk]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: separate response Content-Type: text/html;x=" text/plain]
|
||||
[<iframe>: combined response Content-Type: text/html */*]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;" \\" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
[<iframe>: combined response Content-Type: text/html;x=" text/plain]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -56,6 +56,3 @@
|
|||
[separate text/javascript x/x]
|
||||
expected: FAIL
|
||||
|
||||
[separate text/javascript error]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -11,6 +11,3 @@
|
|||
[X-Content-Type-Options%3A%20nosniff%2C%2C%40%23%24%23%25%25%26%5E%26%5E*()()11!]
|
||||
expected: FAIL
|
||||
|
||||
[X-Content-Type-Options%3A%0D%0AX-Content-Type-Options%3A%20nosniff]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[traverse_the_history_1.html]
|
||||
[Multiple history traversals from the same task]
|
||||
expected: FAIL
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
[traverse_the_history_3.html]
|
||||
[Multiple history traversals, last would be aborted]
|
||||
expected: FAIL
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
[cross-origin-objects-on-new-window.html]
|
||||
expected: TIMEOUT
|
|
@ -0,0 +1,4 @@
|
|||
[creating_browsing_context_test_01.html]
|
||||
[first argument: absolute url]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
[supported-elements.html]
|
||||
expected: TIMEOUT
|
||||
[Contenteditable element should support autofocus]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -6,10 +7,10 @@
|
|||
expected: FAIL
|
||||
|
||||
[Host element with delegatesFocus including no focusable descendants should be skipped]
|
||||
expected: FAIL
|
||||
expected: TIMEOUT
|
||||
|
||||
[Area element should support autofocus]
|
||||
expected: FAIL
|
||||
expected: NOTRUN
|
||||
|
||||
[Host element with delegatesFocus should support autofocus]
|
||||
expected: FAIL
|
||||
|
|
|
@ -172,3 +172,6 @@
|
|||
[XHTML img usemap="http://example.org/#garbage-before-hash-id"]
|
||||
expected: FAIL
|
||||
|
||||
[HTML (standards) IMG usemap="no-hash-name"]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[iframe_sandbox_popups_nonescaping-2.html]
|
||||
type: testharness
|
||||
expected: CRASH
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: FAIL
|
||||
expected: NOTRUN
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
[iframe_sandbox_popups_nonescaping-3.html]
|
||||
type: testharness
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe do not escape the sandbox]
|
||||
expected: FAIL
|
||||
expected: NOTRUN
|
||||
|
||||
|
|
|
@ -1,4 +0,0 @@
|
|||
[iframe_005.html]
|
||||
[document.write external script into iframe write back into parent]
|
||||
expected: FAIL
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
[module-delayed.html]
|
||||
[async document.write in a module]
|
||||
expected: FAIL
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
[ignore-opens-during-unload.window.html]
|
||||
expected: CRASH
|
||||
expected: TIMEOUT
|
||||
[ignore-opens-during-unload]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -4,3 +4,6 @@
|
|||
[The incumbent settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
||||
expected: TIMEOUT
|
||||
|
||||
[The entry settings object while executing the compiled callback via Web IDL's invoke must be that of the node document]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
[promise-rejection-events.html]
|
||||
expected: TIMEOUT
|
||||
[delayed handling: delaying handling rejected promise created from createImageBitmap will cause both events to fire]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
||||
[unhandledrejection: from createImageBitmap which is UA triggered]
|
||||
expected: FAIL
|
||||
|
|
|
@ -548,3 +548,6 @@
|
|||
[X SNR (-625.5179152127479 dB) is not greater than or equal to 65.737. Got -625.5179152127479.]
|
||||
expected: FAIL
|
||||
|
||||
[X Stitched sine-wave buffers at sample rate 43800 does not equal [0,0.06264832615852356,0.12505052983760834,0.18696144223213196,0.24813786149024963,0.308339387178421,0.36732959747314453,0.4248766601085663,0.480754554271698,0.5347436666488647,0.5866320133209229,0.6362156271934509,0.6832997798919678,0.7276994585990906,0.7692402601242065,0.8077589869499207...\] with an element-wise tolerance of {"absoluteThreshold":0.0038986,"relativeThreshold":0}.\n\tIndex\tActual\t\t\tExpected\t\tAbsError\t\tRelError\t\tTest threshold\n\t[28696\]\t-6.7884163052642179e-30\t9.3139332532882690e-1\t9.3139332532882690e-1\t1.0000000000000000e+0\t3.8985999999999999e-3\n\t[28697\]\t7.0477002859115601e-1\t9.0675884485244751e-1\t2.0198881626129150e-1\t2.2275913536212616e-1\t3.8985999999999999e-3\n\tMax AbsError of 9.3139332532882690e-1 at index of 28696.\n\tMax RelError of 1.0000000000000000e+0 at index of 28696.\n]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
[audiocontext-not-fully-active.html]
|
||||
expected: TIMEOUT
|
||||
[frame in navigated remote-site frame]
|
||||
expected: FAIL
|
||||
|
||||
|
|
5
tests/wpt/metadata/webmessaging/with-ports/018.html.ini
Normal file
5
tests/wpt/metadata/webmessaging/with-ports/018.html.ini
Normal file
|
@ -0,0 +1,5 @@
|
|||
[018.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, javascript:]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
[017.html]
|
||||
expected: TIMEOUT
|
||||
[origin of the script that invoked the method, about:blank]
|
||||
expected: TIMEOUT
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
[sharedworker-in-worker.html]
|
||||
expected: ERROR
|
||||
[Base URL in workers: new SharedWorker()]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
[Worker-constructor.html]
|
||||
expected: ERROR
|
80
tests/wpt/web-platform-tests/cookies/attributes/invalid.html
Normal file
80
tests/wpt/web-platform-tests/cookies/attributes/invalid.html
Normal file
|
@ -0,0 +1,80 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset=utf-8>
|
||||
<title>Test invalid attribute parsing</title>
|
||||
<meta name=help href="https://tools.ietf.org/html/rfc6265#section-5.2">
|
||||
<meta name="timeout" content="long">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/cookies/resources/cookie-helper.sub.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id=log></div>
|
||||
<script>
|
||||
// These tests ensure that invalid attributes don't affect
|
||||
// cookie parsing. `Path` isn't important to the tests where it appears,
|
||||
// but it's used to be able to place the invalid attribute in different
|
||||
// locations.
|
||||
const invalidAttributeTests = [
|
||||
{
|
||||
cookie: "test=1; lol; Path=/",
|
||||
expected: "test=1",
|
||||
name: "Set cookie with invalid attribute"
|
||||
},
|
||||
{
|
||||
cookie: "test=2; Path=/; lol",
|
||||
expected: "test=2",
|
||||
name: "Set cookie ending with invalid attribute."
|
||||
},
|
||||
{
|
||||
cookie: "test=3; Path=/; 'lol'",
|
||||
expected: "test=3",
|
||||
name: "Set cookie ending with quoted invalid attribute."
|
||||
},
|
||||
{
|
||||
cookie: 'test=4; Path=/; "lol"',
|
||||
expected: "test=4",
|
||||
name: "Set cookie ending with double-quoted invalid attribute."
|
||||
},
|
||||
{
|
||||
cookie: "test=5; Path=/; lol=",
|
||||
expected: "test=5",
|
||||
name: "Set cookie ending with invalid attribute equals."
|
||||
},
|
||||
{
|
||||
cookie: 'test=6; lol="aaa;bbb"; Path=/',
|
||||
expected: "test=6",
|
||||
name: "Set cookie with two invalid attributes (lol=\"aaa and bbb)."
|
||||
},
|
||||
{
|
||||
cookie: 'test=7; Path=/; lol="aaa;bbb"',
|
||||
expected: "test=7",
|
||||
name: "Set cookie ending with two invalid attributes (lol=\"aaa and bbb)."
|
||||
},
|
||||
{
|
||||
cookie: 'test=8; "Secure"',
|
||||
expected: "test=8",
|
||||
// This gets parsed as an unrecognized \"Secure\" attribute, not a valid
|
||||
// Secure attribute. That's why it gets set on an non-secure origin.
|
||||
name: "Set cookie for quoted Secure attribute",
|
||||
defaultPath: true
|
||||
},
|
||||
{
|
||||
cookie: "test=9; Secure qux",
|
||||
expected: "test=9",
|
||||
// This should be parsed as an unrecognized "Secure qux" attribute
|
||||
// and ignored. That is, the cookie will not be Secure.
|
||||
name: "Set cookie for Secure qux",
|
||||
defaultPath: true
|
||||
},
|
||||
];
|
||||
|
||||
for (const test of invalidAttributeTests) {
|
||||
promise_test(async testCase => {
|
||||
await runCookieTest(test.cookie, test.expected, test.defaultPath);
|
||||
}, test.name);
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
76
tests/wpt/web-platform-tests/cookies/attributes/path.html
Normal file
76
tests/wpt/web-platform-tests/cookies/attributes/path.html
Normal file
|
@ -0,0 +1,76 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset=utf-8>
|
||||
<title>Test cookie path attribute parsing</title>
|
||||
<meta name=help href="https://tools.ietf.org/html/rfc6265#section-5.2.4">
|
||||
<meta name="timeout" content="long">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/cookies/resources/cookie-helper.sub.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
const pathTests = [
|
||||
{
|
||||
cookie: "test=1; Path",
|
||||
expected: "test=1",
|
||||
name: "Set cookie for bare Path",
|
||||
defaultPath: true
|
||||
},
|
||||
{
|
||||
cookie: "test=2; Path=",
|
||||
expected: "test=2",
|
||||
name: "Set cookie for Path=",
|
||||
defaultPath: true
|
||||
},
|
||||
{
|
||||
cookie: "test=3; Path=/",
|
||||
expected: "test=3",
|
||||
name: "Set cookie for Path=/"
|
||||
},
|
||||
{
|
||||
cookie: "test=4; Path=/qux",
|
||||
expected: "",
|
||||
name: "No cookie returned for mismatched path"
|
||||
},
|
||||
{
|
||||
cookie: "test=5; Path =/qux",
|
||||
expected: "",
|
||||
name: "No cookie returned for path space equals mismatched path"
|
||||
},
|
||||
{
|
||||
cookie: "test=6; Path= /qux",
|
||||
expected: "",
|
||||
name: "No cookie returned for path equals space mismatched path"
|
||||
},
|
||||
{
|
||||
cookie: "test=7; Path=/qux ; taz",
|
||||
expected: "",
|
||||
name: "No cookie returned for mismatched path and attribute"
|
||||
},
|
||||
{
|
||||
cookie: "test=8; Path=/qux; Path=/",
|
||||
expected: "test=8",
|
||||
name: "Set cookie for mismatched and root path"
|
||||
},
|
||||
{
|
||||
cookie: "test=9; Path=/; Path=/qux",
|
||||
expected: "",
|
||||
name: "No cookie returned for root and mismatched path"
|
||||
},
|
||||
{
|
||||
cookie: "test=10; Path=/lol; Path=/qux",
|
||||
expected: "",
|
||||
name: "No cookie returned for multiple mismatched paths"
|
||||
},
|
||||
];
|
||||
|
||||
for (const test of pathTests) {
|
||||
promise_test(async testCase => {
|
||||
await runCookieTest(test.cookie, test.expected, test.defaultPath);
|
||||
}, test.name);
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,75 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset=utf-8>
|
||||
<title>Test cookie secure attribute parsing (on non-secure page)</title>
|
||||
<meta name=help href="https://tools.ietf.org/html/rfc6265#section-5.2.5">
|
||||
<meta name="timeout" content="long">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/cookies/resources/cookie-helper.sub.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<script>
|
||||
// These tests are the non-secure analog to secure.https.html.
|
||||
// They're not in the /cookies/attributes folder because they shouldn't
|
||||
// be run by themselves. Instead, /cookies/attributes/secure.https.html
|
||||
// opens this in a non-secure window.
|
||||
const secureNonSecureTests = [
|
||||
{
|
||||
cookie: "test=1; Secure",
|
||||
expected: "",
|
||||
name: "(non-secure) Ignore cookie for Secure attribute",
|
||||
defaultPath: true
|
||||
},
|
||||
{
|
||||
cookie: "test=2; seCURe",
|
||||
expected: "",
|
||||
name: "(non-secure) Ignore cookie for seCURe attribute",
|
||||
defaultPath: true
|
||||
},
|
||||
{
|
||||
cookie: "test=3; Secure=",
|
||||
expected: "",
|
||||
name: "(non-secure) Ignore cookie for for Secure= attribute",
|
||||
defaultPath: true
|
||||
},
|
||||
{
|
||||
cookie: "test=4; Secure=aaaa",
|
||||
expected: "",
|
||||
name: "(non-secure) Ignore cookie for Secure=aaaa",
|
||||
defaultPath: true
|
||||
},
|
||||
{
|
||||
cookie: "test=5; Secure =aaaaa",
|
||||
expected: "",
|
||||
name: "(non-secure) Ignore cookie for Secure space equals",
|
||||
defaultPath: true
|
||||
},
|
||||
{
|
||||
cookie: "test=6; Secure= aaaaa",
|
||||
expected: "",
|
||||
name: "(non-secure) Ignore cookie for Secure equals space",
|
||||
defaultPath: true
|
||||
},
|
||||
{
|
||||
cookie: "test=7; Secure",
|
||||
expected: "",
|
||||
name: "(non-secure) Ignore cookie for spaced Secure",
|
||||
defaultPath: true
|
||||
},
|
||||
{
|
||||
cookie: "test=8; Secure ;",
|
||||
expected: "",
|
||||
name: "(non-secure) Ignore cookie for space Secure with ;",
|
||||
defaultPath: true
|
||||
}
|
||||
];
|
||||
|
||||
for (const test of secureNonSecureTests) {
|
||||
promise_test(async testCase => {
|
||||
await runCookieTest(test.cookie, test.expected, test.defaultPath);
|
||||
}, test.name);
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,21 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset=utf-8>
|
||||
<title>Test cookie secure attribute parsing (non-secure origin)</title>
|
||||
<meta name=help href="https://tools.ietf.org/html/rfc6265#section-5.2.5">
|
||||
<meta name="timeout" content="long">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/cookies/resources/cookie-helper.sub.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id=log></div>
|
||||
<script>
|
||||
test(t => {
|
||||
const win = window.open(`${INSECURE_ORIGIN}/cookies/attributes/resources/secure-non-secure-child.html`);
|
||||
fetch_tests_from_window(win);
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,73 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset=utf-8>
|
||||
<title>Test cookie secure attribute parsing</title>
|
||||
<meta name=help href="https://tools.ietf.org/html/rfc6265#section-5.2.5">
|
||||
<meta name="timeout" content="long">
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="/cookies/resources/cookie-helper.sub.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id=log></div>
|
||||
<script>
|
||||
const secureTests = [
|
||||
{
|
||||
cookie: "test=1; Secure",
|
||||
expected: "test=1",
|
||||
name: "Set cookie for Secure attribute",
|
||||
defaultPath: true
|
||||
},
|
||||
{
|
||||
cookie: "test=2; seCURe",
|
||||
expected: "test=2",
|
||||
name: "Set cookie for seCURe attribute",
|
||||
defaultPath: true
|
||||
},
|
||||
{
|
||||
cookie: "test=3; Secure=",
|
||||
expected: "test=3",
|
||||
name: "Set cookie for for Secure= attribute",
|
||||
defaultPath: true
|
||||
},
|
||||
{
|
||||
cookie: "test=4; Secure=aaaa",
|
||||
expected: "test=4",
|
||||
name: "Set cookie for Secure=aaaa",
|
||||
defaultPath: true
|
||||
},
|
||||
{
|
||||
cookie: "test=5; Secure =aaaaa",
|
||||
expected: "test=5",
|
||||
name: "Set cookie for Secure space equals",
|
||||
defaultPath: true
|
||||
},
|
||||
{
|
||||
cookie: "test=6; Secure= aaaaa",
|
||||
expected: "test=6",
|
||||
name: "Set cookie for Secure equals space",
|
||||
defaultPath: true
|
||||
},
|
||||
{
|
||||
cookie: "test=7; Secure",
|
||||
expected: "test=7",
|
||||
name: "Set cookie for spaced Secure",
|
||||
defaultPath: true
|
||||
},
|
||||
{
|
||||
cookie: "test=8; Secure ;",
|
||||
expected: "test=8",
|
||||
name: "Set cookie for space Secure with ;",
|
||||
defaultPath: true
|
||||
}
|
||||
];
|
||||
|
||||
for (const test of secureTests) {
|
||||
promise_test(async testCase => {
|
||||
await runCookieTest(test.cookie, test.expected, test.defaultPath);
|
||||
}, test.name);
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -1,56 +0,0 @@
|
|||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset=utf-8>
|
||||
<title>Tests cookie attribute functionality</title>
|
||||
<meta name=help href="https://tools.ietf.org/html/rfc6265#page-8">
|
||||
<meta name="timeout" content="long">
|
||||
|
||||
<script src="/resources/testharness.js"></script>
|
||||
<script src="/resources/testharnessreport.js"></script>
|
||||
<script src="resources/cookie-http-state-template.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="log"></div>
|
||||
<div id="iframes"></div>
|
||||
<script>
|
||||
setup({ explicit_timeout: true });
|
||||
|
||||
const TEST_CASES = [
|
||||
{file: "attribute0001", name: "Ignore cookie for Secure attribute."},
|
||||
{file: "attribute0002", name: "Ignore cookie for seCURe attribute."},
|
||||
{file: "attribute0003", name: "Set cookie for \"Secure\" attribute."},
|
||||
{file: "attribute0004", name: "Ignore cookie for for Secure= attribute."},
|
||||
{file: "attribute0005", name: "Ignore cookie for Secure=aaaa"},
|
||||
{file: "attribute0006", name: "Set cookie for Secure qux"},
|
||||
{file: "attribute0007", name: "Ignore cookie for Secure space equals."},
|
||||
{file: "attribute0008", name: "Ignore cookie for Secure equals space"},
|
||||
{file: "attribute0009", name: "Ignore cookie for Secure separated."},
|
||||
{file: "attribute0010", name: "Ignore cookie for Secure separated v2."},
|
||||
{file: "attribute0011", name: "Ignore cookie for Secure separated v2."},
|
||||
{file: "attribute0012", name: "Ignore cookie for spaced Secure"},
|
||||
{file: "attribute0013", name: "Ignore cookie for space Secure with ;."},
|
||||
{file: "attribute0014", name: "Set cookie for Path."},
|
||||
{file: "attribute0015", name: "Set cookie for Path=."},
|
||||
{file: "attribute0016", name: "Set cookie for Path=/."},
|
||||
{file: "attribute0017", name: "Ignore cookie for invalid path."},
|
||||
{file: "attribute0018", name: "Ignore cookie for spaced invalid path."},
|
||||
{file: "attribute0019", name: "Ignore cookie for spaced invalid path v2."},
|
||||
{file: "attribute0020", name: "Ignore cookie for invalid path and attribute."},
|
||||
{file: "attribute0021", name: "Ignore cookie for invalid and root path."},
|
||||
{file: "attribute0022", name: "Set cookie for root and invalid path."},
|
||||
{file: "attribute0023", name: "Set cookie for invalid and sane path."},
|
||||
{file: "attribute0024", name: "Ignore cookie for sane and invalid path."},
|
||||
{file: "attribute0025", name: "Ignore cookie for invalid + Secure."},
|
||||
{file: "attribute0026", name: "Ignore cookie for quoted invalid attribute."},
|
||||
];
|
||||
|
||||
for (const i in TEST_CASES) {
|
||||
const t = TEST_CASES[i];
|
||||
promise_test(createCookieTest(t.file),
|
||||
t.file + " - " + t.name);
|
||||
}
|
||||
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -1 +0,0 @@
|
|||
Set-Cookie: foo=bar; Secure
|
|
@ -1 +0,0 @@
|
|||
Set-Cookie: foo=bar; seCURe
|
|
@ -1 +0,0 @@
|
|||
Cookie: foo=bar
|
|
@ -1 +0,0 @@
|
|||
Set-Cookie: foo=bar; "Secure"
|
|
@ -1 +0,0 @@
|
|||
Set-Cookie: foo=bar; Secure=
|
|
@ -1 +0,0 @@
|
|||
Set-Cookie: foo=bar; Secure=aaaa
|
|
@ -1 +0,0 @@
|
|||
Cookie: foo=bar
|
|
@ -1 +0,0 @@
|
|||
Set-Cookie: foo=bar; Secure qux
|
|
@ -1 +0,0 @@
|
|||
Set-Cookie: foo=bar; Secure =aaaaa
|
|
@ -1 +0,0 @@
|
|||
Set-Cookie: foo=bar; Secure= aaaaa
|
|
@ -1 +0,0 @@
|
|||
Set-Cookie: foo=bar; Secure; qux
|
|
@ -1 +0,0 @@
|
|||
Set-Cookie: foo=bar; Secure;qux
|
|
@ -1 +0,0 @@
|
|||
Set-Cookie: foo=bar; Secure ; qux
|
|
@ -1 +0,0 @@
|
|||
Set-Cookie: foo=bar; Secure
|
|
@ -1 +0,0 @@
|
|||
Set-Cookie: foo=bar; Secure ;
|
|
@ -1 +0,0 @@
|
|||
Cookie: foo=bar
|
|
@ -1 +0,0 @@
|
|||
Set-Cookie: foo=bar; Path
|
|
@ -1 +0,0 @@
|
|||
Cookie: foo=bar
|
|
@ -1 +0,0 @@
|
|||
Set-Cookie: foo=bar; Path=
|
|
@ -1 +0,0 @@
|
|||
Cookie: foo=bar
|
|
@ -1 +0,0 @@
|
|||
Set-Cookie: foo=bar; Path=/
|
|
@ -1 +0,0 @@
|
|||
Set-Cookie: foo=bar; Path=/qux
|
|
@ -1 +0,0 @@
|
|||
Set-Cookie: foo=bar; Path =/qux
|
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