diff options
Diffstat (limited to 'testing/web-platform/tests/fullscreen/api/element-request-fullscreen-namespaces.html')
-rw-r--r-- | testing/web-platform/tests/fullscreen/api/element-request-fullscreen-namespaces.html | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/testing/web-platform/tests/fullscreen/api/element-request-fullscreen-namespaces.html b/testing/web-platform/tests/fullscreen/api/element-request-fullscreen-namespaces.html new file mode 100644 index 0000000000..dffa8dbc90 --- /dev/null +++ b/testing/web-platform/tests/fullscreen/api/element-request-fullscreen-namespaces.html @@ -0,0 +1,37 @@ +<!DOCTYPE html> +<title>Element#requestFullscreen() for an element in null namespace</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/resources/testdriver.js"></script> +<script src="/resources/testdriver-vendor.js"></script> +<script src="../trusted-click.js"></script> +<div id="log"></div> +<script> + const supportedNS = [ + { ns: "http://www.w3.org/1999/xhtml", elemName: "div" }, + { ns: "http://www.w3.org/2000/svg", elemName: "svg" }, + { ns: "http://www.w3.org/1998/Math/MathML", elemName: "math" }, + ]; + + const unsupportedNS = [null, "https://unknown.namespace", ""]; + + for (const ns of unsupportedNS) { + promise_test(async (t) => { + const element = document.createElementNS(ns, "element"); + document.body.appendChild(element); + document.onfullscreenchange = t.unreached_func( + "fullscreenchange event" + ); + await promise_rejects_js(t, TypeError, trusted_request(element)); + }, `requestFullscreen() fails for an element in ${ns} namespace`); + } + + for (const { ns, elemName } of supportedNS) { + promise_test(async (t) => { + const element = document.createElementNS(ns, elemName); + document.body.appendChild(element); + await Promise.all([trusted_request(element), fullScreenChange()]); + await document.exitFullscreen(); + }, `requestFullscreen() succeed for an element in ${ns} namespace`); + } +</script> |