diff options
Diffstat (limited to 'remote/cdp/test/browser/network/browser_setCookies.js')
-rw-r--r-- | remote/cdp/test/browser/network/browser_setCookies.js | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/remote/cdp/test/browser/network/browser_setCookies.js b/remote/cdp/test/browser/network/browser_setCookies.js new file mode 100644 index 0000000000..c89a68ca16 --- /dev/null +++ b/remote/cdp/test/browser/network/browser_setCookies.js @@ -0,0 +1,70 @@ +/* Any copyright is dedicated to the Public Domain. + * http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +const ALT_HOST = "foo.example.org"; +const DEFAULT_HOST = "example.org"; + +add_task(async function failureWithoutArguments({ client }) { + const { Network } = client; + + let errorThrown = false; + try { + await Network.setCookies(); + } catch (e) { + errorThrown = true; + } + ok(errorThrown, "Fails without any arguments"); +}); + +add_task(async function setCookies({ client }) { + const { Network } = client; + + const expected_cookies = [ + { + name: "foo", + value: "bar", + domain: DEFAULT_HOST, + }, + { + name: "user", + value: "password", + domain: ALT_HOST, + }, + ]; + + try { + await Network.setCookies({ cookies: expected_cookies }); + + const cookies = getCookies(); + cookies.sort((a, b) => a.name.localeCompare(b.name)); + is(cookies.length, expected_cookies.length, "Correct number of cookies"); + assertCookie(cookies[0], expected_cookies[0]); + assertCookie(cookies[1], expected_cookies[1]); + } finally { + Services.cookies.removeAll(); + } +}); + +add_task(async function setCookiesWithInvalidField({ client }) { + const { Network } = client; + + const cookies = [ + { + name: "foo", + value: "bar", + domain: "", + }, + ]; + + let errorThrown = false; + try { + await Network.setCookies({ cookies }); + } catch (e) { + errorThrown = true; + } finally { + Services.cookies.removeAll(); + } + ok(errorThrown, "Fails with an invalid field"); +}); |