summaryrefslogtreecommitdiffstats
path: root/browser/components/migration/tests/unit/test_Chrome_cookies.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/migration/tests/unit/test_Chrome_cookies.js')
-rw-r--r--browser/components/migration/tests/unit/test_Chrome_cookies.js51
1 files changed, 51 insertions, 0 deletions
diff --git a/browser/components/migration/tests/unit/test_Chrome_cookies.js b/browser/components/migration/tests/unit/test_Chrome_cookies.js
new file mode 100644
index 000000000..006693951
--- /dev/null
+++ b/browser/components/migration/tests/unit/test_Chrome_cookies.js
@@ -0,0 +1,51 @@
+"use strict";
+
+Cu.import("resource://gre/modules/ForgetAboutSite.jsm");
+
+add_task(function* () {
+ registerFakePath("ULibDir", do_get_file("Library/"));
+ let migrator = MigrationUtils.getMigrator("chrome");
+
+ Assert.ok(migrator.sourceExists, "Sanity check the source exists");
+
+ const COOKIE = {
+ expiry: 2145934800,
+ host: "unencryptedcookie.invalid",
+ isHttpOnly: false,
+ isSession: false,
+ name: "testcookie",
+ path: "/",
+ value: "testvalue",
+ };
+
+ // Sanity check.
+ Assert.equal(Services.cookies.countCookiesFromHost(COOKIE.host), 0,
+ "There are no cookies initially");
+
+ const PROFILE = {
+ id: "Default",
+ name: "Person 1",
+ };
+
+ // Migrate unencrypted cookies.
+ yield promiseMigration(migrator, MigrationUtils.resourceTypes.COOKIES, PROFILE);
+
+ Assert.equal(Services.cookies.countCookiesFromHost(COOKIE.host), 1,
+ "Migrated the expected number of unencrypted cookies");
+ Assert.equal(Services.cookies.countCookiesFromHost("encryptedcookie.invalid"), 0,
+ "Migrated the expected number of encrypted cookies");
+
+ // Now check the cookie details.
+ let enumerator = Services.cookies.getCookiesFromHost(COOKIE.host, {});
+ Assert.ok(enumerator.hasMoreElements(), "Cookies available");
+ let foundCookie = enumerator.getNext().QueryInterface(Ci.nsICookie2);
+
+ for (let prop of Object.keys(COOKIE)) {
+ Assert.equal(foundCookie[prop], COOKIE[prop], "Check cookie " + prop);
+ }
+
+ // Cleanup.
+ ForgetAboutSite.removeDataFromDomain(COOKIE.host);
+ Assert.equal(Services.cookies.countCookiesFromHost(COOKIE.host), 0,
+ "There are no cookies after cleanup");
+});