@@ -21,12 +21,6 @@ var parserOptions = {
2121 }
2222} ;
2323
24- var settings = {
25- react : {
26- pragma : 'Foo'
27- }
28- } ;
29-
3024// ------------------------------------------------------------------------------
3125// Tests
3226// ------------------------------------------------------------------------------
@@ -35,6 +29,19 @@ var ruleTester = new RuleTester();
3529ruleTester . run ( 'display-name' , rule , {
3630
3731 valid : [ {
32+ code : [
33+ 'var Hello = createReactClass({' ,
34+ ' displayName: \'Hello\',' ,
35+ ' render: function() {' ,
36+ ' return <div>Hello {this.props.name}</div>;' ,
37+ ' }' ,
38+ '});'
39+ ] . join ( '\n' ) ,
40+ options : [ {
41+ ignoreTranspilerName : true
42+ } ] ,
43+ parserOptions : parserOptions
44+ } , {
3845 code : [
3946 'var Hello = React.createClass({' ,
4047 ' displayName: \'Hello\',' ,
@@ -46,6 +53,11 @@ ruleTester.run('display-name', rule, {
4653 options : [ {
4754 ignoreTranspilerName : true
4855 } ] ,
56+ settings : {
57+ react : {
58+ createClass : 'createClass'
59+ }
60+ } ,
4961 parserOptions : parserOptions
5062 } , {
5163 code : [
@@ -118,7 +130,7 @@ ruleTester.run('display-name', rule, {
118130 parserOptions : parserOptions
119131 } , {
120132 code : [
121- 'var Hello = React.createClass ({' ,
133+ 'var Hello = createReactClass ({' ,
122134 ' render: function() {' ,
123135 ' return <div>Hello {this.props.name}</div>;' ,
124136 ' }' ,
@@ -146,7 +158,7 @@ ruleTester.run('display-name', rule, {
146158 } , {
147159 code : [
148160 'var Hello;' ,
149- 'Hello = React.createClass ({' ,
161+ 'Hello = createReactClass ({' ,
150162 ' render: function() {' ,
151163 ' return <div>Hello {this.props.name}</div>;' ,
152164 ' }' ,
@@ -155,7 +167,7 @@ ruleTester.run('display-name', rule, {
155167 parserOptions : parserOptions
156168 } , {
157169 code : [
158- 'module.exports = React.createClass ({' ,
170+ 'module.exports = createReactClass ({' ,
159171 ' "displayName": "Hello",' ,
160172 ' "render": function() {' ,
161173 ' return <div>Hello {this.props.name}</div>;' ,
@@ -165,7 +177,7 @@ ruleTester.run('display-name', rule, {
165177 parserOptions : parserOptions
166178 } , {
167179 code : [
168- 'var Hello = React.createClass ({' ,
180+ 'var Hello = createReactClass ({' ,
169181 ' displayName: \'Hello\',' ,
170182 ' render: function() {' ,
171183 ' let { a, ...b } = obj;' ,
@@ -265,7 +277,7 @@ ruleTester.run('display-name', rule, {
265277 parser : 'babel-eslint'
266278 } , {
267279 code : [
268- 'var Hello = React.createClass ({' ,
280+ 'var Hello = createReactClass ({' ,
269281 ' render: function() {' ,
270282 ' return <div>{this._renderHello()}</div>;' ,
271283 ' },' ,
@@ -277,7 +289,7 @@ ruleTester.run('display-name', rule, {
277289 parser : 'babel-eslint'
278290 } , {
279291 code : [
280- 'var Hello = React.createClass ({' ,
292+ 'var Hello = createReactClass ({' ,
281293 ' displayName: \'Hello\',' ,
282294 ' render: function() {' ,
283295 ' return <div>{this._renderHello()}</div>;' ,
@@ -346,6 +358,11 @@ ruleTester.run('display-name', rule, {
346358 options : [ {
347359 ignoreTranspilerName : true
348360 } ] ,
361+ settings : {
362+ react : {
363+ createClass : 'createClass'
364+ }
365+ } ,
349366 parser : 'babel-eslint'
350367 } , {
351368 code : [
@@ -395,7 +412,7 @@ ruleTester.run('display-name', rule, {
395412
396413 invalid : [ {
397414 code : [
398- 'var Hello = React.createClass ({' ,
415+ 'var Hello = createReactClass ({' ,
399416 ' render: function() {' ,
400417 ' return React.createElement("div", {}, "text content");' ,
401418 ' }' ,
@@ -412,6 +429,26 @@ ruleTester.run('display-name', rule, {
412429 code : [
413430 'var Hello = React.createClass({' ,
414431 ' render: function() {' ,
432+ ' return React.createElement("div", {}, "text content");' ,
433+ ' }' ,
434+ '});'
435+ ] . join ( '\n' ) ,
436+ options : [ {
437+ ignoreTranspilerName : true
438+ } ] ,
439+ settings : {
440+ react : {
441+ createClass : 'createClass'
442+ }
443+ } ,
444+ parserOptions : parserOptions ,
445+ errors : [ {
446+ message : 'Component definition is missing display name'
447+ } ]
448+ } , {
449+ code : [
450+ 'var Hello = createReactClass({' ,
451+ ' render: function() {' ,
415452 ' return <div>Hello {this.props.name}</div>;' ,
416453 ' }' ,
417454 '});'
@@ -441,7 +478,7 @@ ruleTester.run('display-name', rule, {
441478 } , {
442479 code : [
443480 'function HelloComponent() {' ,
444- ' return React.createClass ({' ,
481+ ' return createReactClass ({' ,
445482 ' render: function() {' ,
446483 ' return <div>Hello {this.props.name}</div>;' ,
447484 ' }' ,
@@ -478,7 +515,7 @@ ruleTester.run('display-name', rule, {
478515 } ]
479516 } , {
480517 code : [
481- 'module.exports = React.createClass ({' ,
518+ 'module.exports = createReactClass ({' ,
482519 ' render() {' ,
483520 ' return <div>Hello {this.props.name}</div>;' ,
484521 ' }' ,
@@ -490,7 +527,7 @@ ruleTester.run('display-name', rule, {
490527 } ]
491528 } , {
492529 code : [
493- 'var Hello = React.createClass ({' ,
530+ 'var Hello = createReactClass ({' ,
494531 ' _renderHello: function() {' ,
495532 ' return <span>Hello {this.props.name}</span>;' ,
496533 ' },' ,
@@ -521,7 +558,12 @@ ruleTester.run('display-name', rule, {
521558 ignoreTranspilerName : true
522559 } ] ,
523560 parser : 'babel-eslint' ,
524- settings : settings ,
561+ settings : {
562+ react : {
563+ pragma : 'Foo' ,
564+ createClass : 'createClass'
565+ }
566+ } ,
525567 errors : [ {
526568 message : 'Component definition is missing display name'
527569 } ]
@@ -540,6 +582,11 @@ ruleTester.run('display-name', rule, {
540582 options : [ {
541583 ignoreTranspilerName : true
542584 } ] ,
585+ settings : {
586+ react : {
587+ createClass : 'createClass'
588+ }
589+ } ,
543590 parser : 'babel-eslint' ,
544591 errors : [ {
545592 message : 'Component definition is missing display name'
0 commit comments