summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/general/browser_bug555767.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/base/content/test/general/browser_bug555767.js')
-rw-r--r--browser/base/content/test/general/browser_bug555767.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/browser/base/content/test/general/browser_bug555767.js b/browser/base/content/test/general/browser_bug555767.js
new file mode 100644
index 000000000..bc774f7dc
--- /dev/null
+++ b/browser/base/content/test/general/browser_bug555767.js
@@ -0,0 +1,54 @@
+ /* 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(function* () {
+ let testURL = "http://example.org/browser/browser/base/content/test/general/dummy_page.html";
+ let tabSelected = false;
+
+ // Open the base tab
+ let baseTab = gBrowser.addTab(testURL);
+
+ // Wait for the tab to be fully loaded so matching happens correctly
+ yield promiseTabLoaded(baseTab);
+ if (baseTab.linkedBrowser.currentURI.spec == "about:blank")
+ return;
+ baseTab.linkedBrowser.removeEventListener("load", arguments.callee, true);
+
+ let testTab = gBrowser.addTab();
+
+ // Select the testTab
+ gBrowser.selectedTab = testTab;
+
+ // Set the urlbar to include the moz-action
+ gURLBar.value = "moz-action:switchtab," + JSON.stringify({url: testURL});
+ // Focus the urlbar so we can press enter
+ gURLBar.focus();
+
+ // Functions for TabClose and TabSelect
+ function onTabClose(aEvent) {
+ gBrowser.tabContainer.removeEventListener("TabClose", onTabClose, false);
+ // Make sure we get the TabClose event for testTab
+ is(aEvent.originalTarget, testTab, "Got the TabClose event for the right tab");
+ // Confirm that we did select the tab
+ ok(tabSelected, "Confirming that the tab was selected");
+ gBrowser.removeTab(baseTab);
+ finish();
+ }
+ function onTabSelect(aEvent) {
+ gBrowser.tabContainer.removeEventListener("TabSelect", onTabSelect, false);
+ // Make sure we got the TabSelect event for baseTab
+ is(aEvent.originalTarget, baseTab, "Got the TabSelect event for the right tab");
+ // Confirm that the selected tab is in fact base tab
+ is(gBrowser.selectedTab, baseTab, "We've switched to the correct tab");
+ tabSelected = true;
+ }
+
+ // Add the TabClose, TabSelect event listeners before we press enter
+ gBrowser.tabContainer.addEventListener("TabClose", onTabClose, false);
+ gBrowser.tabContainer.addEventListener("TabSelect", onTabSelect, false);
+
+ // Press enter!
+ EventUtils.synthesizeKey("VK_RETURN", {});
+ });
+