10
10
// -----------------------------------------------------------------------------
11
11
12
12
var eslint = require ( 'eslint' ) . linter ;
13
- var rule = require ( 'eslint/lib/rules/no-unused-vars' ) ;
13
+ var ruleNoUnusedVars = require ( 'eslint/lib/rules/no-unused-vars' ) ;
14
+ var rulePreferConst = require ( 'eslint/lib/rules/prefer-const' ) ;
14
15
var RuleTester = require ( 'eslint' ) . RuleTester ;
15
16
16
17
var parserOptions = {
@@ -28,7 +29,7 @@ require('babel-eslint');
28
29
29
30
var ruleTester = new RuleTester ( ) ;
30
31
eslint . defineRule ( 'jsx-uses-vars' , require ( '../../../lib/rules/jsx-uses-vars' ) ) ;
31
- ruleTester . run ( 'no-unused-vars' , rule , {
32
+ ruleTester . run ( 'no-unused-vars' , ruleNoUnusedVars , {
32
33
valid : [
33
34
{
34
35
code : '\
@@ -186,3 +187,25 @@ ruleTester.run('no-unused-vars', rule, {
186
187
}
187
188
]
188
189
} ) ;
190
+
191
+ // Check compatibility with eslint prefer-const rule (#716)
192
+ ruleTester . run ( 'prefer-const' , rulePreferConst , {
193
+ valid : [ ] ,
194
+ invalid : [ {
195
+ code : [
196
+ '/* eslint jsx-uses-vars:1 */' ,
197
+ 'let App = <div />;' ,
198
+ '<App />;'
199
+ ] . join ( '\n' ) ,
200
+ errors : [ { message : '\'App\' is never reassigned. Use \'const\' instead.' } ] ,
201
+ parserOptions : parserOptions
202
+ } , {
203
+ code : [
204
+ '/* eslint jsx-uses-vars:1 */' ,
205
+ 'let filters = \'foo\';' ,
206
+ '<div>{filters}</div>;'
207
+ ] . join ( '\n' ) ,
208
+ errors : [ { message : '\'filters\' is never reassigned. Use \'const\' instead.' } ] ,
209
+ parserOptions : parserOptions
210
+ } ]
211
+ } ) ;
0 commit comments