aboutsummaryrefslogtreecommitdiffstats
path: root/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-before-after-events.html
diff options
context:
space:
mode:
Diffstat (limited to 'tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-before-after-events.html')
m---------tests/wpt/web-platform-tests0
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-before-after-events.html55
2 files changed, 55 insertions, 0 deletions
diff --git a/tests/wpt/web-platform-tests b/tests/wpt/web-platform-tests
deleted file mode 160000
-Subproject 29dfb8944e535d439ca94cf7d1b1d9138a8ad11
diff --git a/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-before-after-events.html b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-before-after-events.html
new file mode 100644
index 00000000000..4cd77250ed6
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/semantics/scripting-1/the-script-element/script-before-after-events.html
@@ -0,0 +1,55 @@
+<!DOCTYPE html>
+<meta charset=utf-8>
+<title>script beforescriptexecute/afterscriptexecute events</title>
+<link rel="author" title="Denis Ah-Kang" href="mailto:denis@w3.org">
+<link rel=help href="https://html.spec.whatwg.org/multipage/#the-script-element">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="log"></div>
+<script>
+ var t1 = async_test("'beforescriptexecute'/'afterscriptexecute' events have been fired"),
+ t2 = async_test("default prevented 'beforescriptexecute' event aborts script execution"),
+ a = false,
+ b = false;
+
+ var before = function(e) {
+ b = true;
+ test(function(){
+ assert_true(e.isTrusted);
+ assert_true(e.bubbles);
+ assert_true(e.cancelable);
+ }, "'beforescriptexecute' event is trusted, bubbles and is cancelable");
+ };
+
+ var after = function(e) {
+ a = true;
+ test(function(){
+ assert_true(e.isTrusted);
+ assert_true(e.bubbles);
+ assert_false(e.cancelable);
+ }, "'afterscriptexecute' event is trusted, bubbles and isn't cancelable");
+ };
+
+ var prevent_default = function(e) {
+ t2.step(function() {
+ e.preventDefault();
+ assert_true(e.defaultPrevented);
+ });
+ };
+
+ document.body.onload = function() {
+ t1.step(function() {
+ assert_true(a && b);
+ });
+ t1.done();
+ t2.done();
+ };
+</script>
+<script onbeforescriptexecute=before(event) onafterscriptexecute=after(event)>
+ document.querySelector("script");
+</script>
+<script onbeforescriptexecute=prevent_default(event)>
+ t2.step(function() {
+ assert_unreached("script execution not aborted by default prevented 'beforescriptexecute' event");
+ });
+</script>