"use strict"; const { ChromeMigrationUtils } = ChromeUtils.importESModule( "resource:///modules/ChromeMigrationUtils.sys.mjs" ); // Setup chrome user data path for all platforms. ChromeMigrationUtils.getDataPath = () => { return do_get_file("Library/Application Support/Google/Chrome/").path; }; add_task(async function test_getExtensionList_function() { let extensionList = await ChromeMigrationUtils.getExtensionList("Default"); Assert.equal( extensionList.length, 2, "There should be 2 extensions installed." ); Assert.deepEqual( extensionList.find(extension => extension.id == "fake-extension-1"), { id: "fake-extension-1", name: "Fake Extension 1", description: "It is the description of fake extension 1.", }, "First extension should match expectations." ); Assert.deepEqual( extensionList.find(extension => extension.id == "fake-extension-2"), { id: "fake-extension-2", name: "Fake Extension 2", description: "It is the description of fake extension 2.", }, "Second extension should match expectations." ); }); add_task(async function test_getExtensionInformation_function() { let extension = await ChromeMigrationUtils.getExtensionInformation( "fake-extension-1", "Default" ); Assert.deepEqual( extension, { id: "fake-extension-1", name: "Fake Extension 1", description: "It is the description of fake extension 1.", }, "Should get the extension information correctly." ); }); add_task(async function test_getLocaleString_function() { let name = await ChromeMigrationUtils._getLocaleString( "__MSG_name__", "en_US", "fake-extension-1", "Default" ); Assert.deepEqual( name, "Fake Extension 1", "The value of __MSG_name__ locale key is Fake Extension 1." ); }); add_task(async function test_isExtensionInstalled_function() { let isInstalled = await ChromeMigrationUtils.isExtensionInstalled( "fake-extension-1", "Default" ); Assert.ok(isInstalled, "The fake-extension-1 extension should be installed."); }); add_task(async function test_getLastUsedProfileId_function() { let profileId = await ChromeMigrationUtils.getLastUsedProfileId(); Assert.equal( profileId, "Default", "The last used profile ID should be Default." ); });