Test for the Page.getCookies


== Running test suite: Page.getCookies
-- Running test case: Page.getCookies.InitiallyNoCookies
PASS: Should be no cookies.

-- Running test case: Page.getCookies.FirstParty.MainFrame
Getting cookies before first-party resource load...
Loading first-party resource...
Getting cookies after first-party resource load...
PASS: Should have set cookies.
PASS: New cookie should have name 'FirstPartyResource'.
PASS: New cookie should have value 'PASS'.
PASS: New cookie should have domain '127.0.0.1'.

-- Running test case: Page.getCookies.FirstParty.SubFrame
Getting cookies before first-party resource load...
Loading first-party resource...
Getting cookies after first-party resource load...
PASS: Should have set cookies.
PASS: New cookie should have name 'FirstPartyFrame'.
PASS: New cookie should have value 'PASS'.
PASS: New cookie should have domain '127.0.0.1'.

-- Running test case: Page.getCookies.ThirdParty.MainFrame.WithITP
Getting cookies before third-party resource load...
Loading third-party resource...
Getting cookies after third-party resource load...
PASS: Should not have set cookies.

-- Running test case: Page.getCookies.ThirdParty.SubFrame.WithITP
Getting cookies before third-party resource load...
Loading third-party resource...
Getting cookies after third-party resource load...
PASS: Should not have set cookies.

-- Running test case: Page.getCookies.DisableITP
PASS

-- Running test case: Page.getCookies.ThirdParty.MainFrame.WithoutITP
Getting cookies before third-party resource load...
Loading third-party resource...
Getting cookies after third-party resource load...
PASS: Should have set cookies.
PASS: New cookie should have name 'ThirdPartyResourceWithoutITP'.
PASS: New cookie should have value 'PASS'.
PASS: New cookie should have domain 'localhost'.

-- Running test case: Page.getCookies.ThirdParty.SubFrame.WithoutITP
Getting cookies before third-party resource load...
Loading third-party resource...
Getting cookies after third-party resource load...
PASS: Should have set cookies.
PASS: New cookie should have name 'ThirdPartyFrameWithoutITP'.
PASS: New cookie should have value 'PASS'.
PASS: New cookie should have domain 'localhost'.

