@@ -260,81 +260,134 @@ ruleTester.run('no-typos', rule, {
260
260
parser : 'babel-eslint' ,
261
261
parserOptions : parserOptions
262
262
} , {
263
- code : `class Component extends React.Component {};
264
- Component.propTypes = {
265
- a: PropTypes.number.isRequired
266
- }
263
+ code : `
264
+ import PropTypes from "prop-types";
265
+ class Component extends React.Component {};
266
+ Component.propTypes = {
267
+ a: PropTypes.number.isRequired
268
+ }
267
269
` ,
268
270
parser : 'babel-eslint' ,
269
271
parserOptions : parserOptions
270
272
} , {
271
- code : `class Component extends React.Component {};
272
- Component.propTypes = {
273
- e: PropTypes.shape({
274
- ea: PropTypes.string,
275
- })
276
- }
273
+ code : `
274
+ import PropTypes from "prop-types";
275
+ class Component extends React.Component {};
276
+ Component.propTypes = {
277
+ e: PropTypes.shape({
278
+ ea: PropTypes.string,
279
+ })
280
+ }
277
281
` ,
278
282
parser : 'babel-eslint' ,
279
283
parserOptions : parserOptions
280
284
} , {
281
- code : `class Component extends React.Component {};
282
- Component.propTypes = {
283
- a: PropTypes.string,
284
- b: PropTypes.string.isRequired,
285
- c: PropTypes.shape({
286
- d: PropTypes.string,
287
- e: PropTypes.number.isRequired,
288
- }).isRequired
289
- }
285
+ code : `
286
+ import PropTypes from "prop-types";
287
+ class Component extends React.Component {};
288
+ Component.propTypes = {
289
+ a: PropTypes.string,
290
+ b: PropTypes.string.isRequired,
291
+ c: PropTypes.shape({
292
+ d: PropTypes.string,
293
+ e: PropTypes.number.isRequired,
294
+ }).isRequired
295
+ }
290
296
` ,
291
297
parser : 'babel-eslint' ,
292
298
parserOptions : parserOptions
293
299
} , {
294
- code : `class Component extends React.Component {};
295
- Component.propTypes = {
296
- a: PropTypes.oneOfType([
297
- PropTypes.string,
298
- PropTypes.number
299
- ])
300
- }
300
+ code : `
301
+ import PropTypes from "prop-types";
302
+ class Component extends React.Component {};
303
+ Component.propTypes = {
304
+ a: PropTypes.oneOfType([
305
+ PropTypes.string,
306
+ PropTypes.number
307
+ ])
308
+ }
301
309
` ,
302
310
parser : 'babel-eslint' ,
303
311
parserOptions : parserOptions
304
312
} , {
305
- code : `class Component extends React.Component {};
306
- Component.propTypes = {
307
- a: PropTypes.oneOf([
308
- 'hello',
309
- 'hi'
310
- ])
311
- }
313
+ code : `
314
+ import PropTypes from "prop-types";
315
+ class Component extends React.Component {};
316
+ Component.propTypes = {
317
+ a: PropTypes.oneOf([
318
+ 'hello',
319
+ 'hi'
320
+ ])
321
+ }
312
322
` ,
313
323
parser : 'babel-eslint' ,
314
324
parserOptions : parserOptions
315
325
} , {
316
- code : `class Component extends React.Component {};
317
- Component.childContextTypes = {
318
- a: PropTypes.string,
319
- b: PropTypes.string.isRequired,
320
- c: PropTypes.shape({
321
- d: PropTypes.string,
322
- e: PropTypes.number.isRequired,
323
- }).isRequired
324
- }
326
+ code : `
327
+ import PropTypes from "prop-types";
328
+ class Component extends React.Component {};
329
+ Component.childContextTypes = {
330
+ a: PropTypes.string,
331
+ b: PropTypes.string.isRequired,
332
+ c: PropTypes.shape({
333
+ d: PropTypes.string,
334
+ e: PropTypes.number.isRequired,
335
+ }).isRequired
336
+ }
325
337
` ,
326
338
parser : 'babel-eslint' ,
327
339
parserOptions : parserOptions
328
340
} , {
329
- code : `class Component extends React.Component {};
330
- Component.contextTypes = {
331
- a: PropTypes.string,
332
- b: PropTypes.string.isRequired,
333
- c: PropTypes.shape({
334
- d: PropTypes.string,
335
- e: PropTypes.number.isRequired,
336
- }).isRequired
337
- }
341
+ code : `
342
+ import PropTypes from "prop-types";
343
+ class Component extends React.Component {};
344
+ Component.contextTypes = {
345
+ a: PropTypes.string,
346
+ b: PropTypes.string.isRequired,
347
+ c: PropTypes.shape({
348
+ d: PropTypes.string,
349
+ e: PropTypes.number.isRequired,
350
+ }).isRequired
351
+ }
352
+ ` ,
353
+ parser : 'babel-eslint' ,
354
+ parserOptions : parserOptions
355
+ } , {
356
+ code : `
357
+ import PropTypes from 'prop-types'
358
+ import * as MyPropTypes from 'lib/my-prop-types'
359
+ class Component extends React.Component {};
360
+ Component.propTypes = {
361
+ a: PropTypes.string,
362
+ b: MyPropTypes.MYSTRING,
363
+ c: MyPropTypes.MYSTRING.isRequired,
364
+ }
365
+ ` ,
366
+ parser : 'babel-eslint' ,
367
+ parserOptions : parserOptions
368
+ } , {
369
+ code : `
370
+ const PropTypes = require('prop-types');
371
+ const MyPropTypes = require('lib/my-prop-types')
372
+ class Component extends React.Component {};
373
+ Component.propTypes = {
374
+ a: PropTypes.string,
375
+ b: MyPropTypes.MYSTRING,
376
+ c: MyPropTypes.MYSTRING.isRequired,
377
+ }
378
+ ` ,
379
+ parser : 'babel-eslint' ,
380
+ parserOptions : parserOptions
381
+ } , {
382
+ code : `
383
+ const RealPropTypes = require('prop-types');
384
+ const MyPropTypes = require('lib/my-prop-types')
385
+ class Component extends React.Component {};
386
+ Component.propTypes = {
387
+ a: RealPropTypes.string,
388
+ b: MyPropTypes.MYSTRING,
389
+ c: MyPropTypes.MYSTRING.isRequired,
390
+ }
338
391
` ,
339
392
parser : 'babel-eslint' ,
340
393
parserOptions : parserOptions
@@ -710,6 +763,7 @@ ruleTester.run('no-typos', rule, {
710
763
} ]
711
764
} , {
712
765
code : `
766
+ import PropTypes from "prop-types";
713
767
class Component extends React.Component {};
714
768
Component.propTypes = {
715
769
a: PropTypes.Number.isRequired
@@ -722,6 +776,7 @@ ruleTester.run('no-typos', rule, {
722
776
} ]
723
777
} , {
724
778
code : `
779
+ import PropTypes from "prop-types";
725
780
class Component extends React.Component {};
726
781
Component.propTypes = {
727
782
a: PropTypes.number.isrequired
@@ -734,6 +789,7 @@ ruleTester.run('no-typos', rule, {
734
789
} ]
735
790
} , {
736
791
code : `
792
+ import PropTypes from "prop-types";
737
793
class Component extends React.Component {};
738
794
Component.propTypes = {
739
795
a: PropTypes.Number
@@ -746,6 +802,7 @@ ruleTester.run('no-typos', rule, {
746
802
} ]
747
803
} , {
748
804
code : `
805
+ import PropTypes from "prop-types";
749
806
class Component extends React.Component {};
750
807
Component.propTypes = {
751
808
a: PropTypes.shape({
@@ -761,6 +818,7 @@ ruleTester.run('no-typos', rule, {
761
818
} ]
762
819
} , {
763
820
code : `
821
+ import PropTypes from "prop-types";
764
822
class Component extends React.Component {};
765
823
Component.propTypes = {
766
824
a: PropTypes.oneOfType([
@@ -776,6 +834,7 @@ ruleTester.run('no-typos', rule, {
776
834
} ]
777
835
} , {
778
836
code : `
837
+ import PropTypes from "prop-types";
779
838
class Component extends React.Component {};
780
839
Component.propTypes = {
781
840
a: PropTypes.bools,
@@ -797,6 +856,29 @@ ruleTester.run('no-typos', rule, {
797
856
} ]
798
857
} , {
799
858
code : `
859
+ import PropTypes from "prop-types";
860
+ class Component extends React.Component {};
861
+ Component.childContextTypes = {
862
+ a: PropTypes.bools,
863
+ b: PropTypes.Array,
864
+ c: PropTypes.function,
865
+ d: PropTypes.objectof,
866
+ }
867
+ ` ,
868
+ parser : 'babel-eslint' ,
869
+ parserOptions : parserOptions ,
870
+ errors : [ {
871
+ message : 'Typo in declared prop type: bools'
872
+ } , {
873
+ message : 'Typo in declared prop type: Array'
874
+ } , {
875
+ message : 'Typo in declared prop type: function'
876
+ } , {
877
+ message : 'Typo in declared prop type: objectof'
878
+ } ]
879
+ } , {
880
+ code : `
881
+ const PropTypes = require('prop-types');
800
882
class Component extends React.Component {};
801
883
Component.childContextTypes = {
802
884
a: PropTypes.bools,
@@ -847,5 +929,27 @@ ruleTester.run('no-typos', rule, {
847
929
} , {
848
930
message : 'Typo in prop type chain qualifier: isrequired'
849
931
} ]
932
+ } , {
933
+ code : `
934
+ const RealPropTypes = require('prop-types');
935
+ class Component extends React.Component {};
936
+ Component.childContextTypes = {
937
+ a: RealPropTypes.bools,
938
+ b: RealPropTypes.Array,
939
+ c: RealPropTypes.function,
940
+ d: RealPropTypes.objectof,
941
+ }
942
+ ` ,
943
+ parser : 'babel-eslint' ,
944
+ parserOptions : parserOptions ,
945
+ errors : [ {
946
+ message : 'Typo in declared prop type: bools'
947
+ } , {
948
+ message : 'Typo in declared prop type: Array'
949
+ } , {
950
+ message : 'Typo in declared prop type: function'
951
+ } , {
952
+ message : 'Typo in declared prop type: objectof'
953
+ } ]
850
954
} ]
851
955
} ) ;
0 commit comments