diff options
Diffstat (limited to 'layout/xul/test/browser_bug1754298.js')
-rw-r--r-- | layout/xul/test/browser_bug1754298.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/layout/xul/test/browser_bug1754298.js b/layout/xul/test/browser_bug1754298.js new file mode 100644 index 0000000000..05701e4f08 --- /dev/null +++ b/layout/xul/test/browser_bug1754298.js @@ -0,0 +1,35 @@ +add_task(async function () { + const PAGE = ` +<!doctype html> +<select> +<option value="1">AA Option</option> +<option value="2">BB Option</option> +<option value="3"> CC Option</option> +<option value="4"> DD Option</option> +<option value="5"> EE Option</option> +</select>`; + const url = "data:text/html," + encodeURI(PAGE); + await BrowserTestUtils.withNewTab( + { + gBrowser, + url, + }, + async function (browser) { + let popupShownPromise = BrowserTestUtils.waitForSelectPopupShown(window); + await BrowserTestUtils.synthesizeMouseAtCenter("select", {}, browser); + let popup = await popupShownPromise; + EventUtils.sendString("C", window); + EventUtils.sendKey("RETURN", window); + ok( + await TestUtils.waitForCondition(() => { + return SpecialPowers.spawn( + browser, + [], + () => content.document.querySelector("select").value + ).then(value => value == 3); + }), + "Unexpected value for select element (expected 3)!" + ); + } + ); +}); |