// Copyright 2016 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. import * as foo from "modules-namespace4.mjs"; assertSame(undefined, a); assertThrows(() => b, ReferenceError); assertThrows(() => B, ReferenceError); assertThrows(() => c, ReferenceError); assertEquals(45, d()); assertSame(undefined, foo.a); assertThrows(() => foo.b, ReferenceError); assertThrows(() => foo.B, ReferenceError); assertThrows(() => foo.c, ReferenceError); assertEquals(45, foo.d()); assertThrows(() => foo.default, ReferenceError); assertSame(undefined, foo.doesnotexist); Function("Foo", " \ with (Foo) { \ assertEquals(undefined, a); \ assertThrows(() => b, ReferenceError); \ assertThrows(() => B, ReferenceError); \ assertThrows(() => c, ReferenceError); \ assertEquals(45, d()); \ }")(foo); export var a = 42; export let b = 43; export {b as B}; export const c = 44; export function d() { return 45 }; export default 46; assertEquals(42, a); assertEquals(43, b); assertEquals(44, c); assertEquals(45, d()); assertEquals(42, foo.a); assertEquals(43, foo.b); assertEquals(43, foo.B); assertEquals(44, foo.c); assertEquals(45, foo.d()); assertEquals(46, foo.default); assertSame(undefined, foo.doesnotexist); Function("Foo", " \ with (Foo) { \ assertEquals(42, a); \ assertEquals(43, b); \ assertEquals(43, B); \ assertEquals(44, c); \ assertEquals(45, d()); \ }")(foo);