forked from mirrors/gecko-dev
For many browser-chrome (bc) tests is does not matter what the
document is, as long as it is does not cause state to bleed over
from the previous test.
For these cases this patch introduces a shorthand, setup(), which
calls setupForURL(url) with an empty document generated by toDataURL("").
Differential Revision: https://phabricator.services.mozilla.com/D40216
--HG--
extra : moz-landing-system : lando
51 lines
1.5 KiB
JavaScript
51 lines
1.5 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() {
|
|
const { client, tab } = await setup();
|
|
|
|
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");
|
|
|
|
await client.close();
|
|
ok(true, "The client is closed");
|
|
|
|
BrowserTestUtils.removeTab(tab);
|
|
await RemoteAgent.close();
|
|
});
|
|
|
|
function createConfirmDialog(Page) {
|
|
const onDialogOpen = Page.javascriptDialogOpening();
|
|
|
|
info("Trigger a confirm in the test page");
|
|
ContentTask.spawn(gBrowser.selectedBrowser, null, () => {
|
|
content.isConfirmed = content.confirm("confirm-1234?");
|
|
});
|
|
|
|
return onDialogOpen;
|
|
}
|