diff options
Diffstat (limited to 'testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports.html')
-rw-r--r-- | testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports.html | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports.html b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports.html new file mode 100644 index 0000000000..ca6900744d --- /dev/null +++ b/testing/web-platform/tests/html/semantics/scripting-1/the-script-element/module/imports.html @@ -0,0 +1,64 @@ +<!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> |