var abort = $vm.abort; (async function () { const { shouldBe } = await import('./import-tests/should.js'); { let a = await import('./import-tests/cocoa.js'); let b = await import('./import-tests/cocoa.js'); shouldBe(a, b); shouldBe(a.hello(), 42); } { let a = await import('./import-tests/multiple.js'); let a2 = await a.result(); shouldBe(a !== a2, true); shouldBe(a2.ok(), 42); let a3 = await a.result(); shouldBe(a2, a3); } { let error = null; try { let a = await import({ toString() { throw new Error('out'); } }); } catch (e) { error = e; } shouldBe(error !== null, true); shouldBe(String(error), `Error: out`); } { async function load(cond) { if (cond) return import('./import-tests/cocoa.js'); return undefined; } let v = await load(false); shouldBe(v, undefined); let v2 = await load(true); let v3 = await import('./import-tests/cocoa.js'); shouldBe(v2, v2); } { let value = './import-tests/cocoa.js'; let v = await import(value); let v2 = await import('./import-tests/cocoa.js'); shouldBe(v, v2); } }()).catch((error) => { print(String(error)); abort(); });