diff --git a/src/js/background/messageHandler.js b/src/js/background/messageHandler.js index 5c15b91..d7384ea 100644 --- a/src/js/background/messageHandler.js +++ b/src/js/background/messageHandler.js @@ -11,7 +11,7 @@ const messageHandler = { switch (m.method) { case "getShortcuts": - console.log(identityState.keyboardShortcut); + console.log("getShortcuts", identityState.keyboardShortcut); response = identityState.keyboardShortcut; break; case "setShortcut": @@ -91,7 +91,7 @@ const messageHandler = { ); break; } - console.log(response); + console.log(m.method, "response", response); return response; }); diff --git a/src/js/options.js b/src/js/options.js index 0b3638e..7b81783 100644 --- a/src/js/options.js +++ b/src/js/options.js @@ -39,8 +39,8 @@ async function setupOptions() { } async function setupContainerShortcutSelects () { - const keyboardShortcut = browser.runtime.sendMessage({method: "getShortcuts"}); - console.log(keyboardShortcut); + const keyboardShortcut = await browser.runtime.sendMessage({method: "getShortcuts"}); + // console.log(keyboardShortcut); const identities = await browser.contextualIdentities.query({}); const fragment = document.createDocumentFragment(); const noneOption = document.createElement("option"); diff --git a/src/js/popup.js b/src/js/popup.js index 019a1f7..680ece7 100644 --- a/src/js/popup.js +++ b/src/js/popup.js @@ -984,7 +984,6 @@ Logic.registerPanel(REOPEN_IN_CONTAINER_PICKER, { document.getElementById("picker-title").textContent = "Reopen This Site in"; const fragment = document.createDocumentFragment(); const currentTab = await Utils.currentTab(); - console.log(currentTab); const pickedFunction = function (identity) { const newUserContextId = Utils.userContextId(identity.cookieStoreId); Utils.reloadInContainer( diff --git a/src/manifest.json b/src/manifest.json index 76ffcad..79e43d5 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -71,7 +71,7 @@ "default_icon": "img/multiaccountcontainer-16.svg", "default_title": "Always open this in a Container", "default_popup": "pageActionPopup.html", - "pinned": true, + "pinned": false, "show_matches": ["*://*/*"] }, "background": { diff --git a/test/features/assignment.test.js b/test/features/assignment.test.js index ca50f49..491f22d 100644 --- a/test/features/assignment.test.js +++ b/test/features/assignment.test.js @@ -1,11 +1,11 @@ const {initializeWithTab} = require("../common"); -describe("Assignment Feature", function () { +describe("Assignment Reopen Feature", function () { const url = "http://example.com"; beforeEach(async function () { this.webExt = await initializeWithTab({ - cookieStoreId: "firefox-container-1", + cookieStoreId: "firefox-default", url }); }); @@ -17,61 +17,71 @@ describe("Assignment Feature", function () { describe("click the 'Always open in' checkbox in the popup", function () { beforeEach(async function () { // popup click to set assignment for activeTab.url - await this.webExt.popup.helper.clickElementById("container-page-assigned"); + await this.webExt.popup.helper.clickElementById("always-open-in"); + await this.webExt.popup.helper.clickElementByQuerySelectorAll("#picker-identities-list > .menu-item"); }); - describe("open new Tab with the assigned URL in the default container", function () { - let newTab; - beforeEach(async function () { - // new Tab opening activeTab.url in default container - newTab = await this.webExt.background.browser.tabs._create({ - cookieStoreId: "firefox-default", - url - }, { - options: { - webRequestError: true // because request is canceled due to reopening - } - }); + it("should open the page in the assigned container", async function () { + // should have created a new tab with the confirm page + this.webExt.background.browser.tabs.create.should.have.been.calledWithMatch({ + active: true, + cookieStoreId: "firefox-container-4", + index: 1, + openerTabId: null, + url: "http://example.com" }); + }); - it("should open the confirm page", async function () { - // should have created a new tab with the confirm page - this.webExt.background.browser.tabs.create.should.have.been.calledWithMatch({ - url: "moz-extension://fake/confirm-page.html?" + + }); + +}); + +describe("Assignment Comfirm Page Feature", function () { + const url = "http://example.com"; + + beforeEach(async function () { + this.webExt = await initializeWithTab({ + cookieStoreId: "firefox-container-4", + url + }); + }); + + afterEach(function () { + this.webExt.destroy(); + }); + + describe("open new Tab with the assigned URL in the default container", function () { + let newTab; + beforeEach(async function () { + await this.webExt.popup.helper.clickElementById("always-open-in"); + await this.webExt.popup.helper.clickElementByQuerySelectorAll("#picker-identities-list > .menu-item"); + + // new Tab opening activeTab.url in default container + newTab = await this.webExt.background.browser.tabs._create({ + cookieStoreId: "firefox-default", + url + }, { + options: { + webRequestError: true // because request is canceled due to reopening + } + }); + }); + + it("should open the confirm page", async function () { + // should have created a new tab with the confirm page + this.webExt.background.browser.tabs.create.should.have.been.calledWithMatch({ + url: "moz-extension://fake/confirm-page.html?" + `url=${encodeURIComponent(url)}` + `&cookieStoreId=${this.webExt.tab.cookieStoreId}`, - cookieStoreId: undefined, - openerTabId: null, - index: 2, - active: true - }); - }); - - it("should remove the new Tab that got opened in the default container", function () { - this.webExt.background.browser.tabs.remove.should.have.been.calledWith(newTab.id); + cookieStoreId: undefined, + openerTabId: null, + index: 2, + active: true }); }); - describe("click the 'Always open in' checkbox in the popup again", function () { - beforeEach(async function () { - // popup click to remove assignment for activeTab.url - await this.webExt.popup.helper.clickElementById("container-page-assigned"); - }); - - describe("open new Tab with the no longer assigned URL in the default container", function () { - beforeEach(async function () { - // new Tab opening activeTab.url in default container - await this.webExt.background.browser.tabs._create({ - cookieStoreId: "firefox-default", - url - }); - }); - - it("should not open the confirm page", async function () { - // should not have created a new tab - this.webExt.background.browser.tabs.create.should.not.have.been.called; - }); - }); + it("should remove the new Tab that got opened in the default container", function () { + this.webExt.background.browser.tabs.remove.should.have.been.calledWith(newTab.id); }); }); }); diff --git a/test/features/containers.test.js b/test/features/containers.test.js index d50a6b8..8d18c39 100644 --- a/test/features/containers.test.js +++ b/test/features/containers.test.js @@ -11,8 +11,9 @@ describe("Containers Management", function () { describe("creating a new container", function () { beforeEach(async function () { - await this.webExt.popup.helper.clickElementById("container-add-link"); - await this.webExt.popup.helper.clickElementById("edit-container-ok-link"); + await this.webExt.popup.helper.clickElementById("manage-containers-link"); + await this.webExt.popup.helper.clickElementById("new-container"); + await this.webExt.popup.helper.clickElementById("create-container-ok-link"); }); it("should create it in the browser as well", function () { @@ -21,8 +22,9 @@ describe("Containers Management", function () { describe("removing it afterwards", function () { beforeEach(async function () { - await this.webExt.popup.helper.clickElementById("edit-containers-link"); - await this.webExt.popup.helper.clickElementByQuerySelectorAll(".delete-container-icon", "last"); + await this.webExt.popup.helper.clickElementById("manage-containers-link"); + await this.webExt.popup.helper.clickElementByQuerySelectorAll("#picker-identities-list > .menu-item", "last"); + await this.webExt.popup.helper.clickElementById("delete-container-button"); await this.webExt.popup.helper.clickElementById("delete-container-ok-link"); }); diff --git a/test/features/external-webextensions.test.js b/test/features/external-webextensions.test.js index f3c6810..f47fe6a 100644 --- a/test/features/external-webextensions.test.js +++ b/test/features/external-webextensions.test.js @@ -5,11 +5,12 @@ describe("External Webextensions", function () { beforeEach(async function () { this.webExt = await initializeWithTab({ - cookieStoreId: "firefox-container-1", + cookieStoreId: "firefox-container-4", url }); - await this.webExt.popup.helper.clickElementById("container-page-assigned"); + await this.webExt.popup.helper.clickElementById("always-open-in"); + await this.webExt.popup.helper.clickElementByQuerySelectorAll("#picker-identities-list > .menu-item", "last"); }); afterEach(function () { @@ -32,7 +33,7 @@ describe("External Webextensions", function () { const [promise] = this.webExt.background.browser.runtime.onMessageExternal.addListener.yield(message, sender); const answer = await promise; - expect(answer.userContextId === "1").to.be.true; + expect(answer.userContextId === "4").to.be.true; expect(answer.neverAsk === false).to.be.true; expect( Object.prototype.hasOwnProperty.call( diff --git a/test/features/sync.test.js b/test/features/sync.test.js index 70c452f..1e4070a 100644 --- a/test/features/sync.test.js +++ b/test/features/sync.test.js @@ -11,7 +11,7 @@ describe("Sync", function() { delete this.syncHelper; }); - it.only("testIdentityStateCleanup", async function() { + it("testIdentityStateCleanup", async function() { await this.syncHelper.stopSyncListeners(); await this.syncHelper.setState({}, LOCAL_DATA, TEST_CONTAINERS, []); diff --git a/test/issues/940.test.js b/test/issues/940.test.js index bbe4a64..fce13d5 100644 --- a/test/issues/940.test.js +++ b/test/issues/940.test.js @@ -4,11 +4,12 @@ describe("#940", function () { describe("when other onBeforeRequestHandlers are faster and redirect with the same requestId", function () { it("should not open two confirm pages", async function () { const webExtension = await initializeWithTab({ - cookieStoreId: "firefox-container-1", + cookieStoreId: "firefox-container-4", url: "http://example.com" }); - await webExtension.popup.helper.clickElementById("container-page-assigned"); + await webExtension.popup.helper.clickElementById("always-open-in"); + await webExtension.popup.helper.clickElementByQuerySelectorAll("#picker-identities-list > .menu-item"); const responses = {}; await webExtension.background.browser.tabs._create({ @@ -36,10 +37,12 @@ describe("#940", function () { beforeEach(async function () { this.webExt = await initializeWithTab({ - cookieStoreId: "firefox-container-1", + cookieStoreId: "firefox-container-4", url: "https://www.youtube.com" }); - await this.webExt.popup.helper.clickElementById("container-page-assigned"); + + await this.webExt.popup.helper.clickElementById("always-open-in"); + await this.webExt.popup.helper.clickElementByQuerySelectorAll("#picker-identities-list > .menu-item"); global.clock = sinon.useFakeTimers(); this.redirectedRequest = async (options = {}) => {