summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/support/async-script.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/support/async-script.html')
-rw-r--r--testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/support/async-script.html44
1 files changed, 44 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/support/async-script.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/support/async-script.html
new file mode 100644
index 0000000000..d513bafe4f
--- /dev/null
+++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/defer-script/support/async-script.html
@@ -0,0 +1,44 @@
+<!doctype html>
+<title>Child Async Script Execution Order</title>
+<html>
+
+<head>
+ <meta charset="utf-8">
+ <script src="/resources/testharness.js"></script>
+ <script src="../resources/helper.js"></script>
+</head>
+
+<body>
+ <script>
+ const reload_key = 'run-after-reload';
+ if (location.search == '?reload' && !window.localStorage.getItem(reload_key)) {
+ window.localStorage.setItem(reload_key, true);
+ location.reload();
+ } else {
+ window.localStorage.clear();
+ test();
+ }
+
+ function test() {
+ setup({ single_test: true });
+ function finish() {
+ assert_array_equals(
+ window.result,
+ ["Inline1", "Sync1", "EndOfBody", "DOMContentLoaded", "Async1"],
+ "Execution order");
+ // Chromium's force-defer order would be:
+ // ["EndOfBody", "Inline1", "Sync1", "DOMContentLoaded", "Async1"]
+ done();
+ }
+ logScript("Inline1");
+ window.addEventListener("load", finish);
+ }
+ </script>
+ <script src="../resources/sync-script-1.js"></script>
+ <!-- Delays are added to make DOMContentLoaded be fired before
+ async script load completion -->
+ <script src="../resources/async-script-1.js?pipe=trickle(d1)" async></script>
+ <pre id="bodyend">End</pre>
+</body>
+
+</html>