*** Running test #1 (0): Basic import namespace PASSED *** Running test #2 (1): import namespace with verification PASSED *** Running test #3 (2): reexport only PASSED *** Running test #4 (3): complex reexport PASSED *** Running test #5 (4): namespace as prototype PASSED *** Running test #6 (5): namespace internal operations PASSED Summary of tests: total executed: 6; passed: 6; failed: 0 default=default var7=undefined var6=undefined var5=undefined var4=undefined var3=5 var2=undefined var1=string foo4=function foo() { } bar2=class bar { } foobar=function foobar() { } foo3=function foo() { } baz2=function* baz() { } foo2=function foo() { } baz=function* baz() { } bar=class bar { } foo=function foo() { } const6= const5=[object Object] const4=4 const3=3 const2=str let7= let6=[object Object] let5=undefined let4=undefined let3=undefined let2=2 let1=undefined cl2=class cl2 { } cl1=class cl1 { } gn2=function* gn2() { } gn1=function* gn1() { } fn2=function fn2() { } fn1=function fn1() { } default=default var7=undefined var6=undefined var5=undefined var4=undefined var3=5 var2=undefined var1=string foo4=function foo() { } bar2=class bar { } foobar=function foobar() { } foo3=function foo() { } baz2=function* baz() { } foo2=function foo() { } baz=function* baz() { } bar=class bar { } foo=function foo() { } const6= const5=[object Object] const4=4 const3=3 const2=str let7= let6=[object Object] let5=undefined let4=undefined let3=undefined let2=2 let1=undefined cl2=class cl2 { } cl1=class cl1 { } gn2=function* gn2() { } gn1=function* gn1() { } fn2=function fn2() { } fn1=function fn1() { } in iterator bar bar2 baz baz2 cl1 cl2 const2 const3 const4 const5 const6 default fn1 fn2 foo foo2 foo3 foo4 foobar gn1 gn2 let1 let2 let3 let4 let5 let6 let7 var1 var2 var3 var4 var5 var6 var7 done with iterator verifyNamespace=function verifyNamespace(ns) { var unused = 1; for (var i in ns) helpers.writeln(i + " = " + ns[i]); assert.areEqual(ns.var7, var7, "var7 is the same"); assert.areEqual(ns.var6, var6, "var6 is the same"); assert.areEqual(ns.var5, var5, "var5 is the same"); assert.areEqual(ns.var4, var4, "var4 is the same"); assert.areEqual(ns.var3, var3, "var3 is the same"); assert.areEqual(ns.var2, var2, "var2 is the same"); assert.areEqual(ns.var1, var1, "var1 is the same"); assert.areEqual(ns.foobar, foobar, "foobar is the same"); assert.areEqual(ns.foo4, foo, "foo4 is the same"); assert.areEqual(ns.baz2, baz, "baz2 is the same"); assert.areEqual(ns.foo3, foo, "foo3 is the same"); assert.areEqual(ns.bar2, bar, "bar2 is the same"); assert.areEqual(ns.baz, baz, "baz is the same"); assert.areEqual(ns.foo2, foo, "foo2 is the same"); assert.areEqual(ns.foo, foo, "foo is the same"); assert.areEqual(ns.bar, bar, "bar is the same"); assert.areEqual(ns.const6, const6, "const6 is the same"); assert.areEqual(ns.const5, const5, "const5 is the same"); assert.areEqual(ns.const4, const4, "const4 is the same"); assert.areEqual(ns.const3, const3, "const3 is the same"); assert.areEqual(ns.const2, const2, "const2 is the same"); assert.areEqual(ns.let7, let7, "let7 is the same"); assert.areEqual(ns.let6, let6, "let6 is the same"); assert.areEqual(ns.let5, let5, "let5 is the same"); assert.areEqual(ns.let4, let4, "let4 is the same"); assert.areEqual(ns.let3, let3, "let3 is the same"); assert.areEqual(ns.let2, let2, "let2 is the same"); assert.areEqual(ns.let1, let1, "let1 is the same"); assert.areEqual(ns.cl2, cl2, "cl2 is the same"); assert.areEqual(ns.cl1, cl1, "cl1 is the same"); assert.areEqual(ns.gn2, gn2, "gn2 is the same"); assert.areEqual(ns.gn1, gn1, "gn1 is the same"); assert.areEqual(ns.fn2, fn2, "fn2 is the same"); assert.areEqual(ns.fn1, fn1, "fn1 is the same"); } changeContext=function changeContext() { foo = 20; var1 = 'new string'; var2 = 'changed'; var tmp = fn1; fn1 = fn2; fn2 = fn1; } default=default var7=undefined var6=undefined var5=undefined var4=undefined var3=5 var2=undefined var1=string foo4=function foo() { } bar2=class bar { } foobar=function foobar() { } foo3=function foo() { } baz2=function* baz() { } foo2=function foo() { } baz=function* baz() { } bar=class bar { } foo=function foo() { } const6= const5=[object Object] const4=4 const3=3 const2=str let7= let6=[object Object] let5=undefined let4=undefined let3=undefined let2=2 let1=undefined cl2=class cl2 { } cl1=class cl1 { } gn2=function* gn2() { } gn1=function* gn1() { } fn2=function fn2() { } fn1=function fn1() { } verifyNamespace = function verifyNamespace(ns) { var unused = 1; for (var i in ns) helpers.writeln(i + " = " + ns[i]); assert.areEqual(ns.var7, var7, "var7 is the same"); assert.areEqual(ns.var6, var6, "var6 is the same"); assert.areEqual(ns.var5, var5, "var5 is the same"); assert.areEqual(ns.var4, var4, "var4 is the same"); assert.areEqual(ns.var3, var3, "var3 is the same"); assert.areEqual(ns.var2, var2, "var2 is the same"); assert.areEqual(ns.var1, var1, "var1 is the same"); assert.areEqual(ns.foobar, foobar, "foobar is the same"); assert.areEqual(ns.foo4, foo, "foo4 is the same"); assert.areEqual(ns.baz2, baz, "baz2 is the same"); assert.areEqual(ns.foo3, foo, "foo3 is the same"); assert.areEqual(ns.bar2, bar, "bar2 is the same"); assert.areEqual(ns.baz, baz, "baz is the same"); assert.areEqual(ns.foo2, foo, "foo2 is the same"); assert.areEqual(ns.foo, foo, "foo is the same"); assert.areEqual(ns.bar, bar, "bar is the same"); assert.areEqual(ns.const6, const6, "const6 is the same"); assert.areEqual(ns.const5, const5, "const5 is the same"); assert.areEqual(ns.const4, const4, "const4 is the same"); assert.areEqual(ns.const3, const3, "const3 is the same"); assert.areEqual(ns.const2, const2, "const2 is the same"); assert.areEqual(ns.let7, let7, "let7 is the same"); assert.areEqual(ns.let6, let6, "let6 is the same"); assert.areEqual(ns.let5, let5, "let5 is the same"); assert.areEqual(ns.let4, let4, "let4 is the same"); assert.areEqual(ns.let3, let3, "let3 is the same"); assert.areEqual(ns.let2, let2, "let2 is the same"); assert.areEqual(ns.let1, let1, "let1 is the same"); assert.areEqual(ns.cl2, cl2, "cl2 is the same"); assert.areEqual(ns.cl1, cl1, "cl1 is the same"); assert.areEqual(ns.gn2, gn2, "gn2 is the same"); assert.areEqual(ns.gn1, gn1, "gn1 is the same"); assert.areEqual(ns.fn2, fn2, "fn2 is the same"); assert.areEqual(ns.fn1, fn1, "fn1 is the same"); } changeContext = function changeContext() { foo = 20; var1 = 'new string'; var2 = 'changed'; var tmp = fn1; fn1 = fn2; fn2 = fn1; } default = default var7 = undefined var6 = undefined var5 = undefined var4 = undefined var3 = 5 var2 = undefined var1 = string foo4 = function foo() { } bar2 = class bar { } foobar = function foobar() { } foo3 = function foo() { } baz2 = function* baz() { } foo2 = function foo() { } baz = function* baz() { } bar = class bar { } foo = function foo() { } const6 = const5 = [object Object] const4 = 4 const3 = 3 const2 = str let7 = let6 = [object Object] let5 = undefined let4 = undefined let3 = undefined let2 = 2 let1 = undefined cl2 = class cl2 { } cl1 = class cl1 { } gn2 = function* gn2() { } gn1 = function* gn1() { } fn2 = function fn2() { } fn1 = function fn1() { } verifyNamespace = function verifyNamespace(ns) { var unused = 1; for (var i in ns) helpers.writeln(i + " = " + ns[i]); assert.areEqual(ns.var7, var7, "var7 is the same"); assert.areEqual(ns.var6, var6, "var6 is the same"); assert.areEqual(ns.var5, var5, "var5 is the same"); assert.areEqual(ns.var4, var4, "var4 is the same"); assert.areEqual(ns.var3, var3, "var3 is the same"); assert.areEqual(ns.var2, var2, "var2 is the same"); assert.areEqual(ns.var1, var1, "var1 is the same"); assert.areEqual(ns.foobar, foobar, "foobar is the same"); assert.areEqual(ns.foo4, foo, "foo4 is the same"); assert.areEqual(ns.baz2, baz, "baz2 is the same"); assert.areEqual(ns.foo3, foo, "foo3 is the same"); assert.areEqual(ns.bar2, bar, "bar2 is the same"); assert.areEqual(ns.baz, baz, "baz is the same"); assert.areEqual(ns.foo2, foo, "foo2 is the same"); assert.areEqual(ns.foo, foo, "foo is the same"); assert.areEqual(ns.bar, bar, "bar is the same"); assert.areEqual(ns.const6, const6, "const6 is the same"); assert.areEqual(ns.const5, const5, "const5 is the same"); assert.areEqual(ns.const4, const4, "const4 is the same"); assert.areEqual(ns.const3, const3, "const3 is the same"); assert.areEqual(ns.const2, const2, "const2 is the same"); assert.areEqual(ns.let7, let7, "let7 is the same"); assert.areEqual(ns.let6, let6, "let6 is the same"); assert.areEqual(ns.let5, let5, "let5 is the same"); assert.areEqual(ns.let4, let4, "let4 is the same"); assert.areEqual(ns.let3, let3, "let3 is the same"); assert.areEqual(ns.let2, let2, "let2 is the same"); assert.areEqual(ns.let1, let1, "let1 is the same"); assert.areEqual(ns.cl2, cl2, "cl2 is the same"); assert.areEqual(ns.cl1, cl1, "cl1 is the same"); assert.areEqual(ns.gn2, gn2, "gn2 is the same"); assert.areEqual(ns.gn1, gn1, "gn1 is the same"); assert.areEqual(ns.fn2, fn2, "fn2 is the same"); assert.areEqual(ns.fn1, fn1, "fn1 is the same"); } changeContext = function changeContext() { foo = 20; var1 = 'new string'; var2 = 'changed'; var tmp = fn1; fn1 = fn2; fn2 = fn1; } default = default var7 = undefined var6 = undefined var5 = undefined var4 = undefined var3 = 5 var2 = changed var1 = new string foo4 = 20 bar2 = class bar { } foobar = function foobar() { } foo3 = 20 baz2 = function* baz() { } foo2 = 20 baz = function* baz() { } bar = class bar { } foo = 20 const6 = const5 = [object Object] const4 = 4 const3 = 3 const2 = str let7 = let6 = [object Object] let5 = undefined let4 = undefined let3 = undefined let2 = 2 let1 = undefined cl2 = class cl2 { } cl1 = class cl1 { } gn2 = function* gn2() { } gn1 = function* gn1() { } fn2 = function fn2() { } fn1 = function fn2() { } foo=function foo() { } bar=class bar { } baz=function* baz() { } foo2=function foo() { } bar2=class bar { } foo3=function foo() { } ModuleComplexReexports_foo=function bar() { return 'bar'; } switch=undefined bar2=function foo() { return 'foo'; } localfoo2=function foo() { return 'foo'; } bar=function foo() { return 'foo'; } localfoo=function foo() { return 'foo'; } baz=function foo() { return 'foo'; } foo=function foo() { return 'foo'; }