mirror of
https://github.com/microsoft/playwright.git
synced 2025-06-26 21:40:17 +00:00
parent
28b8c8d63a
commit
39376cccd8
@ -51,7 +51,6 @@ const kMaxCookieExpiresDateInSeconds = 253402300799;
|
|||||||
|
|
||||||
export function rewriteCookies(cookies: types.SetNetworkCookieParam[]): types.SetNetworkCookieParam[] {
|
export function rewriteCookies(cookies: types.SetNetworkCookieParam[]): types.SetNetworkCookieParam[] {
|
||||||
return cookies.map(c => {
|
return cookies.map(c => {
|
||||||
assert(c.name, 'Cookie should have a name');
|
|
||||||
assert(c.url || (c.domain && c.path), 'Cookie should have a url or a domain/path pair');
|
assert(c.url || (c.domain && c.path), 'Cookie should have a url or a domain/path pair');
|
||||||
assert(!(c.url && c.domain), 'Cookie should have either url or domain');
|
assert(!(c.url && c.domain), 'Cookie should have either url or domain');
|
||||||
assert(!(c.url && c.path), 'Cookie should have either url or path');
|
assert(!(c.url && c.path), 'Cookie should have either url or path');
|
||||||
|
@ -421,3 +421,32 @@ it('should not block third party SameSite=None cookies', async ({ contextFactory
|
|||||||
await page.goto(httpsServer.EMPTY_PAGE);
|
await page.goto(httpsServer.EMPTY_PAGE);
|
||||||
expect(await cookie).toBe('a=b');
|
expect(await cookie).toBe('a=b');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should allow unnamed cookies', async ({ page, context, server, browserName, platform }) => {
|
||||||
|
server.setRoute('/cookies', (req, res) => {
|
||||||
|
res.write(req.headers.cookie ?? 'undefined-on-server');
|
||||||
|
res.end();
|
||||||
|
});
|
||||||
|
await context.addCookies([{
|
||||||
|
url: server.EMPTY_PAGE,
|
||||||
|
name: '',
|
||||||
|
value: 'unnamed-via-add-cookies',
|
||||||
|
}]);
|
||||||
|
// Round-trip behavior
|
||||||
|
const resp = await page.goto(server.PREFIX + '/cookies');
|
||||||
|
if (browserName === 'webkit' && platform === 'darwin') {
|
||||||
|
expect.soft(await resp.text()).toBe('undefined-on-server');
|
||||||
|
expect.soft(await page.evaluate('document.cookie')).toBe('');
|
||||||
|
} else {
|
||||||
|
expect.soft(await resp.text()).toBe('unnamed-via-add-cookies');
|
||||||
|
expect.soft(await page.evaluate('document.cookie')).toBe('unnamed-via-add-cookies');
|
||||||
|
}
|
||||||
|
// Within PW behavior
|
||||||
|
await page.goto(server.EMPTY_PAGE);
|
||||||
|
await page.evaluate(() => document.cookie = '=unnamed-via-js;');
|
||||||
|
await context.addCookies(await context.cookies());
|
||||||
|
if (browserName === 'webkit' && platform === 'darwin')
|
||||||
|
expect.soft(await page.evaluate('document.cookie')).toBe('');
|
||||||
|
else
|
||||||
|
expect.soft(await page.evaluate('document.cookie')).toBe('unnamed-via-js');
|
||||||
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user