| <!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> |