|
1 | 1 | import * as ts from "typescript"; |
2 | | -import * as util from "../../util"; |
| 2 | +import * as util from "../util"; |
3 | 3 |
|
4 | 4 | describe("module import/export elision", () => { |
5 | 5 | const moduleDeclaration = ` |
@@ -66,130 +66,87 @@ test.each(["ke-bab", "dollar$", "singlequote'", "hash#", "s p a c e", "ɥɣɎɌ |
66 | 66 | ); |
67 | 67 |
|
68 | 68 | test.each(["export default value;", "export { value as default };"])("Export Default From (%p)", exportStatement => { |
69 | | - const [result] = util.transpileAndExecuteProjectReturningMainExport( |
70 | | - { |
71 | | - "main.ts": ` |
72 | | - export { default } from "./module"; |
73 | | - `, |
74 | | - "module.ts": ` |
| 69 | + util.testModule` |
| 70 | + export { default } from "./module"; |
| 71 | + ` |
| 72 | + .addExtraFile( |
| 73 | + "module.ts", |
| 74 | + ` |
75 | 75 | export const value = true; |
76 | 76 | ${exportStatement}; |
77 | | - `, |
78 | | - }, |
79 | | - "default" |
80 | | - ); |
81 | | - |
82 | | - expect(result).toBe(true); |
| 77 | + ` |
| 78 | + ) |
| 79 | + .expectToEqual({ default: true }); |
83 | 80 | }); |
84 | 81 |
|
85 | 82 | test("Default Import and Export Expression", () => { |
86 | | - const [result] = util.transpileAndExecuteProjectReturningMainExport( |
87 | | - { |
88 | | - "main.ts": ` |
89 | | - import defaultExport from "./module"; |
90 | | - export const value = defaultExport; |
91 | | - `, |
92 | | - "module.ts": ` |
93 | | - export default 1 + 2 + 3; |
94 | | - `, |
95 | | - }, |
96 | | - "value" |
97 | | - ); |
98 | | - |
99 | | - expect(result).toBe(6); |
| 83 | + util.testModule` |
| 84 | + import defaultExport from "./module"; |
| 85 | + export const value = defaultExport; |
| 86 | + ` |
| 87 | + .addExtraFile("module.ts", "export default 1 + 2 + 3;") |
| 88 | + .expectToEqual({ value: 6 }); |
100 | 89 | }); |
101 | 90 |
|
102 | 91 | test("Import and Export Assignment", () => { |
103 | | - const [result] = util.transpileAndExecuteProjectReturningMainExport( |
104 | | - { |
105 | | - "main.ts": ` |
106 | | - import * as m from "./module"; |
107 | | - export const value = m; |
108 | | - `, |
109 | | - "module.ts": ` |
110 | | - export = true; |
111 | | - `, |
112 | | - }, |
113 | | - "value" |
114 | | - ); |
115 | | - |
116 | | - expect(result).toBe(true); |
| 92 | + util.testModule` |
| 93 | + import * as m from "./module"; |
| 94 | + export const value = m; |
| 95 | + ` |
| 96 | + .addExtraFile("module.ts", "export = true;") |
| 97 | + .expectToEqual({ value: true }); |
117 | 98 | }); |
118 | 99 |
|
119 | 100 | test("Mixed Exports, Default and Named Imports", () => { |
120 | | - const [result] = util.transpileAndExecuteProjectReturningMainExport( |
121 | | - { |
122 | | - "main.ts": ` |
123 | | - import defaultExport, { a, b, c } from "./module"; |
124 | | - export const value = defaultExport + b + c; |
125 | | - `, |
126 | | - "module.ts": ` |
| 101 | + util.testModule` |
| 102 | + import defaultExport, { a, b, c } from "./module"; |
| 103 | + export const value = defaultExport + b + c; |
| 104 | + ` |
| 105 | + .addExtraFile( |
| 106 | + "module.ts", |
| 107 | + ` |
127 | 108 | export const a = 1; |
128 | 109 | export const b = 2; |
129 | 110 | export const c = 3; |
130 | 111 | export default a; |
131 | | - `, |
132 | | - }, |
133 | | - "value" |
134 | | - ); |
135 | | - |
136 | | - expect(result).toBe(6); |
| 112 | + ` |
| 113 | + ) |
| 114 | + .expectToEqual({ value: 6 }); |
137 | 115 | }); |
138 | 116 |
|
139 | 117 | test("Mixed Exports, Default and Namespace Import", () => { |
140 | | - const [result] = util.transpileAndExecuteProjectReturningMainExport( |
141 | | - { |
142 | | - "main.ts": ` |
143 | | - import defaultExport, * as ns from "./module"; |
144 | | - export const value = defaultExport + ns.b + ns.c; |
145 | | - `, |
146 | | - "module.ts": ` |
| 118 | + util.testModule` |
| 119 | + import defaultExport, * as ns from "./module"; |
| 120 | + export const value = defaultExport + ns.b + ns.c; |
| 121 | + ` |
| 122 | + .addExtraFile( |
| 123 | + "module.ts", |
| 124 | + ` |
147 | 125 | export const a = 1; |
148 | 126 | export const b = 2; |
149 | 127 | export const c = 3; |
150 | 128 | export default a; |
151 | | - `, |
152 | | - }, |
153 | | - "value" |
154 | | - ); |
155 | | - |
156 | | - expect(result).toBe(6); |
| 129 | + ` |
| 130 | + ) |
| 131 | + .expectToEqual({ value: 6 }); |
157 | 132 | }); |
158 | 133 |
|
159 | 134 | test("Export Default Function", () => { |
160 | | - const [result] = util.transpileAndExecuteProjectReturningMainExport( |
161 | | - { |
162 | | - "main.ts": ` |
163 | | - import defaultExport from "./module"; |
164 | | - export const value = defaultExport(); |
165 | | - `, |
166 | | - "module.ts": ` |
167 | | - export default function() { |
168 | | - return true; |
169 | | - } |
170 | | - `, |
171 | | - }, |
172 | | - "value" |
173 | | - ); |
174 | | - |
175 | | - expect(result).toBe(true); |
| 135 | + util.testModule` |
| 136 | + import defaultExport from "./module"; |
| 137 | + export const value = defaultExport(); |
| 138 | + ` |
| 139 | + .addExtraFile("module.ts", "export default function() { return true; }") |
| 140 | + .expectToEqual({ value: true }); |
176 | 141 | }); |
177 | 142 |
|
178 | 143 | test("Export Equals", () => { |
179 | | - const [result] = util.transpileAndExecuteProjectReturningMainExport( |
180 | | - { |
181 | | - "main.ts": ` |
182 | | - import * as module from "./module"; |
183 | | - export const value = module; |
184 | | - `, |
185 | | - "module.ts": ` |
186 | | - export = true; |
187 | | - `, |
188 | | - }, |
189 | | - "value" |
190 | | - ); |
191 | | - |
192 | | - expect(result).toBe(true); |
| 144 | + util.testModule` |
| 145 | + import * as module from "./module"; |
| 146 | + export const value = module; |
| 147 | + ` |
| 148 | + .addExtraFile("module.ts", "export = true;") |
| 149 | + .expectToEqual({ value: true }); |
193 | 150 | }); |
194 | 151 |
|
195 | 152 | const reassignmentTestCases = [ |
|
0 commit comments