 Chromium Code Reviews
 Chromium Code Reviews Issue 2845983002:
  [modules] Add several new WPT tests.  (Closed)
    
  
    Issue 2845983002:
  [modules] Add several new WPT tests.  (Closed) 
  | Index: third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/instantiation-error-1.html | 
| diff --git a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/instantiation-error-1.html b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/instantiation-error-1.html | 
| index a9556b1a29e2b0a5e18d31b827dca40c6a42f059..16cf02bbfd6984cfa411777fb974ff16387dc0b0 100644 | 
| --- a/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/instantiation-error-1.html | 
| +++ b/third_party/WebKit/LayoutTests/external/wpt/html/semantics/scripting-1/the-script-element/module/instantiation-error-1.html | 
| @@ -1,22 +1,33 @@ | 
| -<!-- | 
| -This test case caught a crash bug in Chrome, due to a logic bug in the spec when | 
| -a second <script> element tried to load a previously-failed module. As such, the | 
| -test passes as long as nothing crashes. | 
| +<!DOCTYPE html> | 
| +<title>html-script-module-instantiation-error-1</title> | 
| -See https://github.com/whatwg/html/pull/2559 for background. | 
| ---> | 
| +<script src="/resources/testharness.js"></script> | 
| +<script src="/resources/testharnessreport.js"></script> | 
| +<script> | 
| + setup({allow_uncaught_exception: true}); | 
| -<!DOCTYPE html> | 
| -<html> | 
| -<head> | 
| - <title>html-script-module-instantiation-error-1</title> | 
| - <script src="/resources/testharness.js"></script> | 
| - <script src="/resources/testharnessreport.js"></script> | 
| -</head> | 
| -<body> | 
| - <h1>html-script-module-instantiation-error-1</h1> | 
| - <script> setup({allow_uncaught_exception: true}) </script> | 
| - <script type="module" src="./instantiation-error-1.js"></script> | 
| - <script type="module" src="./instantiation-error-1.js"></script> | 
| -</body> | 
| -</html> | 
| + var log = []; | 
| + | 
| + window.addEventListener("error", ev => log.push(ev.error)); | 
| + | 
| + var test_load = async_test("test_load"); | 
| + window.addEventListener("load", test_load.step_func_done(ev => { | 
| + const exn = log[0]; | 
| + assert_array_equals(log, [exn, 1, exn, 2, exn, 3, exn, 4, exn, 5]); | 
| 
domenic
2017/05/03 23:49:30
This is a great test, with the interleaving and or
 | 
| + assert_equals(exn.constructor, SyntaxError); | 
| + })); | 
| + | 
| + function unreachable() { | 
| + log.push("unexpected"); | 
| + } | 
| +</script> | 
| +<script type="module" src="./missing-export.js" | 
| + onerror="unreachable()" onload="log.push(1)"></script> | 
| +<script type="module" src="./missing-export.js" | 
| + onerror="unreachable()" onload="log.push(2)"></script> | 
| +<script type="module" src="./missing-export-nested.js" | 
| + onerror="unreachable()" onload="log.push(3)"></script> | 
| +<script type="module" src="./missing-export.js" | 
| + onerror="unreachable()" onload="log.push(4)"></script> | 
| +<script type="module" src="./missing-export-nested.js" | 
| + onerror="unreachable()" onload="log.push(5)"></script> |