UNPKG

2.81 kBJavaScriptView Raw
1const calculateAlias = require('../packages/utils/calculateAlias');
2const calculateAliasConfig = require('../packages/utils/calculateAliasConfig');
3const nodeResolve = require('resolve');
4
5
6//https://jestjs.io/docs/zh-Hans/mock-functions
7jest.mock('../packages/utils/calculateAliasConfig');
8jest.mock('resolve');
9
10describe('calculate alias', () => {
11
12 let sourcePath = '/Users/blue/work/anu/packages/cli/packages/demo/source/pages/syntax/await/index.js';
13
14 //react 测试
15 //import react from '@react';
16 test('import react from \'@react\';', ()=>{
17 //https://jestjs.io/docs/zh-Hans/mock-functions
18 calculateAliasConfig.mockReturnValue({
19 '@react': '/Users/blue/work/anu/packages/cli/packages/demo/source/ReactWX.js'
20 });
21 expect(
22 calculateAlias(sourcePath, '@react')
23 ).toBe('../../../ReactWX.js');
24 });
25
26 //components测试
27 //import Cat from '@componenet/Cat/index';
28 test('import Cat from \'@components/Cat/index\';', ()=>{
29 calculateAliasConfig.mockReturnValue({
30 '@components': '/Users/blue/work/anu/packages/cli/packages/demo/source/components'
31 });
32 expect(
33 calculateAlias(sourcePath, '@components/Cat/index')
34 ).toBe('../../../components/Cat/index');
35 });
36
37 //自定义alias测试
38 //import Dog from '@syntaxComponents/Dog/index';
39 test('import Dog from \'@syntaxComponents/Dog/index\';', ()=>{
40 calculateAliasConfig.mockReturnValue({
41 '@syntaxComponents': '/Users/blue/work/anu/packages/cli/packages/demo/source/pages/syntax/components'
42 });
43 expect(
44 calculateAlias(sourcePath, '@syntaxComponents/Dog/index')
45 ).toBe('../components/Dog/index');
46 });
47
48 //自定义alias测试
49 //import getLocalion from '@utils/getLocalion/index';
50 test('import getLocalion from \'@utils/getLocalion/index\';', ()=>{
51 calculateAliasConfig.mockReturnValue({
52 '@utils': '/Users/blue/work/anu/packages/cli/packages/demo/source/utils'
53 });
54
55 expect(
56 calculateAlias(sourcePath, '@utils/getLocalion/index')
57 ).toBe('../../../utils/getLocalion/index');
58
59 });
60
61 //npm 测试
62 //import cookie from 'cookie';
63 test('import cookie from \'cookie\';', ()=>{
64 nodeResolve.sync.mockReturnValue('/Users/blue/work/anu/packages/cli/packages/demo/node_modules/cookie/index.js');
65 expect(
66 calculateAlias(sourcePath, 'cookie')
67 ).toBe('../../../npm/cookie/index.js');
68 });
69
70 //npm 相对路径测试
71 //import getName from '../getName';
72 test('import getName from \'../getName\';', ()=>{
73 expect(
74 calculateAlias(sourcePath, '../getName')
75 ).toBe('../getName');
76 });
77
78
79});
\No newline at end of file