43 lines
1.4 KiB
JavaScript
43 lines
1.4 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
* http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
"use strict";
|
|
|
|
// Test for window.confirm(). Check that the dialog is correctly detected and that it can
|
|
// be rejected or accepted.
|
|
add_task(async function ({ client }) {
|
|
const { Page } = client;
|
|
|
|
info("Enable the page domain");
|
|
await Page.enable();
|
|
|
|
info("Create a confirm dialog to open");
|
|
const { message, type } = await createConfirmDialog(Page);
|
|
|
|
is(type, "confirm", "dialog event contains the correct type");
|
|
is(message, "confirm-1234?", "dialog event contains the correct text");
|
|
|
|
info("Accept the dialog");
|
|
await Page.handleJavaScriptDialog({ accept: true });
|
|
let isConfirmed = await getContentProperty("isConfirmed");
|
|
ok(isConfirmed, "The confirm dialog was accepted");
|
|
|
|
await createConfirmDialog(Page);
|
|
info("Trigger another confirm in the test page");
|
|
|
|
info("Reject the dialog");
|
|
await Page.handleJavaScriptDialog({ accept: false });
|
|
isConfirmed = await getContentProperty("isConfirmed");
|
|
ok(!isConfirmed, "The confirm dialog was rejected");
|
|
});
|
|
|
|
function createConfirmDialog(Page) {
|
|
const onDialogOpen = Page.javascriptDialogOpening();
|
|
|
|
info("Trigger a confirm in the test page");
|
|
SpecialPowers.spawn(gBrowser.selectedBrowser, [], () => {
|
|
content.isConfirmed = content.confirm("confirm-1234?");
|
|
});
|
|
|
|
return onDialogOpen;
|
|
}
|