"use strict"; var gInvalidFormPopup = gBrowser.selectedBrowser.browsingContext.currentWindowGlobal .getActor("FormValidation") ._getAndMaybeCreatePanel(document); function checkPopupHide() { ok( gInvalidFormPopup.state != "showing" && gInvalidFormPopup.state != "open", "[Test " + testId + "] The invalid form popup should not be shown" ); } var testId = 0; function incrementTest() { testId++; info("Starting next part of test"); } /** * In this test, we check that no popup appears if the element display is none. */ add_task(async function test_display_none() { ok( gInvalidFormPopup, "The browser should have a popup to show when a form is invalid" ); incrementTest(); let testPage = "data:text/html;charset=utf-8," + '
'; let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, testPage); await BrowserTestUtils.synthesizeMouse( "#s", 0, 0, {}, gBrowser.selectedBrowser ); checkPopupHide(); BrowserTestUtils.removeTab(tab); }); /** * In this test, we check that no popup appears if the element visibility is hidden. */ add_task(async function test_visibility_hidden() { incrementTest(); let testPage = "data:text/html;charset=utf-8," + '
'; let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, testPage); await BrowserTestUtils.synthesizeMouse( "#s", 0, 0, {}, gBrowser.selectedBrowser ); checkPopupHide(); BrowserTestUtils.removeTab(tab); });