Skip to content

Commit 3b628fc

Browse files
phateddanez
authored andcommitted
Add importer tests for isReactCreateClassCall
1 parent ad1e61a commit 3b628fc

File tree

1 file changed

+34
-1
lines changed

1 file changed

+34
-1
lines changed

src/utils/__tests__/isReactCreateClassCall-test.js

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,12 @@
66
*
77
*/
88

9-
import { parse, noopImporter } from '../../../tests/utils';
9+
import {
10+
parse,
11+
statement,
12+
noopImporter,
13+
makeMockImporter,
14+
} from '../../../tests/utils';
1015
import isReactCreateClassCall from '../isReactCreateClassCall';
1116

1217
describe('isReactCreateClassCall', () => {
@@ -15,6 +20,18 @@ describe('isReactCreateClassCall', () => {
1520
return root.get('body', root.node.body.length - 1, 'expression');
1621
}
1722

23+
const mockImporter = makeMockImporter({
24+
foo: statement(`
25+
export default React.createClass;
26+
import React from 'react';
27+
`).get('declaration'),
28+
29+
bar: statement(`
30+
export default makeClass;
31+
import makeClass from "create-react-class";
32+
`).get('declaration'),
33+
});
34+
1835
describe('built in React.createClass', () => {
1936
it('accepts createClass called on React', () => {
2037
const def = parsePath(`
@@ -85,6 +102,14 @@ describe('isReactCreateClassCall', () => {
85102
`);
86103
expect(isReactCreateClassCall(def, noopImporter)).toBe(true);
87104
});
105+
106+
it('resolves createClass imported from intermediate module', () => {
107+
const def = parsePath(`
108+
import foo from "foo";
109+
foo({});
110+
`);
111+
expect(isReactCreateClassCall(def, mockImporter)).toBe(true);
112+
});
88113
});
89114

90115
describe('modular in create-react-class', () => {
@@ -117,5 +142,13 @@ describe('isReactCreateClassCall', () => {
117142
`);
118143
expect(isReactCreateClassCall(def, noopImporter)).toBe(false);
119144
});
145+
146+
it('resolves create-react-class imported from intermediate module', () => {
147+
const def = parsePath(`
148+
import bar from "bar";
149+
bar({});
150+
`);
151+
expect(isReactCreateClassCall(def, mockImporter)).toBe(true);
152+
});
120153
});
121154
});

0 commit comments

Comments
 (0)