blob: 78b3c56fdd38925d9c2da17454b5f1b8b969d999 [file] [log] [blame]
'use strict';
// Workaround because add_cleanup doesn't support async functions yet.
// See https://github.com/web-platform-tests/wpt/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');
await cookieStore.set('cookie-name-2', 'cookie-value-2');
await cookieStore.set('cookie-name-3', 'cookie-value-3');
const cookies = await cookieStore.getAll();
cookies.sort((a, b) => a.name.localeCompare(b.name));
assert_equals(cookies.length, 3);
assert_equals(cookies[0].name, 'cookie-name');
assert_equals(cookies[0].value, 'cookie-value');
assert_equals(cookies[1].name, 'cookie-name-2');
assert_equals(cookies[1].value, 'cookie-value-2');
assert_equals(cookies[2].name, 'cookie-name-3');
assert_equals(cookies[2].value, 'cookie-value-3');
await async_cleanup(() => cookieStore.delete('cookie-name'));
await async_cleanup(() => cookieStore.delete('cookie-name-2'));
await async_cleanup(() => cookieStore.delete('cookie-name-3'));
}, 'cookieStore.getAll returns multiple cookies written by cookieStore.set');