diff options
Diffstat (limited to 'testing/web-platform/tests/html/semantics/forms/the-input-element/checkable-active-space-key-untrusted-event.html')
-rw-r--r-- | testing/web-platform/tests/html/semantics/forms/the-input-element/checkable-active-space-key-untrusted-event.html | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/forms/the-input-element/checkable-active-space-key-untrusted-event.html b/testing/web-platform/tests/html/semantics/forms/the-input-element/checkable-active-space-key-untrusted-event.html new file mode 100644 index 0000000000..190757d8d3 --- /dev/null +++ b/testing/web-platform/tests/html/semantics/forms/the-input-element/checkable-active-space-key-untrusted-event.html @@ -0,0 +1,48 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset="utf-8"> +<title>Tests active state of checkbox/radio when pressing space key emulated with untrusted key events</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +</head> +<body> +<input type="checkbox"> +<input type="radio"> +<script> +function sendSpaceKeyEvent(eventType, target) { + const eventData = { keyCode: 32, which: 32, key: " ", code: "Space"}; + const spaceKeyEvent = new KeyboardEvent(eventType, eventData); + target.dispatchEvent(spaceKeyEvent); +} + +test(t => { + const checkbox = document.querySelector("input[type=checkbox]"); + checkbox.focus(); + sendSpaceKeyEvent("keydown", checkbox); + t.add_cleanup(() => { + sendSpaceKeyEvent("keyup", checkbox); + }); + assert_equals( + document.querySelector("input:active"), + null, + "The checkbox shouldn't be activated" + ); +}, "Space key shouldn't active the checkbox when space key press is emulated by untrusted events"); + +test(t => { + const radio = document.querySelector("input[type=radio]"); + radio.focus(); + sendSpaceKeyEvent("keydown", radio); + t.add_cleanup(() => { + sendSpaceKeyEvent("keyup", radio); + }); + assert_equals( + document.querySelector("input:active"), + null, + "The radio shouldn't be activated" + ); +}, "Space key shouldn't active the radio when space key press is emulated by untrusted events"); +</script> +</body> +</html> |