2019-08-15 18:52:02 +00:00
|
|
|
/**
|
2024-01-03 10:11:33 +00:00
|
|
|
* @license
|
|
|
|
* Copyright 2017 Google Inc.
|
|
|
|
* SPDX-License-Identifier: Apache-2.0
|
2019-08-15 18:52:02 +00:00
|
|
|
*/
|
2020-06-23 05:18:46 +00:00
|
|
|
import expect from 'expect';
|
2023-02-15 23:09:31 +00:00
|
|
|
|
2023-07-03 12:01:29 +00:00
|
|
|
import {
|
|
|
|
expectCookieEquals,
|
|
|
|
getTestState,
|
|
|
|
setupTestBrowserHooks,
|
|
|
|
} from './mocha-utils.js';
|
2019-08-15 18:52:02 +00:00
|
|
|
|
2020-05-07 10:54:55 +00:00
|
|
|
describe('DefaultBrowserContext', function () {
|
2023-07-03 12:01:29 +00:00
|
|
|
setupTestBrowserHooks();
|
|
|
|
|
2021-03-17 16:09:10 +00:00
|
|
|
it('page.cookies() should work', async () => {
|
2023-06-21 19:41:09 +00:00
|
|
|
const {page, server} = await getTestState();
|
2019-08-15 18:52:02 +00:00
|
|
|
|
2020-04-09 05:56:25 +00:00
|
|
|
await page.goto(server.EMPTY_PAGE);
|
|
|
|
await page.evaluate(() => {
|
|
|
|
document.cookie = 'username=John Doe';
|
2019-08-15 18:52:02 +00:00
|
|
|
});
|
2023-06-21 19:41:09 +00:00
|
|
|
await expectCookieEquals(await page.cookies(), [
|
2020-05-07 10:54:55 +00:00
|
|
|
{
|
|
|
|
name: 'username',
|
|
|
|
value: 'John Doe',
|
|
|
|
domain: 'localhost',
|
|
|
|
path: '/',
|
2021-02-02 07:39:29 +00:00
|
|
|
sameParty: false,
|
2020-05-07 10:54:55 +00:00
|
|
|
expires: -1,
|
|
|
|
size: 16,
|
|
|
|
httpOnly: false,
|
|
|
|
secure: false,
|
|
|
|
session: true,
|
2021-02-26 08:12:43 +00:00
|
|
|
sourceScheme: 'NonSecure',
|
2020-05-07 10:54:55 +00:00
|
|
|
},
|
|
|
|
]);
|
2020-04-09 05:56:25 +00:00
|
|
|
});
|
2022-09-08 10:32:39 +00:00
|
|
|
it('page.setCookie() should work', async () => {
|
2023-06-21 19:41:09 +00:00
|
|
|
const {page, server} = await getTestState();
|
2020-04-09 05:56:25 +00:00
|
|
|
|
|
|
|
await page.goto(server.EMPTY_PAGE);
|
|
|
|
await page.setCookie({
|
|
|
|
name: 'username',
|
|
|
|
value: 'John Doe',
|
2020-05-07 10:54:55 +00:00
|
|
|
});
|
2022-06-15 10:09:22 +00:00
|
|
|
expect(
|
|
|
|
await page.evaluate(() => {
|
|
|
|
return document.cookie;
|
|
|
|
})
|
|
|
|
).toBe('username=John Doe');
|
2023-06-21 19:41:09 +00:00
|
|
|
await expectCookieEquals(await page.cookies(), [
|
2020-05-07 10:54:55 +00:00
|
|
|
{
|
|
|
|
name: 'username',
|
|
|
|
value: 'John Doe',
|
|
|
|
domain: 'localhost',
|
|
|
|
path: '/',
|
2021-02-02 07:39:29 +00:00
|
|
|
sameParty: false,
|
2020-05-07 10:54:55 +00:00
|
|
|
expires: -1,
|
|
|
|
size: 16,
|
|
|
|
httpOnly: false,
|
|
|
|
secure: false,
|
|
|
|
session: true,
|
2021-02-26 08:12:43 +00:00
|
|
|
sourceScheme: 'NonSecure',
|
2020-05-07 10:54:55 +00:00
|
|
|
},
|
|
|
|
]);
|
2020-04-09 05:56:25 +00:00
|
|
|
});
|
2022-09-08 10:32:39 +00:00
|
|
|
it('page.deleteCookie() should work', async () => {
|
2023-06-21 19:41:09 +00:00
|
|
|
const {page, server} = await getTestState();
|
2020-04-09 05:56:25 +00:00
|
|
|
|
|
|
|
await page.goto(server.EMPTY_PAGE);
|
2020-05-07 10:54:55 +00:00
|
|
|
await page.setCookie(
|
|
|
|
{
|
|
|
|
name: 'cookie1',
|
|
|
|
value: '1',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
name: 'cookie2',
|
|
|
|
value: '2',
|
|
|
|
}
|
|
|
|
);
|
2020-04-09 05:56:25 +00:00
|
|
|
expect(await page.evaluate('document.cookie')).toBe('cookie1=1; cookie2=2');
|
2022-06-22 13:25:44 +00:00
|
|
|
await page.deleteCookie({name: 'cookie2'});
|
2020-04-09 05:56:25 +00:00
|
|
|
expect(await page.evaluate('document.cookie')).toBe('cookie1=1');
|
2023-06-21 19:41:09 +00:00
|
|
|
await expectCookieEquals(await page.cookies(), [
|
2020-05-07 10:54:55 +00:00
|
|
|
{
|
|
|
|
name: 'cookie1',
|
|
|
|
value: '1',
|
|
|
|
domain: 'localhost',
|
|
|
|
path: '/',
|
2021-02-02 07:39:29 +00:00
|
|
|
sameParty: false,
|
2020-05-07 10:54:55 +00:00
|
|
|
expires: -1,
|
|
|
|
size: 8,
|
|
|
|
httpOnly: false,
|
|
|
|
secure: false,
|
|
|
|
session: true,
|
2021-02-26 08:12:43 +00:00
|
|
|
sourceScheme: 'NonSecure',
|
2020-05-07 10:54:55 +00:00
|
|
|
},
|
|
|
|
]);
|
2019-08-15 18:52:02 +00:00
|
|
|
});
|
2020-04-09 05:56:25 +00:00
|
|
|
});
|