From 0a8fa6e46c3eadb23bf95c62452c5c7654ac9364 Mon Sep 17 00:00:00 2001 From: Dmitry Gozman Date: Thu, 21 May 2020 15:37:52 -0700 Subject: [PATCH] test: unflake more cookies tests (#2333) This is addressing a possible race between setting document.cookie and cookies appearing in out-of-process cookie jar. --- test/cookies.spec.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/test/cookies.spec.js b/test/cookies.spec.js index 8e1da20e10..56710db54e 100644 --- a/test/cookies.spec.js +++ b/test/cookies.spec.js @@ -23,9 +23,11 @@ describe('BrowserContext.cookies', function() { }); it('should get a cookie', async({context, page, server}) => { await page.goto(server.EMPTY_PAGE); - await page.evaluate(() => { + const documentCookie = await page.evaluate(() => { document.cookie = 'username=John Doe'; + return document.cookie; }); + expect(documentCookie).toBe('username=John Doe'); expect(await context.cookies()).toEqual([{ name: 'username', value: 'John Doe', @@ -41,10 +43,12 @@ describe('BrowserContext.cookies', function() { await page.goto(server.EMPTY_PAGE); // @see https://en.wikipedia.org/wiki/Year_2038_problem const date = +(new Date('1/1/2038')); - await page.evaluate(timestamp => { + const documentCookie = await page.evaluate(timestamp => { const date = new Date(timestamp); document.cookie = `username=John Doe;expires=${date.toUTCString()}`; + return document.cookie; }, date); + expect(documentCookie).toBe('username=John Doe'); expect(await context.cookies()).toEqual([{ name: 'username', value: 'John Doe', @@ -171,10 +175,12 @@ describe('BrowserContext.addCookies', function() { await page.goto(server.EMPTY_PAGE); // @see https://en.wikipedia.org/wiki/Year_2038_problem const date = +(new Date('1/1/2038')); - await page.evaluate(timestamp => { + const documentCookie = await page.evaluate(timestamp => { const date = new Date(timestamp); document.cookie = `username=John Doe;expires=${date.toUTCString()}`; + return document.cookie; }, date); + expect(documentCookie).toBe('username=John Doe'); const cookies = await context.cookies(); await context.clearCookies(); expect(await context.cookies()).toEqual([]);