Bug 1435142 - Part 2: add a browser mochitest for closeTabByDblclick. r=dao,mixedpuppy

MozReview-Commit-ID: 1UEnYflvtLw

--HG--
extra : rebase_source : 381ce559b0d6158fd4ce95c91d652609d08369ae
This commit is contained in:
Hector Zhao 2018-03-06 16:50:38 +08:00
Родитель dd3e7ab8f5
Коммит 8e82fa6234
2 изменённых файлов: 37 добавлений и 0 удалений

Просмотреть файл

@ -7,6 +7,7 @@ support-files =
[browser_accessibility_indicator.js]
[browser_allow_process_switches_despite_related_browser.js]
[browser_bug580956.js]
[browser_close_tab_by_dblclick.js]
[browser_contextmenu_openlink_after_tabnavigated.js]
support-files =
test_bug1358314.html

Просмотреть файл

@ -0,0 +1,36 @@
/* 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/. */
const PREF_CLOSE_TAB_BY_DBLCLICK = "browser.tabs.closeTabByDblclick";
function triggerDblclickOn(target) {
let promise = BrowserTestUtils.waitForEvent(target, "dblclick");
EventUtils.synthesizeMouseAtCenter(target, { clickCount: 1 });
EventUtils.synthesizeMouseAtCenter(target, { clickCount: 2 });
return promise;
}
add_task(async function dblclick() {
let tab = gBrowser.selectedTab;
await triggerDblclickOn(tab);
ok(!tab.closing, "Double click the selected tab won't close it");
});
add_task(async function dblclickWithPrefSet() {
await SpecialPowers.pushPrefEnv({set: [
[PREF_CLOSE_TAB_BY_DBLCLICK, true]
]});
let tab = BrowserTestUtils.addTab(gBrowser, "about:mozilla", {
skipAnimation: true
});
isnot(tab, gBrowser.selectedTab, "The new tab is in the background");
await triggerDblclickOn(tab);
is(tab, gBrowser.selectedTab, "Double click a background tab will select it");
await triggerDblclickOn(tab);
ok(tab.closing, "Double click the selected tab will close it");
});