diff options
Diffstat (limited to 'browser/components/migration/tests/unit/test_Chrome_passwords_emptySource.js')
-rw-r--r-- | browser/components/migration/tests/unit/test_Chrome_passwords_emptySource.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/browser/components/migration/tests/unit/test_Chrome_passwords_emptySource.js b/browser/components/migration/tests/unit/test_Chrome_passwords_emptySource.js new file mode 100644 index 0000000000..0e6993fded --- /dev/null +++ b/browser/components/migration/tests/unit/test_Chrome_passwords_emptySource.js @@ -0,0 +1,43 @@ +"use strict"; + +const { ChromeProfileMigrator } = ChromeUtils.importESModule( + "resource:///modules/ChromeProfileMigrator.sys.mjs" +); + +const { sinon } = ChromeUtils.importESModule( + "resource://testing-common/Sinon.sys.mjs" +); + +add_task(async function test_importEmptyDBWithoutAuthPrompts() { + let dirSvcPath; + let pathId; + + if (AppConstants.platform == "macosx") { + dirSvcPath = "LibraryWithNoData/"; + pathId = "ULibDir"; + } else if (AppConstants.platform == "win") { + dirSvcPath = "AppData/LocalWithNoData/"; + pathId = "LocalAppData"; + } else { + throw new Error("Not implemented"); + } + let dirSvcFile = do_get_file(dirSvcPath); + registerFakePath(pathId, dirSvcFile); + + let sandbox = sinon.createSandbox(); + sandbox + .stub(ChromeProfileMigrator.prototype, "canGetPermissions") + .resolves(true); + sandbox + .stub(ChromeProfileMigrator.prototype, "hasPermissions") + .resolves(true); + registerCleanupFunction(() => { + sandbox.restore(); + }); + + let migrator = await MigrationUtils.getMigrator("chrome"); + Assert.ok( + !migrator, + "Migrator should not be available since there are no passwords" + ); +}); |