"use strict"; ChromeUtils.import("resource://gre/modules/AppConstants.jsm"); ChromeUtils.import("resource:///modules/ChromeMigrationUtils.jsm"); ChromeUtils.import("resource://gre/modules/osfile.jsm"); function getRootPath() { let dirKey; if (AppConstants.platform == "win") { dirKey = "winLocalAppDataDir"; } else if (AppConstants.platform == "macosx") { dirKey = "macUserLibDir"; } else { dirKey = "homeDir"; } return OS.Constants.Path[dirKey]; } add_task(async function test_getDataPath_function() { let chromeUserDataPath = ChromeMigrationUtils.getDataPath("Chrome"); let chromiumUserDataPath = ChromeMigrationUtils.getDataPath("Chromium"); let canaryUserDataPath = ChromeMigrationUtils.getDataPath("Canary"); if (AppConstants.platform == "win") { Assert.equal(chromeUserDataPath, OS.Path.join(getRootPath(), "Google", "Chrome", "User Data"), "Should get the path of Chrome data directory."); Assert.equal(chromiumUserDataPath, OS.Path.join(getRootPath(), "Chromium", "User Data"), "Should get the path of Chromium data directory."); Assert.equal(canaryUserDataPath, OS.Path.join(getRootPath(), "Google", "Chrome SxS", "User Data"), "Should get the path of Canary data directory."); } else if (AppConstants.platform == "macosx") { Assert.equal(chromeUserDataPath, OS.Path.join(getRootPath(), "Application Support", "Google", "Chrome"), "Should get the path of Chrome data directory."); Assert.equal(chromiumUserDataPath, OS.Path.join(getRootPath(), "Application Support", "Chromium"), "Should get the path of Chromium data directory."); Assert.equal(canaryUserDataPath, OS.Path.join(getRootPath(), "Application Support", "Google", "Chrome Canary"), "Should get the path of Canary data directory."); } else { Assert.equal(chromeUserDataPath, OS.Path.join(getRootPath(), ".config", "google-chrome"), "Should get the path of Chrome data directory."); Assert.equal(chromiumUserDataPath, OS.Path.join(getRootPath(), ".config", "chromium"), "Should get the path of Chromium data directory."); Assert.equal(canaryUserDataPath, null, "Should get null for Canary."); } }); add_task(async function test_getExtensionPath_function() { let extensionPath = ChromeMigrationUtils.getExtensionPath("Default"); let expectedPath; if (AppConstants.platform == "win") { expectedPath = OS.Path.join(getRootPath(), "Google", "Chrome", "User Data", "Default", "Extensions"); } else if (AppConstants.platform == "macosx") { expectedPath = OS.Path.join(getRootPath(), "Application Support", "Google", "Chrome", "Default", "Extensions"); } else { expectedPath = OS.Path.join(getRootPath(), ".config", "google-chrome", "Default", "Extensions"); } Assert.equal(extensionPath, expectedPath, "Should get the path of extensions directory."); });