Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Unified Diff: third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/nomodule-set-on-async-classic-script.html

Issue 2668783003: Import wpt@767dc2a4f049c761bd146d61de2ea860a895a624 (Closed)
Patch Set: Update test expectations and baselines. Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/nomodule-set-on-async-classic-script.html
diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/nomodule-set-on-async-classic-script.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/nomodule-set-on-async-classic-script.html
new file mode 100644
index 0000000000000000000000000000000000000000..26eefed6a67858e4e5322a5b2f3403828d76b909
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/nomodule-set-on-async-classic-script.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>External classic scripts with nomodule content attribute must not run</title>
+<link rel="author" title="Yusuke Suzuki" href="mailto:utatane.tea@gmail.com">
+<link rel="author" title="Ryosuke Niwa" href="mailto:rniwa@webkit.org">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<!-- Load this script synchronously to ensure test cases below can load it in 200ms -->
+<script src="resources/set-script-executed.js"></script>
+</head>
+<body>
+<script>
+
+waitForLoadEvent = new Promise((resolve) => {
+ window.onload = resolve;
+});
+
+waitForAsyncScript = () => {
+ return new Promise((resolve) => {
+ waitForLoadEvent.then(() => setTimeout(resolve, 200));
+ });
+}
+
+let readyForSecondTest;
+promise_test(() => {
+ window.executed = false;
+ let loaded = false;
+ let errored = false;
+
+ let script = document.createElement('script');
+ script.src = './resources/set-script-executed.js';
+ script.onload = () => loaded = true;
+ script.onerror = () => errored = true;
+ script.noModule = false;
+ document.body.appendChild(script);
+
+ return waitForAsyncScript().then(() => {
+ assert_true(executed);
+ assert_true(loaded);
+ assert_false(errored);
+ });
+}, 'An asynchronously loaded classic script with noModule set to false must run');
+
+promise_test(() => {
+ window.executed = false;
+ let loaded = false;
+ let errored = false;
+
+ let script = document.createElement('script');
+ script.src = './resources/set-script-executed.js';
+ script.onload = () => loaded = true;
+ script.onerror = () => errored = true;
+ script.noModule = true;
+ document.body.appendChild(script);
+
+ return waitForAsyncScript().then(() => {
+ assert_false(executed);
+ assert_false(loaded);
+ assert_false(errored);
+ });
+}, 'An asynchronously loaded classic script with noModule set to true must not run');
+
+</script>
+</body>
+</html>

Powered by Google App Engine
This is Rietveld 408576698