Skip to content

Commit 6787a04

Browse files
iansuwombleton
authored andcommitted
Fix template name handling (facebook#9412)
1 parent 33a980d commit 6787a04

File tree

5 files changed

+280
-166
lines changed

5 files changed

+280
-166
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"env": {
3+
"jest": true
4+
}
5+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
/**
2+
* Copyright (c) 2015-present, Facebook, Inc.
3+
*
4+
* This source code is licensed under the MIT license found in the
5+
* LICENSE file in the root directory of this source tree.
6+
*/
7+
8+
'use strict';
9+
10+
const { getTemplateInstallPackage } = require('../createReactApp');
11+
12+
describe('getTemplateInstallPackage', () => {
13+
it('no options gives cra-template', async () => {
14+
await expect(getTemplateInstallPackage()).resolves.toBe('cra-template');
15+
});
16+
17+
it('cra-template gives cra-template', async () => {
18+
await expect(getTemplateInstallPackage('cra-template')).resolves.toBe(
19+
'cra-template'
20+
);
21+
});
22+
23+
it('cra-template-typescript gives cra-template-typescript', async () => {
24+
await expect(getTemplateInstallPackage('cra-template-typescript')).resolves.toBe(
25+
'cra-template-typescript'
26+
);
27+
});
28+
29+
it('typescript gives cra-template-typescript', async () => {
30+
await expect(getTemplateInstallPackage('typescript')).resolves.toBe(
31+
'cra-template-typescript'
32+
);
33+
});
34+
35+
it('typescript@next gives cra-template-typescript@next', async () => {
36+
await expect(getTemplateInstallPackage('cra-template-typescript@next')).resolves.toBe(
37+
'cra-template-typescript@next'
38+
);
39+
});
40+
41+
it('cra-template@next gives cra-template@next', async () => {
42+
await expect(getTemplateInstallPackage('cra-template@next')).resolves.toBe(
43+
'cra-template@next'
44+
);
45+
});
46+
47+
it('cra-template-typescript@next gives cra-template-typescript@next', async () => {
48+
await expect(getTemplateInstallPackage('cra-template-typescript@next')).resolves.toBe(
49+
'cra-template-typescript@next'
50+
);
51+
});
52+
53+
it('@iansu gives @iansu/cra-template', async () => {
54+
await expect(getTemplateInstallPackage('@iansu')).resolves.toBe(
55+
'@iansu/cra-template'
56+
);
57+
});
58+
59+
it('@iansu/cra-template gives @iansu/cra-template', async () => {
60+
await expect(
61+
getTemplateInstallPackage('@iansu/cra-template')
62+
).resolves.toBe('@iansu/cra-template');
63+
});
64+
65+
it('@iansu/cra-template@next gives @iansu/cra-template@next', async () => {
66+
await expect(
67+
getTemplateInstallPackage('@iansu/cra-template@next')
68+
).resolves.toBe('@iansu/cra-template@next');
69+
});
70+
71+
it('@iansu/cra-template-typescript@next gives @iansu/cra-template-typescript@next', async () => {
72+
await expect(getTemplateInstallPackage('@iansu/cra-template-typescript@next')).resolves.toBe(
73+
'@iansu/cra-template-typescript@next'
74+
);
75+
});
76+
77+
it('http://example.com/cra-template.tar.gz gives http://example.com/cra-template.tar.gz', async () => {
78+
await expect(
79+
getTemplateInstallPackage('http://example.com/cra-template.tar.gz')
80+
).resolves.toBe('http://example.com/cra-template.tar.gz');
81+
});
82+
});

0 commit comments

Comments
 (0)