summaryrefslogtreecommitdiffstats
path: root/browser/components/urlbar/tests/unit/test_providerOpenTabs.js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:14:29 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-19 01:14:29 +0000
commitfbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8 (patch)
tree4c1ccaf5486d4f2009f9a338a98a83e886e29c97 /browser/components/urlbar/tests/unit/test_providerOpenTabs.js
parentReleasing progress-linux version 124.0.1-1~progress7.99u1. (diff)
downloadfirefox-fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8.tar.xz
firefox-fbaf0bb26397aa498eb9156f06d5a6fe34dd7dd8.zip
Merging upstream version 125.0.1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'browser/components/urlbar/tests/unit/test_providerOpenTabs.js')
-rw-r--r--browser/components/urlbar/tests/unit/test_providerOpenTabs.js99
1 files changed, 91 insertions, 8 deletions
diff --git a/browser/components/urlbar/tests/unit/test_providerOpenTabs.js b/browser/components/urlbar/tests/unit/test_providerOpenTabs.js
index f85f547ac3..689ecf614f 100644
--- a/browser/components/urlbar/tests/unit/test_providerOpenTabs.js
+++ b/browser/components/urlbar/tests/unit/test_providerOpenTabs.js
@@ -3,23 +3,24 @@
"use strict";
+const userContextId1 = 3;
+const userContextId2 = 5;
+const url = "http://foo.mozilla.org/";
+const url2 = "http://foo2.mozilla.org/";
+
add_task(async function test_openTabs() {
- const userContextId1 = 3;
- const userContextId2 = 5;
- const url = "http://foo.mozilla.org/";
- const url2 = "http://foo2.mozilla.org/";
UrlbarProviderOpenTabs.registerOpenTab(url, userContextId1, false);
UrlbarProviderOpenTabs.registerOpenTab(url, userContextId1, false);
UrlbarProviderOpenTabs.registerOpenTab(url2, userContextId1, false);
UrlbarProviderOpenTabs.registerOpenTab(url, userContextId2, false);
Assert.deepEqual(
[url, url2],
- UrlbarProviderOpenTabs.getOpenTabs(userContextId1),
+ UrlbarProviderOpenTabs.getOpenTabUrlsForUserContextId(userContextId1),
"Found all the expected tabs"
);
Assert.deepEqual(
[url],
- UrlbarProviderOpenTabs.getOpenTabs(userContextId2),
+ UrlbarProviderOpenTabs.getOpenTabUrlsForUserContextId(userContextId2),
"Found all the expected tabs"
);
await PlacesUtils.promiseLargeCacheDBConnection();
@@ -37,13 +38,13 @@ add_task(async function test_openTabs() {
await UrlbarProviderOpenTabs.unregisterOpenTab(url2, userContextId1, false);
Assert.deepEqual(
[url],
- UrlbarProviderOpenTabs.getOpenTabs(userContextId1),
+ UrlbarProviderOpenTabs.getOpenTabUrlsForUserContextId(userContextId1),
"Found all the expected tabs"
);
await UrlbarProviderOpenTabs.unregisterOpenTab(url, userContextId1, false);
Assert.deepEqual(
[url],
- UrlbarProviderOpenTabs.getOpenTabs(userContextId1),
+ UrlbarProviderOpenTabs.getOpenTabUrlsForUserContextId(userContextId1),
"Found all the expected tabs"
);
Assert.deepEqual(
@@ -77,4 +78,86 @@ add_task(async function test_openTabs() {
Assert.equal(matchCount, 2, "Found the expected number of matches");
// Sanity check that this doesn't throw.
provider.cancelQuery(context);
+ await UrlbarProviderOpenTabs.unregisterOpenTab(url, userContextId1, false);
+ await UrlbarProviderOpenTabs.unregisterOpenTab(url, userContextId2, false);
+});
+
+add_task(async function test_openTabs_mixedtype_input() {
+ // Passing the userContextId as a string, rather than a number, is a fairly
+ // common mistake, check the API handles both properly.
+ Assert.deepEqual(
+ [],
+ UrlbarProviderOpenTabs.getOpenTabUrls(1),
+ "Found all the expected tabs"
+ );
+ Assert.deepEqual(
+ [],
+ UrlbarProviderOpenTabs.getOpenTabUrls(2),
+ "Found all the expected tabs"
+ );
+ UrlbarProviderOpenTabs.registerOpenTab(url, 1, false);
+ UrlbarProviderOpenTabs.registerOpenTab(url, "2", false);
+ Assert.deepEqual(
+ [url],
+ UrlbarProviderOpenTabs.getOpenTabUrlsForUserContextId(1),
+ "Found all the expected tabs"
+ );
+ Assert.deepEqual(
+ [url],
+ UrlbarProviderOpenTabs.getOpenTabUrlsForUserContextId(2),
+ "Found all the expected tabs"
+ );
+ Assert.deepEqual(
+ UrlbarProviderOpenTabs.getOpenTabUrlsForUserContextId(1),
+ UrlbarProviderOpenTabs.getOpenTabUrlsForUserContextId("1"),
+ "Also check getOpenTabs adapts to the argument type"
+ );
+ UrlbarProviderOpenTabs.unregisterOpenTab(url, "1", false);
+ UrlbarProviderOpenTabs.unregisterOpenTab(url, 2, false);
+ Assert.deepEqual(
+ [],
+ UrlbarProviderOpenTabs.getOpenTabUrlsForUserContextId(1),
+ "Found all the expected tabs"
+ );
+ Assert.deepEqual(
+ [],
+ UrlbarProviderOpenTabs.getOpenTabUrlsForUserContextId(2),
+ "Found all the expected tabs"
+ );
+});
+
+add_task(async function test_openTabs() {
+ Assert.equal(
+ 0,
+ UrlbarProviderOpenTabs.getOpenTabUrls().size,
+ "Check there's no open tabs"
+ );
+ Assert.equal(
+ 0,
+ UrlbarProviderOpenTabs.getOpenTabUrls(true).size,
+ "Check there's no private open tabs"
+ );
+ await UrlbarProviderOpenTabs.registerOpenTab(url, userContextId1, false);
+ await UrlbarProviderOpenTabs.registerOpenTab(url, userContextId2, false);
+ await UrlbarProviderOpenTabs.registerOpenTab(url2, 0, true);
+ Assert.equal(
+ 1,
+ UrlbarProviderOpenTabs.getOpenTabUrls().size,
+ "Check open tabs"
+ );
+ Assert.deepEqual(
+ [userContextId1, userContextId2],
+ Array.from(UrlbarProviderOpenTabs.getOpenTabUrls().get(url)),
+ "Check the tab is in 2 userContextIds"
+ );
+ Assert.equal(
+ 1,
+ UrlbarProviderOpenTabs.getOpenTabUrls(true).size,
+ "Check open private tabs"
+ );
+ Assert.deepEqual(
+ [-1],
+ Array.from(UrlbarProviderOpenTabs.getOpenTabUrls(true).get(url2)),
+ "Check the tab is in the private userContextId"
+ );
});