diff options
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.html | 44 |
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> |