summaryrefslogtreecommitdiffstats
path: root/remote/cdp/test/browser/network/browser_setCookies.js
diff options
context:
space:
mode:
Diffstat (limited to 'remote/cdp/test/browser/network/browser_setCookies.js')
-rw-r--r--remote/cdp/test/browser/network/browser_setCookies.js70
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");
+});