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[] {
|
||||
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), 'Cookie should have either url or domain');
|
||||
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);
|
||||
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