forked from mirrors/gecko-dev
45 lines
1.4 KiB
JavaScript
45 lines
1.4 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
add_task(async function test_openTabs() {
|
|
const userContextId = 5;
|
|
const url = "http://foo.mozilla.org/";
|
|
UrlbarProviderOpenTabs.registerOpenTab(url, userContextId, false);
|
|
UrlbarProviderOpenTabs.registerOpenTab(url, userContextId, false);
|
|
Assert.equal(
|
|
UrlbarProviderOpenTabs._openTabs.get(userContextId).length,
|
|
2,
|
|
"Found all the expected tabs"
|
|
);
|
|
UrlbarProviderOpenTabs.unregisterOpenTab(url, userContextId, false);
|
|
Assert.equal(
|
|
UrlbarProviderOpenTabs._openTabs.get(userContextId).length,
|
|
1,
|
|
"Found all the expected tabs"
|
|
);
|
|
|
|
let context = createContext();
|
|
let matchCount = 0;
|
|
let callback = function (provider, match) {
|
|
matchCount++;
|
|
Assert.ok(
|
|
provider instanceof UrlbarProviderOpenTabs,
|
|
"Got the expected provider"
|
|
);
|
|
Assert.equal(
|
|
match.type,
|
|
UrlbarUtils.RESULT_TYPE.TAB_SWITCH,
|
|
"Got the expected result type"
|
|
);
|
|
Assert.equal(match.payload.url, url, "Got the expected url");
|
|
Assert.equal(match.payload.title, undefined, "Got the expected title");
|
|
};
|
|
|
|
let provider = new UrlbarProviderOpenTabs();
|
|
await provider.startQuery(context, callback);
|
|
Assert.equal(matchCount, 1, "Found the expected number of matches");
|
|
// Sanity check that this doesn't throw.
|
|
provider.cancelQuery(context);
|
|
});
|