|
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