mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
90 lines
2.6 KiB
JavaScript
90 lines
2.6 KiB
JavaScript
let testURL = chromeRoot + "browser_contentpopup.html";
|
|
messageManager.loadFrameScript(chromeRoot + "remote_contentpopup.js", true);
|
|
|
|
let newTab = null;
|
|
|
|
// A queue to order the tests and a handle for each test
|
|
var gTests = [];
|
|
var gCurrentTest = null;
|
|
|
|
function test() {
|
|
// This test is async
|
|
waitForExplicitFinish();
|
|
|
|
// Need to wait until the page is loaded
|
|
messageManager.addMessageListener("pageshow", function(aMessage) {
|
|
if (newTab && newTab.browser.currentURI.spec != "about:blank") {
|
|
messageManager.removeMessageListener(aMessage.name, arguments.callee);
|
|
BrowserUI.closeAutoComplete(true);
|
|
setTimeout(runNextTest, 0);
|
|
}
|
|
});
|
|
|
|
waitForFirstPaint(function() {
|
|
newTab = Browser.addTab(testURL, true);
|
|
});
|
|
}
|
|
|
|
//------------------------------------------------------------------------------
|
|
// Iterating tests by shifting test out one by one as runNextTest is called.
|
|
function runNextTest() {
|
|
// Run the next test until all tests completed
|
|
if (gTests.length > 0) {
|
|
gCurrentTest = gTests.shift();
|
|
info(gCurrentTest.desc);
|
|
gCurrentTest.run();
|
|
}
|
|
else {
|
|
// Cleanup. All tests are completed at this point
|
|
try {
|
|
// Add any cleanup code here
|
|
|
|
// Close our tab when finished
|
|
Browser.closeTab(newTab);
|
|
}
|
|
finally {
|
|
// We must finalize the tests
|
|
finish();
|
|
}
|
|
}
|
|
}
|
|
|
|
//------------------------------------------------------------------------------
|
|
// Case: Show/Hide the content popup helper
|
|
gTests.push({
|
|
desc: "Show/Hide the content popup helper",
|
|
|
|
run: function() {
|
|
let popup = document.getElementById("form-helper-suggestions-container");
|
|
popup.addEventListener("contentpopupshown", function(aEvent) {
|
|
aEvent.target.removeEventListener(aEvent.type, arguments.callee, false);
|
|
ok(!popup.hidden, "Content popup should be visible");
|
|
waitFor(gCurrentTest.hidePopup, function() {
|
|
return FormHelperUI._open;
|
|
});
|
|
}, false);
|
|
|
|
AsyncTests.waitFor("TestRemoteAutocomplete:Click",
|
|
{ id: "input-datalist-1" }, function(json) {});
|
|
},
|
|
|
|
hidePopup: function() {
|
|
let popup = document.getElementById("form-helper-suggestions-container");
|
|
popup.addEventListener("contentpopuphidden", function(aEvent) {
|
|
popup.removeEventListener("contentpopuphidden", arguments.callee, false);
|
|
ok(popup.hidden, "Content popup should be hidden");
|
|
waitFor(gCurrentTest.finish, function() {
|
|
return !FormHelperUI._open;
|
|
});
|
|
}, false);
|
|
|
|
// Close the form assistant
|
|
FormHelperUI.hide();
|
|
},
|
|
|
|
finish: function() {
|
|
runNextTest();
|
|
}
|
|
});
|
|
|