diff options
Diffstat (limited to 'testing/web-platform/tests/infrastructure')
3 files changed, 46 insertions, 1 deletions
diff --git a/testing/web-platform/tests/infrastructure/channels/test_serialize.html b/testing/web-platform/tests/infrastructure/channels/test_serialize.html index 88a9ce5221..59226db6e7 100644 --- a/testing/web-platform/tests/infrastructure/channels/test_serialize.html +++ b/testing/web-platform/tests/infrastructure/channels/test_serialize.html @@ -27,7 +27,7 @@ for (let [name, obj] of Object.entries(objects)) { promise_test(async t => { let remoteValue = RemoteObject.from(document.head); let result = await remote.call(inputValue => { - if (!inputValue instanceof RemoteObject) { + if (!(inputValue instanceof RemoteObject)) { throw new AssertionError(`Expected RemoteObject`); } return inputValue; diff --git a/testing/web-platform/tests/infrastructure/expected-fail/user-prompt.html b/testing/web-platform/tests/infrastructure/expected-fail/user-prompt.html new file mode 100644 index 0000000000..adac0bc909 --- /dev/null +++ b/testing/web-platform/tests/infrastructure/expected-fail/user-prompt.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<title>Unhandled user prompt dismisses and notifies</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<meta name="variant" content="?type=alert"> +<meta name="variant" content="?type=confirm"> +<meta name="variant" content="?type=prompt"> +<meta name="variant" content="?type=alert&wait"> +<meta name="variant" content="?type=confirm&wait"> +<meta name="variant" content="?type=prompt&wait"> +<script> + let params = new URL(location).searchParams; + setup({ single_test: true }); + // Waiting exercises the case where a user prompt appears while waiting for + // the next testdriver event. The WebDriver-specified behavior is to resolve + // with `null` [1, 2], which the WebDriver executor should ignore. The + // testdriver event loop will handle the open prompt on its next cycle. For + // the default "dismiss and notify" handler, this throws an unexpected alert + // open error in the executor. + // + // [1]: Step 5.3 of https://www.w3.org/TR/webdriver/#execute-async-script + // [2]: https://www.w3.org/TR/webdriver/#dfn-execute-a-function-body + step_timeout(() => { + let type = params.get("type"); + window[type]("this user prompt should be dismissed"); + done(); + }, params.has("wait") ? 1000 : 0); +</script> diff --git a/testing/web-platform/tests/infrastructure/metadata/infrastructure/expected-fail/user-prompt.html.ini b/testing/web-platform/tests/infrastructure/metadata/infrastructure/expected-fail/user-prompt.html.ini new file mode 100644 index 0000000000..45ebf7acc3 --- /dev/null +++ b/testing/web-platform/tests/infrastructure/metadata/infrastructure/expected-fail/user-prompt.html.ini @@ -0,0 +1,17 @@ +[user-prompt.html?type=alert] + expected: ERROR + +[user-prompt.html?type=confirm] + expected: ERROR + +[user-prompt.html?type=prompt] + expected: ERROR + +[user-prompt.html?type=alert&wait] + expected: ERROR + +[user-prompt.html?type=confirm&wait] + expected: ERROR + +[user-prompt.html?type=prompt&wait] + expected: ERROR |