88// Requirements
99// ------------------------------------------------------------------------------
1010
11- var eslint = require ( 'eslint' ) . linter ;
12- var ESLintTester = require ( 'eslint' ) . ESLintTester ;
11+ var rule = require ( '../../../lib/rules/jsx-curly-spacing' ) ;
12+ var RuleTester = require ( 'eslint' ) . RuleTester ;
1313
1414// ------------------------------------------------------------------------------
1515// Tests
1616// ------------------------------------------------------------------------------
1717
18- var eslintTester = new ESLintTester ( eslint ) ;
19- eslintTester . addRuleTest ( 'lib/rules/ jsx-curly-spacing', {
18+ var ruleTester = new RuleTester ( ) ;
19+ ruleTester . run ( ' jsx-curly-spacing', rule , {
2020 valid : [ {
2121 code : '<App foo={bar} />;' ,
22- args : 1 ,
2322 ecmaFeatures : { jsx : true }
2423 } , {
2524 code : '<App foo={bar} />;' ,
26- args : [ 1 , 'never' ] ,
25+ options : [ 'never' ] ,
2726 ecmaFeatures : { jsx : true }
2827 } , {
2928 code : '<App foo={ bar } />;' ,
30- args : [ 1 , 'always' ] ,
29+ options : [ 'always' ] ,
3130 ecmaFeatures : { jsx : true }
3231 } , {
3332 code : '<App foo={ bar } />;' ,
34- args : [ 1 , 'always' , { allowMultiline : false } ] ,
33+ options : [ 'always' , { allowMultiline : false } ] ,
3534 ecmaFeatures : { jsx : true }
3635 } , {
3736 code : '<App foo={{ bar:baz }} />;' ,
38- args : [ 1 , 'never' ] ,
37+ options : [ 'never' ] ,
3938 ecmaFeatures : { jsx : true }
4039 } , {
4140 code : '<App foo={ {bar:baz} } />;' ,
42- args : [ 1 , 'always' ] ,
41+ options : [ 'always' ] ,
4342 ecmaFeatures : { jsx : true }
4443 } , {
4544 code : [
4645 '<App foo={' ,
4746 'bar' ,
4847 '} />;'
4948 ] . join ( '\n' ) ,
50- args : [ 1 , 'always' ] ,
49+ options : [ 'always' ] ,
5150 ecmaFeatures : { jsx : true }
5251 } , {
5352 code : [
5453 '<App foo={' ,
5554 'bar' ,
5655 '} />;'
5756 ] . join ( '\n' ) ,
58- args : [ 1 , 'always' ] ,
57+ options : [ 'always' ] ,
5958 ecmaFeatures : { jsx : true }
6059 } , {
6160 code : [
6261 '<App foo={' ,
6362 'bar' ,
6463 '} />;'
6564 ] . join ( '\n' ) ,
66- args : [ 1 , 'never' ] ,
65+ options : [ 'never' ] ,
6766 ecmaFeatures : { jsx : true }
6867 } , {
6968 code : [
7069 '<div>{/* comment */}</div>;'
7170 ] . join ( '\n' ) ,
72- args : [ 1 , 'never' ] ,
71+ options : [ 'never' ] ,
7372 ecmaFeatures : { jsx : true }
7473 } ] ,
7574
7675 invalid : [ {
7776 code : '<App foo={ bar } />;' ,
78- args : [ 1 , 'never' ] ,
77+ options : [ 'never' ] ,
7978 errors : [ {
8079 message : 'There should be no space after \'{\''
8180 } , {
@@ -84,7 +83,7 @@ eslintTester.addRuleTest('lib/rules/jsx-curly-spacing', {
8483 ecmaFeatures : { jsx : true }
8584 } , {
8685 code : '<App foo={ bar } />;' ,
87- args : [ 1 , 'never' , { allowMultiline : false } ] ,
86+ options : [ 'never' , { allowMultiline : false } ] ,
8887 errors : [ {
8988 message : 'There should be no space after \'{\''
9089 } , {
@@ -93,7 +92,7 @@ eslintTester.addRuleTest('lib/rules/jsx-curly-spacing', {
9392 ecmaFeatures : { jsx : true }
9493 } , {
9594 code : '<App foo={bar} />;' ,
96- args : [ 1 , 'always' ] ,
95+ options : [ 'always' ] ,
9796 errors : [ {
9897 message : 'A space is required after \'{\''
9998 } , {
@@ -102,7 +101,7 @@ eslintTester.addRuleTest('lib/rules/jsx-curly-spacing', {
102101 ecmaFeatures : { jsx : true }
103102 } , {
104103 code : '<App foo={bar} />;' ,
105- args : [ 1 , 'always' , { allowMultiline : false } ] ,
104+ options : [ 'always' , { allowMultiline : false } ] ,
106105 errors : [ {
107106 message : 'A space is required after \'{\''
108107 } , {
@@ -111,28 +110,28 @@ eslintTester.addRuleTest('lib/rules/jsx-curly-spacing', {
111110 ecmaFeatures : { jsx : true }
112111 } , {
113112 code : '<App foo={ bar} />;' ,
114- args : [ 1 , 'always' ] ,
113+ options : [ 'always' ] ,
115114 errors : [ {
116115 message : 'A space is required before \'}\''
117116 } ] ,
118117 ecmaFeatures : { jsx : true }
119118 } , {
120119 code : '<App foo={bar } />;' ,
121- args : [ 1 , 'always' ] ,
120+ options : [ 'always' ] ,
122121 errors : [ {
123122 message : 'A space is required after \'{\''
124123 } ] ,
125124 ecmaFeatures : { jsx : true }
126125 } , {
127126 code : '<App foo={ bar} />;' ,
128- args : [ 1 , 'never' ] ,
127+ options : [ 'never' ] ,
129128 errors : [ {
130129 message : 'There should be no space after \'{\''
131130 } ] ,
132131 ecmaFeatures : { jsx : true }
133132 } , {
134133 code : '<App foo={bar } />;' ,
135- args : [ 1 , 'never' ] ,
134+ options : [ 'never' ] ,
136135 errors : [ {
137136 message : 'There should be no space before \'}\''
138137 } ] ,
@@ -143,7 +142,7 @@ eslintTester.addRuleTest('lib/rules/jsx-curly-spacing', {
143142 'bar' ,
144143 '} />;'
145144 ] . join ( '\n' ) ,
146- args : [ 1 , 'never' , { allowMultiline : false } ] ,
145+ options : [ 'never' , { allowMultiline : false } ] ,
147146 errors : [ {
148147 message : 'There should be no space after \'{\''
149148 } , {
@@ -156,7 +155,7 @@ eslintTester.addRuleTest('lib/rules/jsx-curly-spacing', {
156155 'bar' ,
157156 '} />;'
158157 ] . join ( '\n' ) ,
159- args : [ 1 , 'always' , { allowMultiline : false } ] ,
158+ options : [ 'always' , { allowMultiline : false } ] ,
160159 errors : [ {
161160 message : 'There should be no newline after \'{\''
162161 } , {
0 commit comments