mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-11-10 05:08:36 +02:00
MozReview-Commit-ID: AbqR3hECLZe --HG-- extra : rebase_source : 272926b56b90a89e77aa137e6272ce1115cd2fe0
40 lines
1.2 KiB
JavaScript
40 lines
1.2 KiB
JavaScript
"use strict";
|
|
|
|
AddonTestUtils.init(this);
|
|
AddonTestUtils.overrideCertDB();
|
|
AddonTestUtils.createAppInfo("xpcshell@tests.mozilla.org", "XPCShell", "1", "1");
|
|
|
|
// Tests that startupData is persisted and is available at startup
|
|
add_task(async function test_startupData() {
|
|
await AddonTestUtils.promiseStartupManager();
|
|
|
|
let wrapper = ExtensionTestUtils.loadExtension({useAddonManager: "permanent"});
|
|
await wrapper.startup();
|
|
|
|
let {extension} = wrapper;
|
|
|
|
deepEqual(extension.startupData, {}, "startupData for a new extension defaults to empty object");
|
|
|
|
const DATA = {test: "i am some startup data"};
|
|
extension.startupData = DATA;
|
|
extension.saveStartupData();
|
|
|
|
await AddonTestUtils.promiseRestartManager();
|
|
await wrapper.startupPromise;
|
|
|
|
({extension} = wrapper);
|
|
deepEqual(extension.startupData, DATA, "startupData is present on restart");
|
|
|
|
const DATA2 = {other: "this is different data"};
|
|
extension.startupData = DATA2;
|
|
extension.saveStartupData();
|
|
|
|
await AddonTestUtils.promiseRestartManager();
|
|
await wrapper.startupPromise;
|
|
|
|
({extension} = wrapper);
|
|
deepEqual(extension.startupData, DATA2, "updated startupData is present on restart");
|
|
|
|
await wrapper.unload();
|
|
await AddonTestUtils.promiseShutdownManager();
|
|
});
|