<!DOCTYPE html>
<title>Choice of parse errors</title>

<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script>
    setup({allow_uncaught_exception: true});

    window.log = [];

    window.addEventListener("error", ev => log.push(ev.error));

    const test_load = async_test(
        "Parse errors in different files should be reported " +
        "depending on different roots");
    window.addEventListener("load", test_load.step_func_done(ev => {
      assert_equals(log.length, 4);

      // Two different parse errors from different module scripts
      // should be reported for each <script> element.
      assert_equals(log[0].constructor, SyntaxError);
      assert_equals(log[1], 1);

      assert_equals(log[2].constructor, SyntaxError);
      assert_equals(log[3], 2);

      assert_not_equals(log[0], log[2],
          'two different parse errors should be reported');
    }));

    function unreachable() { log.push("unexpected"); }
</script>
<script type="module" src="./choice-of-error-1a.js"
    onerror="unreachable()" onload="log.push(1)"></script>
<script type="module" src="./choice-of-error-1b.js"
    onerror="unreachable()" onload="log.push(2)"></script>
