@@ -34,7 +34,7 @@ var tests = [
3434 {
3535 name : "Issue3249: Namespace object's property attributes" ,
3636 body : function ( ) {
37- testModuleScript ( `
37+ testModuleScript ( `
3838 function verifyPropertyDesc(obj, prop, desc, propName) {
3939 var actualDesc = Object.getOwnPropertyDescriptor(obj, prop);
4040 if (typeof propName === "undefined") { propName = prop; }
@@ -43,7 +43,7 @@ var tests = [
4343 assert.areEqual(desc.writable, actualDesc.writable, propName+"'s attribute: writable");
4444 }
4545
46- import * as foo from "ValidExportStatements.js";
46+ import * as foo from "ValidExportStatements.js";
4747 assert.areEqual("Module", foo[Symbol.toStringTag], "@@toStringTag is the String value'Module'");
4848 verifyPropertyDesc(foo, Symbol.toStringTag, {configurable:false, enumerable: false, writable: false}, "Symbol.toStringTag");
4949 verifyPropertyDesc(foo, "default", {configurable:false, enumerable: true, writable: true});
@@ -96,168 +96,168 @@ var tests = [
9696 verifyPropertyDesc(foo2, "localfoo", {configurable:false, enumerable: true, writable: true});
9797 verifyPropertyDesc(foo2, "baz", {configurable:false, enumerable: true, writable: true});
9898 verifyPropertyDesc(foo2, "foo", {configurable:false, enumerable: true, writable: true});
99- `, '' , false ) ;
99+ `, '' , false ) ;
100100 }
101101 } ,
102102 {
103103 name : "Basic import namespace" ,
104104 body : function ( ) {
105- testModuleScript ( `
106- import * as foo from "ValidExportStatements.js";
107- assert.areEqual("default", foo.default, "default");
108- assert.areEqual(undefined, foo.var7, "var7");
109- assert.areEqual(undefined, foo.var6, "var6");
110- assert.areEqual(undefined, foo.var5, "var5");
111- assert.areEqual(undefined, foo.var4, "var4");
112- assert.areEqual(5, foo.var3, "var3");
113- assert.areEqual(undefined, foo.var2, "var2");
114- assert.areEqual("string", foo.var1, "var1");
115- assert.areEqual("function foo() { }", foo.foo4.toString(), "foo4");
116- assert.areEqual("class bar { }", foo.bar2.toString(), "bar2");
117- assert.areEqual("function foobar() { }", foo.foobar.toString(), "foobar");
118- assert.areEqual("function foo() { }", foo.foo3.toString(), "foo3");
119- assert.areEqual("function* baz() { }", foo.baz2.toString(), "baz2");
120- assert.areEqual("function foo() { }", foo.foo2.toString(), "foo2");
121- assert.areEqual("function* baz() { }", foo.baz.toString(), "baz");
122- assert.areEqual("class bar { }", foo.bar.toString(), "bar");
123- assert.areEqual("function foo() { }", foo.foo.toString(), "foo");
124- assert.areEqual([], foo.const6, "const6");
125- assert.areEqual({}, foo.const5, "const5");
126- assert.areEqual(4, foo.const4, "const4");
127- assert.areEqual(3, foo.const3, "const3");
128- assert.areEqual("str", foo.const2, "const2");
129- assert.areEqual([], foo.let7, "let7");
130- assert.areEqual({}, foo.let6, "let6");
131- assert.areEqual(undefined, foo.let5, "let5");
132- assert.areEqual(undefined, foo.let4, "let4");
133- assert.areEqual(undefined, foo.let3, "let3");
134- assert.areEqual(2, foo.let2, "let2");
135- assert.areEqual(undefined, foo.let1, "let1");
136- assert.areEqual("class cl2 { }", foo.cl2.toString(), "cl2");
137- assert.areEqual("class cl1 { }", foo.cl1.toString(), "cl1");
138- assert.areEqual("function* gn2() { }", foo.gn2.toString(), "gn2");
139- assert.areEqual("function* gn1() { }", foo.gn1.toString(), "gn1");
140- assert.areEqual("function fn2() { }", foo.fn2.toString(), "fn2");
141- assert.areEqual("function fn1() { }", foo.fn1.toString(), "fn1");
142- `, '' , false ) ;
105+ testModuleScript ( `
106+ import * as foo from "ValidExportStatements.js";
107+ assert.areEqual("default", foo.default, "default");
108+ assert.areEqual(undefined, foo.var7, "var7");
109+ assert.areEqual(undefined, foo.var6, "var6");
110+ assert.areEqual(undefined, foo.var5, "var5");
111+ assert.areEqual(undefined, foo.var4, "var4");
112+ assert.areEqual(5, foo.var3, "var3");
113+ assert.areEqual(undefined, foo.var2, "var2");
114+ assert.areEqual("string", foo.var1, "var1");
115+ assert.areEqual("function foo() { }", foo.foo4.toString(), "foo4");
116+ assert.areEqual("class bar { }", foo.bar2.toString(), "bar2");
117+ assert.areEqual("function foobar() { }", foo.foobar.toString(), "foobar");
118+ assert.areEqual("function foo() { }", foo.foo3.toString(), "foo3");
119+ assert.areEqual("function* baz() { }", foo.baz2.toString(), "baz2");
120+ assert.areEqual("function foo() { }", foo.foo2.toString(), "foo2");
121+ assert.areEqual("function* baz() { }", foo.baz.toString(), "baz");
122+ assert.areEqual("class bar { }", foo.bar.toString(), "bar");
123+ assert.areEqual("function foo() { }", foo.foo.toString(), "foo");
124+ assert.areEqual([], foo.const6, "const6");
125+ assert.areEqual({}, foo.const5, "const5");
126+ assert.areEqual(4, foo.const4, "const4");
127+ assert.areEqual(3, foo.const3, "const3");
128+ assert.areEqual("str", foo.const2, "const2");
129+ assert.areEqual([], foo.let7, "let7");
130+ assert.areEqual({}, foo.let6, "let6");
131+ assert.areEqual(undefined, foo.let5, "let5");
132+ assert.areEqual(undefined, foo.let4, "let4");
133+ assert.areEqual(undefined, foo.let3, "let3");
134+ assert.areEqual(2, foo.let2, "let2");
135+ assert.areEqual(undefined, foo.let1, "let1");
136+ assert.areEqual("class cl2 { }", foo.cl2.toString(), "cl2");
137+ assert.areEqual("class cl1 { }", foo.cl1.toString(), "cl1");
138+ assert.areEqual("function* gn2() { }", foo.gn2.toString(), "gn2");
139+ assert.areEqual("function* gn1() { }", foo.gn1.toString(), "gn1");
140+ assert.areEqual("function fn2() { }", foo.fn2.toString(), "fn2");
141+ assert.areEqual("function fn1() { }", foo.fn1.toString(), "fn1");
142+ `, '' , false ) ;
143143 }
144144 } ,
145145 {
146146 name : "import namespace with verification" ,
147147 body : function ( ) {
148- testModuleScript ( `
149- import * as foo from "moduleExport1.js";
150- assert.areEqual("default", foo.default, "default");
151- assert.areEqual(undefined, foo.var7, "var7");
152- assert.areEqual(undefined, foo.var6, "var6");
153- assert.areEqual(undefined, foo.var5, "var5");
154- assert.areEqual(undefined, foo.var4, "var4");
155- assert.areEqual(5, foo.var3, "var3");
156- assert.areEqual(undefined, foo.var2, "var2");
157- assert.areEqual("string", foo.var1, "var1");
158- assert.areEqual("function foo() { }", foo.foo4.toString(), "foo4");
159- assert.areEqual("class bar { }", foo.bar2.toString(), "bar2");
160- assert.areEqual("function foobar() { }", foo.foobar.toString(), "foobar");
161- assert.areEqual("function foo() { }", foo.foo3.toString(), "foo3");
162- assert.areEqual("function* baz() { }", foo.baz2.toString(), "baz2");
163- assert.areEqual("function foo() { }", foo.foo2.toString(), "foo2");
164- assert.areEqual("function* baz() { }", foo.baz.toString(), "baz");
165- assert.areEqual("class bar { }", foo.bar.toString(), "bar");
166- assert.areEqual("function foo() { }", foo.foo.toString(), "foo");
167- assert.areEqual([], foo.const6, "const6");
168- assert.areEqual({}, foo.const5, "const5");
169- assert.areEqual(4, foo.const4, "const4");
170- assert.areEqual(3, foo.const3, "const3");
171- assert.areEqual("str", foo.const2, "const2");
172- assert.areEqual([], foo.let7, "let7");
173- assert.areEqual({}, foo.let6, "let6");
174- assert.areEqual(undefined, foo.let5, "let5");
175- assert.areEqual(undefined, foo.let4, "let4");
176- assert.areEqual(undefined, foo.let3, "let3");
177- assert.areEqual(2, foo.let2, "let2");
178- assert.areEqual(undefined, foo.let1, "let1");
179- assert.areEqual("class cl2 { }", foo.cl2.toString(), "cl2");
180- assert.areEqual("class cl1 { }", foo.cl1.toString(), "cl1");
181- assert.areEqual("function* gn2() { }", foo.gn2.toString(), "gn2");
182- assert.areEqual("function* gn1() { }", foo.gn1.toString(), "gn1");
183- assert.areEqual("function fn2() { }", foo.fn2.toString(), "fn2");
184- assert.areEqual("function fn1() { }", foo.fn1.toString(), "fn1");
185- foo.verifyNamespace(foo);
186- foo.changeContext();
187- foo.verifyNamespace(foo);
188- `, '' , false ) ;
148+ testModuleScript ( `
149+ import * as foo from "moduleExport1.js";
150+ assert.areEqual("default", foo.default, "default");
151+ assert.areEqual(undefined, foo.var7, "var7");
152+ assert.areEqual(undefined, foo.var6, "var6");
153+ assert.areEqual(undefined, foo.var5, "var5");
154+ assert.areEqual(undefined, foo.var4, "var4");
155+ assert.areEqual(5, foo.var3, "var3");
156+ assert.areEqual(undefined, foo.var2, "var2");
157+ assert.areEqual("string", foo.var1, "var1");
158+ assert.areEqual("function foo() { }", foo.foo4.toString(), "foo4");
159+ assert.areEqual("class bar { }", foo.bar2.toString(), "bar2");
160+ assert.areEqual("function foobar() { }", foo.foobar.toString(), "foobar");
161+ assert.areEqual("function foo() { }", foo.foo3.toString(), "foo3");
162+ assert.areEqual("function* baz() { }", foo.baz2.toString(), "baz2");
163+ assert.areEqual("function foo() { }", foo.foo2.toString(), "foo2");
164+ assert.areEqual("function* baz() { }", foo.baz.toString(), "baz");
165+ assert.areEqual("class bar { }", foo.bar.toString(), "bar");
166+ assert.areEqual("function foo() { }", foo.foo.toString(), "foo");
167+ assert.areEqual([], foo.const6, "const6");
168+ assert.areEqual({}, foo.const5, "const5");
169+ assert.areEqual(4, foo.const4, "const4");
170+ assert.areEqual(3, foo.const3, "const3");
171+ assert.areEqual("str", foo.const2, "const2");
172+ assert.areEqual([], foo.let7, "let7");
173+ assert.areEqual({}, foo.let6, "let6");
174+ assert.areEqual(undefined, foo.let5, "let5");
175+ assert.areEqual(undefined, foo.let4, "let4");
176+ assert.areEqual(undefined, foo.let3, "let3");
177+ assert.areEqual(2, foo.let2, "let2");
178+ assert.areEqual(undefined, foo.let1, "let1");
179+ assert.areEqual("class cl2 { }", foo.cl2.toString(), "cl2");
180+ assert.areEqual("class cl1 { }", foo.cl1.toString(), "cl1");
181+ assert.areEqual("function* gn2() { }", foo.gn2.toString(), "gn2");
182+ assert.areEqual("function* gn1() { }", foo.gn1.toString(), "gn1");
183+ assert.areEqual("function fn2() { }", foo.fn2.toString(), "fn2");
184+ assert.areEqual("function fn1() { }", foo.fn1.toString(), "fn1");
185+ foo.verifyNamespace(foo);
186+ foo.changeContext();
187+ foo.verifyNamespace(foo);
188+ `, '' , false ) ;
189189 }
190190 } ,
191191 {
192192 name : "reexport only" ,
193193 body : function ( ) {
194194 testModuleScript ( `
195195 import * as foo from "ValidReExportStatements.js";
196- assert.areEqual("function foo() { }", foo.foo.toString(), "foo");
197- assert.areEqual("class bar { }", foo.bar.toString(), "bar");
198- assert.areEqual("function* baz() { }", foo.baz.toString(), "baz");
199- assert.areEqual("function foo() { }", foo.foo2.toString(), "foo2");
200- assert.areEqual("class bar { }", foo.bar2.toString(), "bar2");
201- assert.areEqual("function foo() { }", foo.foo3.toString(), "foo3");
202- `, '' , false ) ;
196+ assert.areEqual("function foo() { }", foo.foo.toString(), "foo");
197+ assert.areEqual("class bar { }", foo.bar.toString(), "bar");
198+ assert.areEqual("function* baz() { }", foo.baz.toString(), "baz");
199+ assert.areEqual("function foo() { }", foo.foo2.toString(), "foo2");
200+ assert.areEqual("class bar { }", foo.bar2.toString(), "bar2");
201+ assert.areEqual("function foo() { }", foo.foo3.toString(), "foo3");
202+ `, '' , false ) ;
203203 }
204204 } ,
205205 {
206206 name : "complex reexport" ,
207207 body : function ( ) {
208208 testModuleScript ( `import * as fooComplex from "ModuleComplexReexports.js";
209- assert.areEqual("function bar() { return 'bar'; }", fooComplex.ModuleComplexReexports_foo.toString(), "ModuleComplexReexports_foo");
210- assert.areEqual(undefined, fooComplex.switch, "switch");
211- assert.areEqual("function foo() { return 'foo'; }", fooComplex.bar2.toString(), "bar2");
212- assert.areEqual("function foo() { return 'foo'; }", fooComplex.localfoo2.toString(), "localfoo2");
213- assert.areEqual("function foo() { return 'foo'; }", fooComplex.bar.toString(), "bar");
214- assert.areEqual("function foo() { return 'foo'; }", fooComplex.localfoo.toString(), "localfoo");
215- assert.areEqual("function foo() { return 'foo'; }", fooComplex.baz.toString(), "baz");
216- assert.areEqual("function foo() { return 'foo'; }", fooComplex.foo.toString(), "foo");
217- `, '' , false ) ;
209+ assert.areEqual("function bar() { return 'bar'; }", fooComplex.ModuleComplexReexports_foo.toString(), "ModuleComplexReexports_foo");
210+ assert.areEqual(undefined, fooComplex.switch, "switch");
211+ assert.areEqual("function foo() { return 'foo'; }", fooComplex.bar2.toString(), "bar2");
212+ assert.areEqual("function foo() { return 'foo'; }", fooComplex.localfoo2.toString(), "localfoo2");
213+ assert.areEqual("function foo() { return 'foo'; }", fooComplex.bar.toString(), "bar");
214+ assert.areEqual("function foo() { return 'foo'; }", fooComplex.localfoo.toString(), "localfoo");
215+ assert.areEqual("function foo() { return 'foo'; }", fooComplex.baz.toString(), "baz");
216+ assert.areEqual("function foo() { return 'foo'; }", fooComplex.foo.toString(), "foo");
217+ `, '' , false ) ;
218218 }
219219 } ,
220220 {
221221 name : "namespace as prototype" ,
222222 body : function ( ) {
223223 testModuleScript ( `import * as foo from "ValidExportStatements.js";
224- var childObj = Object.create(foo);
225- assert.areEqual("default", childObj.default, "default");
226- assert.areEqual(undefined, childObj.var7, "var7");
227- assert.areEqual(undefined, childObj.var6, "var6");
228- assert.areEqual(undefined, childObj.var5, "var5");
229- assert.areEqual(undefined, childObj.var4, "var4");
230- assert.areEqual(5, childObj.var3, "var3");
231- assert.areEqual(undefined, childObj.var2, "var2");
232- assert.areEqual("string", childObj.var1, "var1");
233- assert.areEqual("function foo() { }", childObj.foo4.toString(), "foo4");
234- assert.areEqual("class bar { }", childObj.bar2.toString(), "bar2");
235- assert.areEqual("function foobar() { }", childObj.foobar.toString(), "foobar");
236- assert.areEqual("function foo() { }", childObj.foo3.toString(), "foo3");
237- assert.areEqual("function* baz() { }", childObj.baz2.toString(), "baz2");
238- assert.areEqual("function foo() { }", childObj.foo2.toString(), "foo2");
239- assert.areEqual("function* baz() { }", childObj.baz.toString(), "baz");
240- assert.areEqual("class bar { }", childObj.bar.toString(), "bar");
241- assert.areEqual("function foo() { }", childObj.foo.toString(), "foo");
242- assert.areEqual([], childObj.const6, "const6");
243- assert.areEqual({}, childObj.const5, "const5");
244- assert.areEqual(4, childObj.const4, "const4");
245- assert.areEqual(3, childObj.const3, "const3");
246- assert.areEqual("str", childObj.const2, "const2");
247- assert.areEqual([], childObj.let7, "let7");
248- assert.areEqual({}, childObj.let6, "let6");
249- assert.areEqual(undefined, childObj.let5, "let5");
250- assert.areEqual(undefined, childObj.let4, "let4");
251- assert.areEqual(undefined, childObj.let3, "let3");
252- assert.areEqual(2, childObj.let2, "let2");
253- assert.areEqual(undefined, childObj.let1, "let1");
254- assert.areEqual("class cl2 { }", childObj.cl2.toString(), "cl2");
255- assert.areEqual("class cl1 { }", childObj.cl1.toString(), "cl1");
256- assert.areEqual("function* gn2() { }", childObj.gn2.toString(), "gn2");
257- assert.areEqual("function* gn1() { }", childObj.gn1.toString(), "gn1");
258- assert.areEqual("function fn2() { }", childObj.fn2.toString(), "fn2");
259- assert.areEqual("function fn1() { }", childObj.fn1.toString(), "fn1");
260- `, '' , false ) ;
224+ var childObj = Object.create(foo);
225+ assert.areEqual("default", childObj.default, "default");
226+ assert.areEqual(undefined, childObj.var7, "var7");
227+ assert.areEqual(undefined, childObj.var6, "var6");
228+ assert.areEqual(undefined, childObj.var5, "var5");
229+ assert.areEqual(undefined, childObj.var4, "var4");
230+ assert.areEqual(5, childObj.var3, "var3");
231+ assert.areEqual(undefined, childObj.var2, "var2");
232+ assert.areEqual("string", childObj.var1, "var1");
233+ assert.areEqual("function foo() { }", childObj.foo4.toString(), "foo4");
234+ assert.areEqual("class bar { }", childObj.bar2.toString(), "bar2");
235+ assert.areEqual("function foobar() { }", childObj.foobar.toString(), "foobar");
236+ assert.areEqual("function foo() { }", childObj.foo3.toString(), "foo3");
237+ assert.areEqual("function* baz() { }", childObj.baz2.toString(), "baz2");
238+ assert.areEqual("function foo() { }", childObj.foo2.toString(), "foo2");
239+ assert.areEqual("function* baz() { }", childObj.baz.toString(), "baz");
240+ assert.areEqual("class bar { }", childObj.bar.toString(), "bar");
241+ assert.areEqual("function foo() { }", childObj.foo.toString(), "foo");
242+ assert.areEqual([], childObj.const6, "const6");
243+ assert.areEqual({}, childObj.const5, "const5");
244+ assert.areEqual(4, childObj.const4, "const4");
245+ assert.areEqual(3, childObj.const3, "const3");
246+ assert.areEqual("str", childObj.const2, "const2");
247+ assert.areEqual([], childObj.let7, "let7");
248+ assert.areEqual({}, childObj.let6, "let6");
249+ assert.areEqual(undefined, childObj.let5, "let5");
250+ assert.areEqual(undefined, childObj.let4, "let4");
251+ assert.areEqual(undefined, childObj.let3, "let3");
252+ assert.areEqual(2, childObj.let2, "let2");
253+ assert.areEqual(undefined, childObj.let1, "let1");
254+ assert.areEqual("class cl2 { }", childObj.cl2.toString(), "cl2");
255+ assert.areEqual("class cl1 { }", childObj.cl1.toString(), "cl1");
256+ assert.areEqual("function* gn2() { }", childObj.gn2.toString(), "gn2");
257+ assert.areEqual("function* gn1() { }", childObj.gn1.toString(), "gn1");
258+ assert.areEqual("function fn2() { }", childObj.fn2.toString(), "fn2");
259+ assert.areEqual("function fn1() { }", childObj.fn1.toString(), "fn1");
260+ `, '' , false ) ;
261261 }
262262 } ,
263263 {
0 commit comments