-
Notifications
You must be signed in to change notification settings - Fork 54
/
cookieStore_special_names.tentative.https.any.js
34 lines (29 loc) · 1.44 KB
/
cookieStore_special_names.tentative.https.any.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
// META: title=Cookie Store API: cookieStore.set()/get()/delete() for cookies with special names
// META: global=!default,serviceworker,window
'use strict';
['__Secure-', '__Host-'].forEach(prefix => {
promise_test(async testCase => {
await cookieStore.set(`${prefix}cookie-name`, `secure-cookie-value`);
assert_equals(
(await cookieStore.get(`${prefix}cookie-name`)).value,
'secure-cookie-value',
`Setting ${prefix} cookies should not fail in secure context`);
try { await cookieStore.delete(`${prefix}cookie-name`); } catch (e) {}
}, `cookieStore.set with ${prefix} name on secure origin`);
promise_test(async testCase => {
// This test is for symmetry with the non-secure case. In non-secure
// contexts, the set() should fail even if the expiration date makes
// the operation a no-op.
await cookieStore.set(
`${prefix}cookie-name`, `secure-cookie-value`, {
expires: Date.now() - (24 * 60 * 60 * 1000)
});
assert_equals(await cookieStore.get(`${prefix}cookie-name`), null);
try { await cookieStore.delete(`${prefix}cookie-name`); } catch (e) {}
}, `cookieStore.set of expired ${prefix} cookie name on secure origin`);
promise_test(async testCase => {
assert_equals(
await cookieStore.delete(`${prefix}cookie-name`), undefined,
`Deleting ${prefix} cookies should not fail in secure context`);
}, `cookieStore.delete with ${prefix} name on secure origin`);
});