Skip to content

Commit 6e3a3cc

Browse files
committed
Add TypeScript tests for update-react-imports
1 parent 892d139 commit 6e3a3cc

25 files changed

+121
-5
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import React, { createElement, useState } from "react";
2+
3+
React.createElement('div', {});
4+
5+
<div>Hi</div>;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
import { createElement, useState } from "react";
2+
import * as React from "react";
3+
4+
React.createElement('div', {});
5+
6+
<div>Hi</div>;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import React, { createElement, useState } from "react";
2+
3+
<div>Hi</div>;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { createElement, useState } from "react";
2+
3+
<div>Hi</div>;
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import * as React from "react";
2+
3+
<div>Hi</div>;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<div>Hi</div>;
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import * as React from "react";
2+
3+
<></>;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<></>;
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
/**
2+
* Hello world.
3+
*/
4+
5+
import * as React from "react";
6+
7+
<div></div>;
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
/**
2+
* Hello world.
3+
*/
4+
5+
<div></div>;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import * as React from 'react';
2+
3+
React.useState(false);

transforms/__testfixtures__/update-react-imports/typescript/react-already-used-named-export.tsx.output.js

Whitespace-only changes.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import React from "react";
2+
3+
React.createElement('div', {});
4+
5+
<div></div>;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { createElement } from "react";
2+
3+
createElement('div', {});
4+
5+
<div></div>;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import React from "react";
2+
3+
<div></div>;
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<div></div>;
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import React from "react";
2+
3+
React.createElement('div', 'la');
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { createElement } from "react";
2+
3+
createElement('div', 'la');
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import React, { useState } from 'react';
2+
3+
<React.Fragment />
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
import { Fragment, useState } from 'react';
2+
3+
<Fragment />
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import React from "react";
2+
3+
React.createElement('div', {});
4+
5+
Promise.resolve(React);
6+
7+
<div>Hi</div>
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import * as React from "react";
2+
3+
React.createElement('div', {});
4+
5+
Promise.resolve(React);
6+
7+
<div>Hi</div>
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
import * as React from "react";
2+
3+
React.createElement('div', {});
4+
5+
createElement('someFunction');
6+
7+
<div>Hi</div>;

transforms/__testfixtures__/update-react-imports/typescript/variable-already-used.tsx.output.js

Whitespace-only changes.

transforms/__tests__/update-react-imports-test.js

Lines changed: 34 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,23 @@
88

99
'use strict';
1010

11+
const flowOnlyTests = [
12+
'flow-default-and-type-specifier-import-react-variable',
13+
'flow-default-and-type-specifier-import',
14+
'react-type-not-removed',
15+
'react-type-default-export',
16+
];
17+
1118
const tests = [
1219
'default-and-multiple-specifiers-import-react-variable',
1320
'default-and-multiple-specifiers-import',
14-
'flow-default-and-type-specifier-import-react-variable',
15-
'flow-default-and-type-specifier-import',
1621
'jsx-element',
1722
'jsx-fragment',
1823
'leading-comment',
1924
'react-basic-default-export-jsx-element-react-variable',
2025
'react-basic-default-export-jsx-element',
2126
'react-basic-default-export',
22-
'react-type-default-export',
2327
'react-not-removed',
24-
'react-type-not-removed',
2528
'variable-already-used',
2629
'react-jsx-member-expression',
2730
'react-already-used-named-export',
@@ -35,11 +38,37 @@ jest.mock('../update-react-imports', () => {
3538

3639
const defineTest = require('jscodeshift/dist/testUtils').defineTest;
3740

38-
tests.forEach((test) => {
41+
[...tests, ...flowOnlyTests].forEach((test) => {
3942
defineTest(
4043
__dirname,
4144
'update-react-imports',
4245
null,
4346
`update-react-imports/${test}`
4447
);
4548
});
49+
50+
describe('typescript', () => {
51+
beforeEach(() => {
52+
jest.mock('../update-react-imports', () => {
53+
return Object.assign(
54+
require.requireActual('../update-react-imports'),
55+
{
56+
parser: 'tsx'
57+
}
58+
);
59+
});
60+
});
61+
62+
afterEach(() => {
63+
jest.resetModules();
64+
});
65+
66+
[...tests].forEach((test) => {
67+
defineTest(
68+
__dirname,
69+
'update-react-imports',
70+
null,
71+
`update-react-imports/typescript/${test}.tsx`
72+
);
73+
});
74+
});

0 commit comments

Comments
 (0)