Source code

Revision control

Copy as Markdown

Other Tools

Test Info: Warnings

/* Any copyright is dedicated to the Public Domain.
"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;
}