Skip to content

Commit 7708adb

Browse files
committed
[Tests] fix tests so they pass with eslint 2.
1 parent a4f4b60 commit 7708adb

File tree

4 files changed

+32
-17
lines changed

4 files changed

+32
-17
lines changed

.travis.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ node_js:
77
- '0.12'
88
- '0.10'
99
before_script:
10-
- 'if [ "${TRAVIS_NODE_VERSION}" = "iojs" ] || [ "${TRAVIS_NODE_VERSION}" = "0.12" ] || [ "${TRAVIS_NODE_VERSION}" = "0.10" ]; then npm install eslint@2; fi'
10+
- 'if [ "${TRAVIS_NODE_VERSION}" = "iojs" ] || [ "${TRAVIS_NODE_VERSION}" = "0.12" ] || [ "${TRAVIS_NODE_VERSION}" = "0.10" ]; then npm install eslint@2 babel-eslint@6; fi'
1111
after_success:
1212
- npm run coveralls
1313
matrix:

tests/eslint-compat.js

+12
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
'use strict';
2+
3+
var isEslint2 = require('eslint/package.json').version.slice(0, 2) === '2.';
4+
5+
module.exports = {
6+
isEslint2: function () {
7+
return isEslint2;
8+
},
9+
dot: function dot(msg) {
10+
return isEslint2 ? msg : msg + '.';
11+
}
12+
};

tests/lib/rules/jsx-uses-react.js

+4-3
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
var eslint = require('eslint').linter;
1313
var rule = require('eslint/lib/rules/no-unused-vars');
1414
var RuleTester = require('eslint').RuleTester;
15+
var dot = require('../../eslint-compat').dot;
1516

1617
var parserOptions = {
1718
ecmaVersion: 6,
@@ -41,12 +42,12 @@ ruleTester.run('no-unused-vars', rule, {
4142
],
4243
invalid: [{
4344
code: '/*eslint jsx-uses-react:1*/ var React;',
44-
errors: [{message: '\'React\' is defined but never used.'}], parserOptions: parserOptions
45+
errors: [{message: dot('\'React\' is defined but never used')}], parserOptions: parserOptions
4546
}, {
4647
code: '/*eslint jsx-uses-react:1*/ /** @jsx Foo */ var React; <div />;',
47-
errors: [{message: '\'React\' is defined but never used.'}], parserOptions: parserOptions
48+
errors: [{message: dot('\'React\' is defined but never used')}], parserOptions: parserOptions
4849
}, {
4950
code: '/*eslint jsx-uses-react:1*/ var React; <div />;',
50-
errors: [{message: '\'React\' is defined but never used.'}], settings: settings, parserOptions: parserOptions
51+
errors: [{message: dot('\'React\' is defined but never used')}], settings: settings, parserOptions: parserOptions
5152
}]
5253
});

tests/lib/rules/jsx-uses-vars.js

+15-13
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ var eslint = require('eslint').linter;
1313
var ruleNoUnusedVars = require('eslint/lib/rules/no-unused-vars');
1414
var rulePreferConst = require('eslint/lib/rules/prefer-const');
1515
var RuleTester = require('eslint').RuleTester;
16+
var dot = require('../../eslint-compat').dot;
17+
var isEslint2 = require('../../eslint-compat').isEslint2;
1618

1719
var parserOptions = {
1820
ecmaVersion: 6,
@@ -123,37 +125,37 @@ ruleTester.run('no-unused-vars', ruleNoUnusedVars, {
123125
invalid: [
124126
{
125127
code: '/*eslint jsx-uses-vars:1*/ var App;',
126-
errors: [{message: '\'App\' is defined but never used.'}],
128+
errors: [{message: dot('\'App\' is defined but never used')}],
127129
parserOptions: parserOptions
128130
}, {
129131
code: '\
130132
/*eslint jsx-uses-vars:1*/\
131133
var App;\
132134
var unused;\
133135
React.render(<App unused=""/>);',
134-
errors: [{message: '\'unused\' is defined but never used.'}],
136+
errors: [{message: dot('\'unused\' is defined but never used')}],
135137
parserOptions: parserOptions
136138
}, {
137139
code: '\
138140
/*eslint jsx-uses-vars:1*/\
139141
var App;\
140142
var Hello;\
141143
React.render(<App:Hello/>);',
142-
errors: [{message: '\'Hello\' is defined but never used.'}],
144+
errors: [{message: dot('\'Hello\' is defined but never used')}],
143145
parserOptions: parserOptions
144146
}, {
145147
code: '\
146148
/*eslint jsx-uses-vars:1*/\
147149
var Button;\
148150
var Input;\
149151
React.render(<Button.Input unused=""/>);',
150-
errors: [{message: '\'Input\' is defined but never used.'}],
152+
errors: [{message: dot('\'Input\' is defined but never used')}],
151153
parserOptions: parserOptions
152154
}, {
153155
code: '\
154156
/*eslint jsx-uses-vars:1*/\
155157
class unused {}',
156-
errors: [{message: '\'unused\' is defined but never used.'}],
158+
errors: [{message: dot('\'unused\' is defined but never used')}],
157159
parserOptions: parserOptions
158160
}, {
159161
code: '\
@@ -165,7 +167,7 @@ ruleTester.run('no-unused-vars', ruleNoUnusedVars, {
165167
}\
166168
}',
167169
errors: [{
168-
message: '\'HelloMessage\' is defined but never used.',
170+
message: dot('\'HelloMessage\' is defined but never used'),
169171
line: 1
170172
}],
171173
parserOptions: parserOptions
@@ -179,7 +181,7 @@ ruleTester.run('no-unused-vars', ruleNoUnusedVars, {
179181
}\
180182
}',
181183
errors: [{
182-
message: '\'HelloMessage\' is defined but never used.',
184+
message: dot('\'HelloMessage\' is defined but never used'),
183185
line: 1
184186
}],
185187
parser: 'babel-eslint',
@@ -194,7 +196,7 @@ ruleTester.run('no-unused-vars', ruleNoUnusedVars, {
194196
}\
195197
Greetings();',
196198
errors: [{
197-
message: '\'Hello\' is defined but never used.',
199+
message: dot('\'Hello\' is defined but never used'),
198200
line: 1
199201
}],
200202
parser: 'babel-eslint',
@@ -206,21 +208,21 @@ ruleTester.run('no-unused-vars', ruleNoUnusedVars, {
206208
// Check compatibility with eslint prefer-const rule (#716)
207209
ruleTester.run('prefer-const', rulePreferConst, {
208210
valid: [],
209-
invalid: [{
211+
invalid: (isEslint2() ? [] : [{
210212
code: [
211213
'/* eslint jsx-uses-vars:1 */',
212214
'let App = <div />;',
213215
'<App />;'
214216
].join('\n'),
215-
errors: [{message: '\'App\' is never reassigned. Use \'const\' instead.'}],
217+
errors: [{message: dot('\'App\' is never reassigned. Use \'const\' instead')}],
216218
parserOptions: parserOptions
217-
}, {
219+
}]).concat([{
218220
code: [
219221
'/* eslint jsx-uses-vars:1 */',
220222
'let filters = \'foo\';',
221223
'<div>{filters}</div>;'
222224
].join('\n'),
223-
errors: [{message: '\'filters\' is never reassigned. Use \'const\' instead.'}],
225+
errors: [{message: '\'filters\' is never reassigned' + (isEslint2() ? ', use' : '. Use') + ' \'const\' instead.'}],
224226
parserOptions: parserOptions
225-
}]
227+
}])
226228
});

0 commit comments

Comments
 (0)