forked from mirrors/gecko-dev
# ignore-this-changeset Differential Revision: https://phabricator.services.mozilla.com/D36042 --HG-- extra : source : d3afcafdce650a6f36cebbc126ee93b17f13cf52
53 lines
1.3 KiB
JavaScript
53 lines
1.3 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
// Tests the API for saving global session data.
|
|
add_task(async function() {
|
|
const key1 = "Unique name 1: " + Date.now();
|
|
const key2 = "Unique name 2: " + Date.now();
|
|
const value1 = "Unique value 1: " + Math.random();
|
|
const value2 = "Unique value 2: " + Math.random();
|
|
|
|
let global = {};
|
|
global[key1] = value1;
|
|
|
|
const testState = {
|
|
windows: [
|
|
{
|
|
tabs: [
|
|
{ entries: [{ url: "about:blank", triggeringPrincipal_base64 }] },
|
|
],
|
|
},
|
|
],
|
|
global,
|
|
};
|
|
|
|
function testRestoredState() {
|
|
is(
|
|
ss.getCustomGlobalValue(key1),
|
|
value1,
|
|
"restored state has global value"
|
|
);
|
|
}
|
|
|
|
function testGlobalStore() {
|
|
is(ss.getCustomGlobalValue(key2), "", "global value initially not set");
|
|
|
|
ss.setCustomGlobalValue(key2, value1);
|
|
is(ss.getCustomGlobalValue(key2), value1, "retreived value matches stored");
|
|
|
|
ss.setCustomGlobalValue(key2, value2);
|
|
is(
|
|
ss.getCustomGlobalValue(key2),
|
|
value2,
|
|
"previously stored value was overwritten"
|
|
);
|
|
|
|
ss.deleteCustomGlobalValue(key2);
|
|
is(ss.getCustomGlobalValue(key2), "", "global value was deleted");
|
|
}
|
|
|
|
await promiseBrowserState(testState);
|
|
testRestoredState();
|
|
testGlobalStore();
|
|
});
|