<!DOCTYPE html>
<title>Handling of invalid specifiers</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(
        "Test that invalid module specifier leads to TypeError on window.");
    window.addEventListener("load", test_load.step_func_done(ev => {
      assert_equals(log.length, 1);
      assert_equals(log[0].constructor, TypeError);
    }));

    function unreachable() { log.push("unexpected"); }
</script>
<script type="module" src="./bad-module-specifier.js" onerror="unreachable()"></script>
