Skip to content

Commit a3ed54d

Browse files
phateddanez
authored andcommitted
Add importer tests for isReactCloneElementCall
1 parent b3b75a6 commit a3ed54d

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

src/utils/__tests__/isReactCloneElementCall-test.js

Lines changed: 21 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 isReactCloneElementCall from '../isReactCloneElementCall';
1116

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

23+
const mockImporter = makeMockImporter({
24+
foo: statement(`
25+
export default React.cloneElement;
26+
import React from 'react';
27+
`).get('declaration'),
28+
});
29+
1830
describe('built in React.createClass', () => {
1931
it('accepts cloneElement called on React', () => {
2032
const def = parsePath(`
@@ -79,5 +91,13 @@ describe('isReactCloneElementCall', () => {
7991
`);
8092
expect(isReactCloneElementCall(def, noopImporter)).toBe(true);
8193
});
94+
95+
it('can resolve cloneElement imported from an intermediate module', () => {
96+
const def = parsePath(`
97+
import foo from "foo";
98+
foo({});
99+
`);
100+
expect(isReactCloneElementCall(def, mockImporter)).toBe(true);
101+
});
82102
});
83103
});

0 commit comments

Comments
 (0)