blob: c3678e92957236eb8627754fa9635b791cf06e3e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
// Test for window.prompt(). Check that the dialog is correctly detected and that it can
// be rejected or accepted, with a custom prompt text.
add_task(async function ({ client }) {
const { Page } = client;
info("Enable the page domain");
await Page.enable();
info("Create a prompt dialog to open");
const { message, type } = await createPromptDialog(Page);
is(type, "prompt", "dialog event contains the correct type");
is(message, "prompt-1234", "dialog event contains the correct text");
info("Accept the prompt");
await Page.handleJavaScriptDialog({ accept: true, promptText: "some-text" });
let promptResult = await getContentProperty("promptResult");
is(promptResult, "some-text", "The prompt text was correctly applied");
await createPromptDialog(Page);
info("Trigger another prompt in the test page");
info("Reject the prompt");
await Page.handleJavaScriptDialog({ accept: false, promptText: "new-text" });
promptResult = await getContentProperty("promptResult");
ok(!promptResult, "The prompt dialog was rejected");
});
function createPromptDialog(Page) {
const onDialogOpen = Page.javascriptDialogOpening();
info("Trigger a prompt in the test page");
SpecialPowers.spawn(gBrowser.selectedBrowser, [], () => {
content.promptResult = content.prompt("prompt-1234");
});
return onDialogOpen;
}
|