|
1 |
| -import { mocked } from 'ts-jest/utils'; |
2 | 1 | import { statement, noopImporter } from '../../../tests/utils';
|
3 |
| -import resolveToValue from '../resolveToValue'; |
4 | 2 | import resolveExportDeclaration from '../resolveExportDeclaration';
|
5 |
| -import { NodePath } from 'ast-types'; |
| 3 | +import { NodePath } from 'ast-types/lib/node-path'; |
6 | 4 |
|
7 |
| -jest.mock('../resolveToValue'); |
| 5 | +jest.mock('../resolveToValue', () => { |
| 6 | + return (path: NodePath) => path; |
| 7 | +}); |
8 | 8 |
|
9 | 9 | describe('resolveExportDeclaration', () => {
|
10 |
| - const returnValue = new NodePath({}); |
11 |
| - |
12 |
| - beforeEach(() => { |
13 |
| - mocked(resolveToValue).mockReturnValue(returnValue); |
14 |
| - }); |
15 |
| - |
16 | 10 | it('resolves default exports', () => {
|
17 | 11 | const exp = statement('export default 42;');
|
18 | 12 | const resolved = resolveExportDeclaration(exp, noopImporter);
|
19 | 13 |
|
20 |
| - expect(resolved).toEqual([returnValue]); |
21 |
| - expect(resolveToValue).toBeCalledWith(exp.get('declaration'), noopImporter); |
| 14 | + expect(resolved).toEqual([exp.get('declaration')]); |
22 | 15 | });
|
23 | 16 |
|
24 |
| - it('resolves named exports', () => { |
25 |
| - let exp = statement('export var foo = 42, bar = 21;'); |
26 |
| - let resolved = resolveExportDeclaration(exp, noopImporter); |
| 17 | + it('resolves named variable exports', () => { |
| 18 | + const exp = statement('export var foo = 42, bar = 21;'); |
| 19 | + const resolved = resolveExportDeclaration(exp, noopImporter); |
27 | 20 |
|
28 | 21 | const declarations = exp.get('declaration', 'declarations');
|
29 |
| - expect(resolved).toEqual([returnValue, returnValue]); |
30 |
| - expect(resolveToValue).toBeCalledWith(declarations.get(0), noopImporter); |
31 |
| - expect(resolveToValue).toBeCalledWith(declarations.get(1), noopImporter); |
| 22 | + expect(resolved).toEqual([declarations.get(0), declarations.get(1)]); |
| 23 | + }); |
32 | 24 |
|
33 |
| - exp = statement('export function foo(){}'); |
34 |
| - resolved = resolveExportDeclaration(exp, noopImporter); |
| 25 | + it('resolves named function exports', () => { |
| 26 | + const exp = statement('export function foo(){}'); |
| 27 | + const resolved = resolveExportDeclaration(exp, noopImporter); |
35 | 28 |
|
36 |
| - expect(resolved).toEqual([returnValue]); |
37 |
| - expect(resolveToValue).toBeCalledWith(exp.get('declaration'), noopImporter); |
| 29 | + expect(resolved).toEqual([exp.get('declaration')]); |
| 30 | + }); |
38 | 31 |
|
39 |
| - exp = statement('export class Foo {}'); |
40 |
| - resolved = resolveExportDeclaration(exp, noopImporter); |
| 32 | + it('resolves named class exports', () => { |
| 33 | + const exp = statement('export class Foo {}'); |
| 34 | + const resolved = resolveExportDeclaration(exp, noopImporter); |
41 | 35 |
|
42 |
| - expect(resolved).toEqual([returnValue]); |
43 |
| - expect(resolveToValue).toBeCalledWith(exp.get('declaration'), noopImporter); |
| 36 | + expect(resolved).toEqual([exp.get('declaration')]); |
44 | 37 | });
|
45 | 38 |
|
46 | 39 | it('resolves named exports', () => {
|
47 | 40 | const exp = statement('export {foo, bar, baz}; var foo, bar, baz;');
|
48 | 41 | const resolved = resolveExportDeclaration(exp, noopImporter);
|
49 | 42 |
|
50 | 43 | const specifiers = exp.get('specifiers');
|
51 |
| - expect(resolved).toEqual([returnValue, returnValue, returnValue]); |
52 |
| - expect(resolveToValue).toBeCalledWith( |
| 44 | + expect(resolved).toEqual([ |
| 45 | + specifiers.get(0, 'local'), |
| 46 | + specifiers.get(1, 'local'), |
| 47 | + specifiers.get(2, 'local'), |
| 48 | + ]); |
| 49 | + }); |
| 50 | + |
| 51 | + it('resolves named exports from', () => { |
| 52 | + const exp = statement('export {foo, bar, baz} from "";'); |
| 53 | + const resolved = resolveExportDeclaration(exp, noopImporter); |
| 54 | + |
| 55 | + const specifiers = exp.get('specifiers'); |
| 56 | + expect(resolved).toEqual([ |
53 | 57 | specifiers.get(0, 'local'),
|
54 |
| - noopImporter, |
55 |
| - ); |
56 |
| - expect(resolveToValue).toBeCalledWith( |
57 | 58 | specifiers.get(1, 'local'),
|
58 |
| - noopImporter, |
59 |
| - ); |
60 |
| - expect(resolveToValue).toBeCalledWith( |
61 | 59 | specifiers.get(2, 'local'),
|
62 |
| - noopImporter, |
63 |
| - ); |
| 60 | + ]); |
64 | 61 | });
|
65 | 62 | });
|
0 commit comments