moduleExport1.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. WScript.LoadScriptFile("..\\UnitTestFramework\\UnitTestFramework.js");
  6. function foo() { }
  7. class bar { }
  8. function* baz() { }
  9. function foobar() { }
  10. // Export function expressions
  11. export function fn1 () { };
  12. export function fn2 () { }
  13. // Export generator expressions
  14. export function* gn1 () { };
  15. export function* gn2 () { }
  16. // Export class expressions
  17. export class cl1 { };
  18. export class cl2 { }
  19. // Export let decls
  20. export let let1;
  21. export let let2 = 2;
  22. export let let3, let4, let5;
  23. export let let6 = { }
  24. export let let7 = [ ]
  25. // Export const decls
  26. export const const2 = 'str';
  27. export const const3 = 3, const4 = 4;
  28. export const const5 = { }
  29. export const const6 = [ ]
  30. // Export with export clauses
  31. export {};
  32. export { foo };
  33. export { bar, };
  34. export { foo as foo2, baz }
  35. export { foo as foo3, baz as baz2, }
  36. export { foo as foo4, bar as bar2, foobar }
  37. // Export var decls
  38. export var var1 = 'string';
  39. export var var2;
  40. export var var3 = 5, var4
  41. export var var5, var6, var7
  42. export default 'default';
  43. export function changeContext()
  44. {
  45. foo = 20;
  46. var1 = 'new string';
  47. var2 = 'changed';
  48. var tmp = fn1;
  49. fn1 = fn2;
  50. fn2 = fn1;
  51. }
  52. export function verifyNamespace(ns)
  53. {
  54. var unused = 1;
  55. for (var i in ns) helpers.writeln(i + " = " + ns[i]);
  56. assert.areEqual(ns.var7, var7, "var7 is the same");
  57. assert.areEqual(ns.var6, var6, "var6 is the same");
  58. assert.areEqual(ns.var5, var5, "var5 is the same");
  59. assert.areEqual(ns.var4, var4, "var4 is the same");
  60. assert.areEqual(ns.var3, var3, "var3 is the same");
  61. assert.areEqual(ns.var2, var2, "var2 is the same");
  62. assert.areEqual(ns.var1, var1, "var1 is the same");
  63. assert.areEqual(ns.foobar, foobar, "foobar is the same");
  64. assert.areEqual(ns.foo4, foo, "foo4 is the same");
  65. assert.areEqual(ns.baz2, baz, "baz2 is the same");
  66. assert.areEqual(ns.foo3, foo, "foo3 is the same");
  67. assert.areEqual(ns.bar2, bar, "bar2 is the same");
  68. assert.areEqual(ns.baz, baz, "baz is the same");
  69. assert.areEqual(ns.foo2, foo, "foo2 is the same");
  70. assert.areEqual(ns.foo, foo, "foo is the same");
  71. assert.areEqual(ns.bar, bar, "bar is the same");
  72. assert.areEqual(ns.const6, const6, "const6 is the same");
  73. assert.areEqual(ns.const5, const5, "const5 is the same");
  74. assert.areEqual(ns.const4, const4, "const4 is the same");
  75. assert.areEqual(ns.const3, const3, "const3 is the same");
  76. assert.areEqual(ns.const2, const2, "const2 is the same");
  77. assert.areEqual(ns.let7, let7, "let7 is the same");
  78. assert.areEqual(ns.let6, let6, "let6 is the same");
  79. assert.areEqual(ns.let5, let5, "let5 is the same");
  80. assert.areEqual(ns.let4, let4, "let4 is the same");
  81. assert.areEqual(ns.let3, let3, "let3 is the same");
  82. assert.areEqual(ns.let2, let2, "let2 is the same");
  83. assert.areEqual(ns.let1, let1, "let1 is the same");
  84. assert.areEqual(ns.cl2, cl2, "cl2 is the same");
  85. assert.areEqual(ns.cl1, cl1, "cl1 is the same");
  86. assert.areEqual(ns.gn2, gn2, "gn2 is the same");
  87. assert.areEqual(ns.gn1, gn1, "gn1 is the same");
  88. assert.areEqual(ns.fn2, fn2, "fn2 is the same");
  89. assert.areEqual(ns.fn1, fn1, "fn1 is the same");
  90. }