mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1247255 - Update the UITour to use Loop's new API for opening the panel. r=MattN
This commit is contained in:
parent
c2218cb8f2
commit
8085df4796
@ -1700,7 +1700,7 @@ this.UITour = {
|
||||
|
||||
// An event object is expected but we don't want to toggle the panel with a click if the panel
|
||||
// is already open.
|
||||
aWindow.LoopUI.openCallPanel({ target: toolbarButton.node, }, "rooms").then(() => {
|
||||
aWindow.LoopUI.openPanel({ target: toolbarButton.node, }, "rooms").then(() => {
|
||||
if (aOpenCallback) {
|
||||
aOpenCallback();
|
||||
}
|
||||
|
@ -37,6 +37,7 @@ skip-if = e10s # Bug 1240747 - UITour.jsm not e10s friendly
|
||||
skip-if = e10s # Bug 1240747 - UITour.jsm not e10s friendly.
|
||||
[browser_UITour_loop.js]
|
||||
skip-if = true # Bug 1225832 - New Loop architecture is not compatible with test.
|
||||
[browser_UITour_loop_panel.js]
|
||||
[browser_UITour_modalDialog.js]
|
||||
skip-if = os != "mac" || e10s # modal dialog disabling only working on OS X. Bug 1240747 - UITour.jsm not e10s friendly
|
||||
[browser_UITour_observe.js]
|
||||
|
@ -112,29 +112,6 @@ var tests = [
|
||||
|
||||
checkLoopPanelIsHidden();
|
||||
}),
|
||||
taskify(function* test_menu_show_hide() {
|
||||
// The targets to highlight only appear after getting started is launched.
|
||||
// Set latestFTUVersion to lower number to show FTU panel.
|
||||
Services.prefs.setIntPref("loop.gettingStarted.latestFTUVersion", 0);
|
||||
is(loopButton.open, false, "Menu should initially be closed");
|
||||
gContentAPI.showMenu("loop");
|
||||
|
||||
yield waitForConditionPromise(() => {
|
||||
return loopButton.open;
|
||||
}, "Menu should be visible after showMenu()");
|
||||
|
||||
ok(loopPanel.hasAttribute("noautohide"), "@noautohide should be on the loop panel");
|
||||
ok(loopPanel.hasAttribute("panelopen"), "The panel should have @panelopen");
|
||||
is(loopPanel.state, "open", "The panel should be open");
|
||||
ok(loopButton.hasAttribute("open"), "Loop button should know that the menu is open");
|
||||
|
||||
gContentAPI.hideMenu("loop");
|
||||
yield waitForConditionPromise(() => {
|
||||
return !loopButton.open;
|
||||
}, "Menu should be hidden after hideMenu()");
|
||||
|
||||
checkLoopPanelIsHidden();
|
||||
}),
|
||||
// Test the menu was cleaned up in teardown.
|
||||
taskify(function* setup_menu_cleanup() {
|
||||
gContentAPI.showMenu("loop");
|
||||
|
68
browser/components/uitour/test/browser_UITour_loop_panel.js
Normal file
68
browser/components/uitour/test/browser_UITour_loop_panel.js
Normal file
@ -0,0 +1,68 @@
|
||||
"use strict";
|
||||
|
||||
var gTestTab;
|
||||
var gContentAPI;
|
||||
var gContentWindow;
|
||||
var gMessageHandlers;
|
||||
var loopButton;
|
||||
var fakeRoom;
|
||||
var loopPanel = document.getElementById("loop-notification-panel");
|
||||
|
||||
const { LoopAPI } = Cu.import("chrome://loop/content/modules/MozLoopAPI.jsm", {});
|
||||
const { LoopRooms } = Cu.import("chrome://loop/content/modules/LoopRooms.jsm", {});
|
||||
|
||||
if (!Services.prefs.getBoolPref("loop.enabled")) {
|
||||
ok(true, "Loop is disabled so skip the UITour Loop tests");
|
||||
} else {
|
||||
function checkLoopPanelIsHidden() {
|
||||
ok(!loopPanel.hasAttribute("noautohide"), "@noautohide on the loop panel should have been cleaned up");
|
||||
ok(!loopPanel.hasAttribute("panelopen"), "The panel shouldn't have @panelopen");
|
||||
isnot(loopPanel.state, "open", "The panel shouldn't be open");
|
||||
is(loopButton.hasAttribute("open"), false, "Loop button should know that the panel is closed");
|
||||
}
|
||||
|
||||
add_task(setup_UITourTest);
|
||||
|
||||
add_task(function() {
|
||||
loopButton = window.LoopUI.toolbarButton.node;
|
||||
|
||||
registerCleanupFunction(() => {
|
||||
Services.prefs.clearUserPref("loop.gettingStarted.latestFTUVersion");
|
||||
Services.io.offline = false;
|
||||
|
||||
// Copied from browser/components/loop/test/mochitest/head.js
|
||||
// Remove the iframe after each test. This also avoids mochitest complaining
|
||||
// about leaks on shutdown as we intentionally hold the iframe open for the
|
||||
// life of the application.
|
||||
let frameId = loopButton.getAttribute("notificationFrameId");
|
||||
let frame = document.getElementById(frameId);
|
||||
if (frame) {
|
||||
frame.remove();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
add_UITour_task(function* test_menu_show_hide() {
|
||||
// The targets to highlight only appear after getting started is launched.
|
||||
// Set latestFTUVersion to lower number to show FTU panel.
|
||||
Services.prefs.setIntPref("loop.gettingStarted.latestFTUVersion", 0);
|
||||
is(loopButton.open, false, "Menu should initially be closed");
|
||||
gContentAPI.showMenu("loop");
|
||||
|
||||
yield waitForConditionPromise(() => {
|
||||
return loopButton.open;
|
||||
}, "Menu should be visible after showMenu()");
|
||||
|
||||
ok(loopPanel.hasAttribute("noautohide"), "@noautohide should be on the loop panel");
|
||||
ok(loopPanel.hasAttribute("panelopen"), "The panel should have @panelopen");
|
||||
is(loopPanel.state, "open", "The panel should be open");
|
||||
ok(loopButton.hasAttribute("open"), "Loop button should know that the menu is open");
|
||||
|
||||
gContentAPI.hideMenu("loop");
|
||||
yield waitForConditionPromise(() => {
|
||||
return !loopButton.open;
|
||||
}, "Menu should be hidden after hideMenu()");
|
||||
|
||||
checkLoopPanelIsHidden();
|
||||
});
|
||||
}
|
@ -28,6 +28,7 @@ LOOPDIR=browser/extensions/loop
|
||||
|
||||
TESTS="
|
||||
${LOOPDIR}/chrome/test/mochitest
|
||||
browser/components/uitour/test/browser_UITour_loop_panel.js
|
||||
browser/base/content/test/general/browser_devices_get_user_media_about_urls.js
|
||||
browser/base/content/test/general/browser_parsable_css.js
|
||||
"
|
||||
|
Loading…
Reference in New Issue
Block a user