Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
- /html/semantics/scripting-1/the-script-element/module/imports.html - WPT Dashboard Interop Dashboard
<!DOCTYPE html>
<html>
<head>
<title>html-script-module-imports</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<h1>html-script-module-imports</h1>
<script type="module">
import { A } from "./imports-a.js";
test(function () {
assert_equals(A.from, "imports-a.js", "Unexpected A");
}, "Import a simple module");
</script>
<script type="module">
import { B as B_RENAMED } from "./imports-b.js";
test(function () {
assert_equals(B_RENAMED.from, "imports-b.js", "Unexpected B_RENAMED");
try
{
B;
assert_unreached("Unexpectedly defined B");
}
catch (ex)
{}
}, "Import a simple module, renamed");
</script>
<script type="module">
import { INC_A } from "./imports-inc-a.js";
import { INC_B } from "./imports-inc-b.js";
import { INC_AB_A, INC_AB_B } from "./imports-inc-ab.js";
test(function () {
assert_equals(INC_A.from, "imports-a.js", "Unexpected INC_A");
assert_equals(INC_B.from, "imports-b.js", "Unexpected INC_A");
assert_equals(INC_AB_A.from, "imports-a.js", "Unexpected INC_A");
assert_equals(INC_AB_B.from, "imports-b.js", "Unexpected INC_A");
assert_equals(INC_A, INC_AB_A, "INC_A and INC_AB_A should be the same");
assert_equals(INC_B, INC_AB_B, "INC_B and INC_AB_B should be the same");
}, "Import the same module multiple times");
</script>
<script>
var test_importSelf = async_test("Import a module that validly imports itself");
</script>
<script type="module" src="imports-self.js"></script>
<script>
var test_importCycle = async_test("Import a module with a valid cyclical module dependency");
</script>
<script type="module" src="imports-cycle.js"></script>
</body>
</html>