mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Sync WPT with upstream (11-07-2025) (#38001)
Automated downstream sync of changes from upstream as of 11-07-2025 [no-wpt-sync] Signed-off-by: WPT Sync Bot <ghbot+wpt-sync@servo.org>
This commit is contained in:
parent
f7c7db3f71
commit
c631220311
350 changed files with 7036 additions and 2185 deletions
3987
tests/wpt/meta/MANIFEST.json
vendored
3987
tests/wpt/meta/MANIFEST.json
vendored
File diff suppressed because it is too large
Load diff
|
@ -5,3 +5,9 @@
|
|||
|
||||
[@font-face override between layers]
|
||||
expected: [FAIL, PASS]
|
||||
|
||||
[@font-face override update with appended sheet 1]
|
||||
expected: FAIL
|
||||
|
||||
[@font-face override update with appended sheet 2]
|
||||
expected: FAIL
|
||||
|
|
18
tests/wpt/meta/css/css-masonry/tentative/parsing/masonry-shorthand-computed.html.ini
vendored
Normal file
18
tests/wpt/meta/css/css-masonry/tentative/parsing/masonry-shorthand-computed.html.ini
vendored
Normal file
|
@ -0,0 +1,18 @@
|
|||
[masonry-shorthand-computed.html]
|
||||
[Property masonry value '"a b" 1fr 2fr row normal']
|
||||
expected: FAIL
|
||||
|
||||
[Property masonry value '8px column normal']
|
||||
expected: FAIL
|
||||
|
||||
[Property masonry value '"a b c" 10% 20% 30% row-reverse']
|
||||
expected: FAIL
|
||||
|
||||
[Property masonry value '"a b" 10px 20px column-reverse reverse']
|
||||
expected: FAIL
|
||||
|
||||
[Property masonry value 'min-content row']
|
||||
expected: FAIL
|
||||
|
||||
[Property masonry value 'repeat(5, auto) reverse']
|
||||
expected: FAIL
|
21
tests/wpt/meta/css/css-masonry/tentative/parsing/masonry-shorthand-serialization.html.ini
vendored
Normal file
21
tests/wpt/meta/css/css-masonry/tentative/parsing/masonry-shorthand-serialization.html.ini
vendored
Normal file
|
@ -0,0 +1,21 @@
|
|||
[masonry-shorthand-serialization.html]
|
||||
[grid-template-rows: none,\n grid-template-columns: none,\n grid-template-areas: none,\n masonry-direction: column,\n masonry-fill: normal should be valid.]
|
||||
expected: FAIL
|
||||
|
||||
[grid-template-rows: 10px,\n grid-template-columns: none,\n grid-template-areas: none,\n masonry-direction: column,\n masonry-fill: reverse should be valid.]
|
||||
expected: FAIL
|
||||
|
||||
[grid-template-rows: 10px 20px,\n grid-template-columns: 10% 20%,\n grid-template-areas: none,\n masonry-direction: row,\n masonry-fill: normal should be valid.]
|
||||
expected: FAIL
|
||||
|
||||
[grid-template-rows: none,\n grid-template-columns: 1fr 1fr 3fr,\n grid-template-areas: "a a b",\n masonry-direction: column,\n masonry-fill: reverse should be valid.]
|
||||
expected: FAIL
|
||||
|
||||
[grid-template-rows: 20% 40%,\n grid-template-columns: none,\n grid-template-areas: "b" "a",\n masonry-direction: row,\n masonry-fill: normal should be valid.]
|
||||
expected: FAIL
|
||||
|
||||
[grid-template-rows: none,\n grid-template-columns: fit-content(calc(0.5em + 10px)),\n grid-template-areas: none,\n masonry-direction: column-reverse,\n masonry-fill: normal should be valid.]
|
||||
expected: FAIL
|
||||
|
||||
[grid-template-rows: 10% 20% 40%,\n grid-template-columns: none,\n grid-template-areas: "a" "b" "c",\n masonry-direction: row-reverse,\n masonry-fill: normal should be valid.]
|
||||
expected: FAIL
|
102
tests/wpt/meta/css/css-masonry/tentative/parsing/masonry-shorthand-valid.html.ini
vendored
Normal file
102
tests/wpt/meta/css/css-masonry/tentative/parsing/masonry-shorthand-valid.html.ini
vendored
Normal file
|
@ -0,0 +1,102 @@
|
|||
[masonry-shorthand-valid.html]
|
||||
[masonry followed by !important]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "\\"a\\" calc(10px) column-reverse normal" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "minmax(calc(30% + 40vw), 10px)" should set the property value]
|
||||
expected: FAIL
|
||||
|
||||
[masonry: minmax(10px, 20px) row should be valid.]
|
||||
expected: FAIL
|
||||
|
||||
[masonry: 1px 2px should be valid.]
|
||||
expected: FAIL
|
||||
|
||||
[masonry: "a" 10px reverse should be valid.]
|
||||
expected: FAIL
|
||||
|
||||
[masonry: "a b" 10px 20px row normal should be valid.]
|
||||
expected: FAIL
|
||||
|
||||
[masonry: "a b c" 10% 20% 30% row-reverse should be valid.]
|
||||
expected: FAIL
|
||||
|
||||
[masonry: repeat(5, auto) row reverse should be valid.]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "none" should set grid-template-areas]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "none" should set grid-template-columns]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "none" should set masonry-direction]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "none" should set masonry-fill]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "none" should not set unrelated longhands]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "10px reverse" should set grid-template-areas]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "10px reverse" should set grid-template-columns]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "10px reverse" should set masonry-direction]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "10px reverse" should set masonry-fill]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "10px reverse" should not set unrelated longhands]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "\\"b a\\" 20% 40% column normal" should set grid-template-areas]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "\\"b a\\" 20% 40% column normal" should set grid-template-columns]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "\\"b a\\" 20% 40% column normal" should set masonry-direction]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "\\"b a\\" 20% 40% column normal" should set masonry-fill]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "\\"b a\\" 20% 40% column normal" should not set unrelated longhands]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "\\"b b a\\" 1fr 2fr 3fr row" should set grid-template-areas]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "\\"b b a\\" 1fr 2fr 3fr row" should set grid-template-rows]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "\\"b b a\\" 1fr 2fr 3fr row" should set masonry-direction]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "\\"b b a\\" 1fr 2fr 3fr row" should set masonry-fill]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "\\"b b a\\" 1fr 2fr 3fr row" should not set unrelated longhands]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "repeat(2, auto) row-reverse" should set grid-template-areas]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "repeat(2, auto) row-reverse" should set grid-template-rows]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "repeat(2, auto) row-reverse" should set masonry-direction]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "repeat(2, auto) row-reverse" should set masonry-fill]
|
||||
expected: FAIL
|
||||
|
||||
[e.style['masonry'\] = "repeat(2, auto) row-reverse" should not set unrelated longhands]
|
||||
expected: FAIL
|
3
tests/wpt/meta/css/css-pseudo/CSSPseudoElement-identity.html.ini
vendored
Normal file
3
tests/wpt/meta/css/css-pseudo/CSSPseudoElement-identity.html.ini
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
[CSSPseudoElement-identity.html]
|
||||
[CSS Pseudo Test: CSSPseudoElement stable identity]
|
||||
expected: FAIL
|
2
tests/wpt/meta/css/css-ui/caret-shape-block-zoom.html.ini
vendored
Normal file
2
tests/wpt/meta/css/css-ui/caret-shape-block-zoom.html.ini
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
[caret-shape-block-zoom.html]
|
||||
expected: FAIL
|
|
@ -52,3 +52,6 @@
|
|||
|
||||
[sec-fetch-user]
|
||||
expected: FAIL
|
||||
|
||||
[sec-fetch-dest]
|
||||
expected: FAIL
|
||||
|
|
|
@ -47,8 +47,5 @@
|
|||
[sec-fetch-storage-access - Not sent to non-trustworthy same-origin destination]
|
||||
expected: FAIL
|
||||
|
||||
[sec-fetch-storage-access - Not sent to non-trustworthy same-site destination]
|
||||
expected: FAIL
|
||||
|
||||
[sec-fetch-storage-access - Not sent to non-trustworthy cross-site destination]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,2 +1,4 @@
|
|||
[001.html]
|
||||
expected: TIMEOUT
|
||||
[traversing history must also traverse hash changes]
|
||||
expected: FAIL
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
[nameditem-no-shadowing.tentative.html]
|
||||
[document.constructor is not shadowed]
|
||||
expected: FAIL
|
||||
|
||||
[document.__proto__ is not shadowed]
|
||||
expected: FAIL
|
|
@ -1,3 +0,0 @@
|
|||
[iframe-loading-lazy-reload-location-reload.html]
|
||||
[Reloading iframe loading='lazy' before it is loaded: location.reload]
|
||||
expected: FAIL
|
|
@ -1,4 +1,3 @@
|
|||
[iframe_sandbox_popups_escaping-1.html]
|
||||
expected: CRASH
|
||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||
expected: TIMEOUT
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
[iframe_sandbox_popups_escaping-2.html]
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||
expected: FAIL
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
[iframe_sandbox_popups_escaping-3.html]
|
||||
expected: TIMEOUT
|
||||
[Check that popups from a sandboxed iframe escape the sandbox if\n allow-popups-to-escape-sandbox is used]
|
||||
expected: FAIL
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[reparent-form-during-planned-navigation-task.html]
|
||||
expected: TIMEOUT
|
||||
[reparent-form-during-planned-navigation-task]
|
||||
expected: TIMEOUT
|
|
@ -1,3 +0,0 @@
|
|||
[print-during-unload.html]
|
||||
[print() during unload]
|
||||
expected: FAIL
|
|
@ -59,9 +59,6 @@
|
|||
[Decode-error (script): main]
|
||||
expected: FAIL
|
||||
|
||||
[CORS (style): main]
|
||||
expected: FAIL
|
||||
|
||||
[success (script): main]
|
||||
expected: FAIL
|
||||
|
||||
|
@ -79,6 +76,3 @@
|
|||
|
||||
[404 (style): main]
|
||||
expected: FAIL
|
||||
|
||||
[CORS (script): main]
|
||||
expected: FAIL
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
expected: CRASH
|
||||
|
||||
[trusted-types-navigation.html?06-10]
|
||||
expected: TIMEOUT
|
||||
expected: CRASH
|
||||
[Navigate a frame via anchor with javascript:-urls w/ default policy in enforcing mode.]
|
||||
expected: FAIL
|
||||
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
[localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.html]
|
||||
expected: TIMEOUT
|
||||
[StorageKey: test 3P about:blank window opened from a 3P iframe]
|
||||
expected: TIMEOUT
|
|
@ -1,2 +0,0 @@
|
|||
[Worker-constructor.html]
|
||||
expected: ERROR
|
|
@ -29,3 +29,9 @@ promise_test(async () => {
|
|||
assert_in_array(availability, kValidAvailabilities, options);
|
||||
}
|
||||
}, 'Rewriter.availability() returns a valid value with plausible options');
|
||||
|
||||
promise_test(async (t) => {
|
||||
return promise_rejects_js(t, RangeError, Rewriter.availability({
|
||||
expectedInputLanguages: ['en-abc-invalid'], // not supported
|
||||
}));
|
||||
}, 'Rewriter.availability() rejects when given invalid language tags');
|
||||
|
|
|
@ -89,11 +89,16 @@ promise_test(async () => {
|
|||
}, 'Rewriter.outputLanguage');
|
||||
|
||||
promise_test(async (t) => {
|
||||
promise_rejects_js(
|
||||
t, RangeError,
|
||||
createRewriter({ expectedInputLanguages: ['en-abc-invalid'] }));
|
||||
return promise_rejects_js(
|
||||
t, RangeError,
|
||||
createRewriter({expectedInputLanguages: ['en-abc-invalid']}));
|
||||
}, 'Creating Rewriter with malformed language string');
|
||||
|
||||
promise_test(async (t) => {
|
||||
let session = await createRewriter({expectedInputLanguages: ['EN']});
|
||||
assert_true(!!session);
|
||||
}, 'Rewriter.create() canonicalizes language tags');
|
||||
|
||||
promise_test(async () => {
|
||||
const rewriter = await createRewriter({});
|
||||
assert_equals(rewriter.expectedInputLanguages, null);
|
||||
|
|
|
@ -1,22 +1,21 @@
|
|||
// META: title=Rewriter Create User Activation
|
||||
// META: script=/resources/testdriver.js
|
||||
// META: script=../resources/util.js
|
||||
// META: timeout=long
|
||||
|
||||
'use strict';
|
||||
|
||||
// Model download state is shared between test cases of the same file when run
|
||||
// with `EchoAIManagerImpl`, so this test case needs to be on its own file.
|
||||
// Mocked model download state may be shared between test cases in the same file
|
||||
// (see e.g. `EchoAIManagerImpl`), so this test case is kept in a separate file.
|
||||
// TODO(crbug.com/390246212): Support model state controls for WPTs.
|
||||
promise_test(async t => {
|
||||
// Creating Rewriter without user activation rejects with NotAllowedError.
|
||||
// Create requires user activation when availability is 'downloadable'.
|
||||
assert_implements_optional(await Rewriter.availability() == 'downloadable');
|
||||
assert_false(navigator.userActivation.isActive);
|
||||
await promise_rejects_dom(t, 'NotAllowedError', Rewriter.create());
|
||||
await test_driver.bless('Rewriter.create', Rewriter.create);
|
||||
|
||||
// Creating Rewriter with user activation succeeds.
|
||||
await createRewriter();
|
||||
|
||||
// Expect available after create.
|
||||
// Create does not require user activation when availability is 'available'.
|
||||
assert_equals(await Rewriter.availability(), 'available');
|
||||
|
||||
// Now that it is available, we should no longer need user activation.
|
||||
assert_false(navigator.userActivation.isActive);
|
||||
await Rewriter.create();
|
||||
}, 'Rewriter.create() requires user activation when availability is "downloadable"');
|
||||
}, 'Create requires user activation when availability is "downloadable"');
|
||||
|
|
|
@ -30,3 +30,9 @@ promise_test(async () => {
|
|||
assert_in_array(availability, kValidAvailabilities, options);
|
||||
}
|
||||
}, 'Summarizer.availability() returns a valid value with plausible options');
|
||||
|
||||
promise_test(async (t) => {
|
||||
return promise_rejects_js(t, RangeError, Summarizer.availability({
|
||||
expectedInputLanguages: ['en-abc-invalid'], // not supported
|
||||
}));
|
||||
}, 'Summarizer.availability() rejects when given invalid language tags');
|
||||
|
|
|
@ -75,11 +75,16 @@ promise_test(async () => {
|
|||
}, 'Summarizer.outputLanguage');
|
||||
|
||||
promise_test(async (t) => {
|
||||
promise_rejects_js(
|
||||
t, RangeError,
|
||||
createSummarizer({ expectedInputLanguages: ['en-abc-invalid'] }));
|
||||
return promise_rejects_js(
|
||||
t, RangeError,
|
||||
createSummarizer({expectedInputLanguages: ['en-abc-invalid']}));
|
||||
}, 'Creating Summarizer with malformed language string');
|
||||
|
||||
promise_test(async (t) => {
|
||||
let summarizer = await createSummarizer({expectedInputLanguages: ['EN']});
|
||||
assert_true(!!summarizer);
|
||||
}, 'Summarizer.create() canonicalizes language tags');
|
||||
|
||||
promise_test(async () => {
|
||||
const summarizer = await createSummarizer();
|
||||
assert_equals(summarizer.expectedInputLanguages, null);
|
||||
|
|
|
@ -1,22 +1,21 @@
|
|||
// META: title=Summarizer Create User Activation
|
||||
// META: script=/resources/testdriver.js
|
||||
// META: script=../resources/util.js
|
||||
// META: timeout=long
|
||||
|
||||
'use strict';
|
||||
|
||||
// Model download state is shared between test cases of the same file when run
|
||||
// with `EchoAIManagerImpl`, so this test case needs to be on its own file.
|
||||
// Mocked model download state may be shared between test cases in the same file
|
||||
// (see e.g. `EchoAIManagerImpl`), so this test case is kept in a separate file.
|
||||
// TODO(crbug.com/390246212): Support model state controls for WPTs.
|
||||
promise_test(async t => {
|
||||
// Creating Summarizer without user activation rejects with NotAllowedError.
|
||||
// Create requires user activation when availability is 'downloadable'.
|
||||
assert_implements_optional(await Summarizer.availability() == 'downloadable');
|
||||
assert_false(navigator.userActivation.isActive);
|
||||
await promise_rejects_dom(t, 'NotAllowedError', Summarizer.create());
|
||||
await test_driver.bless('Summarizer.create', Summarizer.create);
|
||||
|
||||
// Creating Summarizer with user activation succeeds.
|
||||
await createSummarizer();
|
||||
|
||||
// Expect available after create.
|
||||
// Create does not require user activation when availability is 'available'.
|
||||
assert_equals(await Summarizer.availability(), 'available');
|
||||
|
||||
// Now that it is available, we should no longer need user activation.
|
||||
assert_false(navigator.userActivation.isActive);
|
||||
await Summarizer.create();
|
||||
}, 'Summarizer.create() requires user activation when availability is "downloadable"');
|
||||
}, 'Create requires user activation when availability is "downloadable"');
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
'use strict';
|
||||
|
||||
promise_test(async () => {
|
||||
assert_true(!!Summarizer);
|
||||
assert_implements_optional("Summarizer" in self, "Summarizer is not supported");
|
||||
assert_equals(typeof Summarizer.create, 'function');
|
||||
}, 'Summarizer.create() is defined');
|
||||
|
||||
|
|
|
@ -29,3 +29,9 @@ promise_test(async () => {
|
|||
assert_in_array(availability, kValidAvailabilities, options);
|
||||
}
|
||||
}, 'Writer.availability() returns a valid value with plausible options');
|
||||
|
||||
promise_test(async (t) => {
|
||||
return promise_rejects_js(t, RangeError, Writer.availability({
|
||||
expectedInputLanguages: ['en-abc-invalid'], // not supported
|
||||
}));
|
||||
}, 'Writer.availability() rejects when given invalid language tags');
|
||||
|
|
|
@ -84,11 +84,16 @@ promise_test(async () => {
|
|||
}, 'Writer.outputLanguage');
|
||||
|
||||
promise_test(async (t) => {
|
||||
promise_rejects_js(
|
||||
t, RangeError,
|
||||
createWriter({ expectedInputLanguages: ['en-abc-invalid'] }));
|
||||
return promise_rejects_js(
|
||||
t, RangeError,
|
||||
createWriter({expectedInputLanguages: ['en-abc-invalid']}));
|
||||
}, 'Creating Writer with malformed language string');
|
||||
|
||||
promise_test(async (t) => {
|
||||
let writer = await createWriter({expectedInputLanguages: ['EN']});
|
||||
assert_true(!!writer);
|
||||
}, 'Writer.create() canonicalizes language tags');
|
||||
|
||||
promise_test(async () => {
|
||||
const writer = await createWriter({});
|
||||
assert_equals(writer.expectedInputLanguages, null);
|
||||
|
|
|
@ -1,22 +1,21 @@
|
|||
// META: title=Writer Create User Activation
|
||||
// META: script=/resources/testdriver.js
|
||||
// META: script=../resources/util.js
|
||||
// META: timeout=long
|
||||
|
||||
'use strict';
|
||||
|
||||
// Model download state is shared between test cases of the same file when run
|
||||
// with `EchoAIManagerImpl`, so this test case needs to be on its own file.
|
||||
// Mocked model download state may be shared between test cases in the same file
|
||||
// (see e.g. `EchoAIManagerImpl`), so this test case is kept in a separate file.
|
||||
// TODO(crbug.com/390246212): Support model state controls for WPTs.
|
||||
promise_test(async t => {
|
||||
// Creating Writer without user activation rejects with NotAllowedError.
|
||||
// Create requires user activation when availability is 'downloadable'.
|
||||
assert_implements_optional(await Writer.availability() == 'downloadable');
|
||||
assert_false(navigator.userActivation.isActive);
|
||||
await promise_rejects_dom(t, 'NotAllowedError', Writer.create());
|
||||
await test_driver.bless('Writer.create', Writer.create);
|
||||
|
||||
// Creating Writer with user activation succeeds.
|
||||
await createWriter();
|
||||
|
||||
// Expect available after create.
|
||||
// Create does not require user activation when availability is 'available'.
|
||||
assert_equals(await Writer.availability(), 'available');
|
||||
|
||||
// Now that it is available, we should no longer need user activation.
|
||||
assert_false(navigator.userActivation.isActive);
|
||||
await Writer.create();
|
||||
}, 'Writer.create() requires user activation when availability is "downloadable"');
|
||||
}, 'Create requires user activation when availability is "downloadable"');
|
||||
|
|
|
@ -4,6 +4,12 @@
|
|||
'use strict';
|
||||
|
||||
promise_test(async t => {
|
||||
t.add_cleanup(async () => {
|
||||
await cookieStore.delete('ordered-1');
|
||||
await cookieStore.delete('ordered-2');
|
||||
await cookieStore.delete('ordered-3');
|
||||
});
|
||||
|
||||
await cookieStore.set('ordered-1', 'cookie-value1');
|
||||
await cookieStore.set('ordered-2', 'cookie-value2');
|
||||
await cookieStore.set('ordered-3', 'cookie-value3');
|
||||
|
@ -20,6 +26,12 @@ promise_test(async t => {
|
|||
'they all end up in the cookie jar in order.');
|
||||
|
||||
promise_test(async t => {
|
||||
t.add_cleanup(async () => {
|
||||
await cookieStore.delete('ordered-unordered1');
|
||||
await cookieStore.delete('ordered-unordered2');
|
||||
await cookieStore.delete('ordered-unordered3');
|
||||
});
|
||||
|
||||
await Promise.all([
|
||||
cookieStore.set('ordered-unordered1', 'unordered-cookie-value1'),
|
||||
cookieStore.set('ordered-unordered2', 'unordered-cookie-value2'),
|
||||
|
|
|
@ -61,6 +61,7 @@ for (const scenario of scenarios) {
|
|||
await cookieStore.set(scenario.cookie.name, scenario.cookie.value);
|
||||
value = (await cookieStore.get(scenario.cookie.name))?.value;
|
||||
assert_equals(value, scenario.expected.value);
|
||||
await cookieStore.delete({ name: scenario.cookie.name });
|
||||
} catch(e) {
|
||||
assert_equals(scenario.expected, undefined);
|
||||
}
|
||||
|
|
|
@ -51,6 +51,8 @@
|
|||
await promise_rejects_js(testCase, TypeError,
|
||||
cookieStore.set( { name: `${prefix}cookie-name`, value: 'cookie-value',
|
||||
path: "/path" }));
|
||||
|
||||
await cookieStore.delete({ name: `${prefix}cookie-name`});
|
||||
}, `cookieStore.set with ${prefix} prefix a path option`);
|
||||
});
|
||||
|
||||
|
|
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