1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
add_task(async function test_sessions_data() {
let extension = ExtensionTestUtils.loadExtension({
background: async () => {
let [mailTab] = await browser.tabs.query({ mailTab: true });
let contentTab = await browser.tabs.create({
url: "https://www.example.com",
});
// Check that there is no data at the beginning.
browser.test.assertEq(
await browser.sessions.getTabValue(mailTab.id, "aKey"),
undefined,
"Value for aKey should not exist"
);
browser.test.assertEq(
await browser.sessions.getTabValue(contentTab.id, "aKey"),
undefined,
"Value for aKey should not exist"
);
// Set some data.
await browser.sessions.setTabValue(mailTab.id, "aKey", "1234");
await browser.sessions.setTabValue(contentTab.id, "aKey", "4321");
// Check the data is correct.
browser.test.assertEq(
await browser.sessions.getTabValue(mailTab.id, "aKey"),
"1234",
"Value for aKey should exist"
);
browser.test.assertEq(
await browser.sessions.getTabValue(contentTab.id, "aKey"),
"4321",
"Value for aKey should exist"
);
// Update data.
await browser.sessions.setTabValue(mailTab.id, "aKey", "12345");
await browser.sessions.setTabValue(contentTab.id, "aKey", "54321");
// Check the data is correct.
browser.test.assertEq(
await browser.sessions.getTabValue(mailTab.id, "aKey"),
"12345",
"Value for aKey should exist"
);
browser.test.assertEq(
await browser.sessions.getTabValue(contentTab.id, "aKey"),
"54321",
"Value for aKey should exist"
);
// Clear data.
await browser.sessions.removeTabValue(mailTab.id, "aKey");
await browser.sessions.removeTabValue(contentTab.id, "aKey");
// Check the data is removed.
browser.test.assertEq(
await browser.sessions.getTabValue(mailTab.id, "aKey"),
undefined,
"Value for aKey should not exist"
);
browser.test.assertEq(
await browser.sessions.getTabValue(contentTab.id, "aKey"),
undefined,
"Value for aKey should not exist"
);
await browser.tabs.remove(contentTab.id);
browser.test.notifyPass();
},
manifest: {
manifest_version: 2,
browser_specific_settings: {
gecko: {
id: "sessions@mochi.test",
},
},
permissions: ["tabs"],
},
});
await extension.startup();
await extension.awaitFinish();
await extension.unload();
});
|