Skip to content

Commit ef0c8e0

Browse files
committed
style tweaks
1 parent b445440 commit ef0c8e0

26 files changed

+250
-111
lines changed

rules/assertion-message.js

+16-3
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ var expectedNbArguments = {
2121

2222
function nbArguments(node) {
2323
var nArgs = expectedNbArguments[node.property.name];
24+
2425
if (nArgs !== undefined) {
2526
return nArgs;
2627
}
@@ -43,23 +44,35 @@ module.exports = function (context) {
4344
}
4445

4546
var callee = node.callee;
47+
4648
if (callee.property && util.nameOfRootObject(callee) === 't') {
4749
var nArgs = nbArguments(callee);
50+
4851
if (nArgs === -1) {
4952
return;
5053
}
5154

5255
var hasMessage = nArgs < node.arguments.length;
56+
5357
if (!hasMessage && shouldHaveMessage) {
54-
context.report(node, 'Expected an assertion message, but found none');
58+
context.report({
59+
node: node,
60+
message: 'Expected an assertion message, but found none.'
61+
});
5562
} else if (hasMessage && !shouldHaveMessage) {
56-
context.report(node, 'Expected no assertion message, but found one');
63+
context.report({
64+
node: node,
65+
message: 'Expected no assertion message, but found one.'
66+
});
5767
}
5868
}
5969
}
6070
});
6171
};
6272

6373
module.exports.schema = [{
64-
enum: ['always', 'never']
74+
enum: [
75+
'always',
76+
'never'
77+
]
6578
}];

rules/max-asserts.js

+6-3
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,14 @@ var createAvaRule = require('../create-ava-rule');
44

55
var notAssertionMethods = ['plan', 'end'];
66

7-
/* eslint quote-props: [2, "as-needed"] */
87
module.exports = function (context) {
98
var ava = createAvaRule();
109
var maxAssertions = context.options[0] || 5;
1110
var assertionCount = 0;
1211
var nodeToReport = null;
1312

1413
return ava.merge({
15-
CallExpression: function (node) {
14+
'CallExpression': function (node) {
1615
if (!ava.isTestFile || !ava.currentTestNode || node.callee.type !== 'MemberExpression') {
1716
return;
1817
}
@@ -33,8 +32,12 @@ module.exports = function (context) {
3332
if (ava.currentTestNode === node) {
3433
// leaving test function
3534
if (assertionCount > maxAssertions) {
36-
context.report(nodeToReport, 'Expected at most ' + maxAssertions + ' assertions, but found ' + assertionCount);
35+
context.report({
36+
node: nodeToReport,
37+
message: 'Expected at most ' + maxAssertions + ' assertions, but found ' + assertionCount + '.'
38+
});
3739
}
40+
3841
assertionCount = 0;
3942
nodeToReport = null;
4043
}

rules/no-cb-test.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@ module.exports = function (context) {
77
return ava.merge({
88
CallExpression: function (node) {
99
if (ava.isTestFile && ava.currentTestNode === node && ava.hasTestModifier('cb')) {
10-
context.report(node, '`test.cb()` should be not be used.');
10+
context.report({
11+
node: node,
12+
message: '`test.cb()` should be not be used.'
13+
});
1114
}
1215
}
1316
});

rules/no-identical-title.js

+5-3
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,12 @@ function isTitleUsed(usedTitleNodes, titleNode) {
2626
});
2727
}
2828

29-
/* eslint quote-props: [2, "as-needed"] */
3029
module.exports = function (context) {
3130
var ava = createAvaRule();
3231
var usedTitleNodes = [];
3332

3433
return ava.merge({
35-
CallExpression: function (node) {
34+
'CallExpression': function (node) {
3635
if (!ava.isTestFile || ava.currentTestNode !== node || ava.hasHookModifier()) {
3736
return;
3837
}
@@ -45,7 +44,10 @@ module.exports = function (context) {
4544
}
4645

4746
if (isTitleUsed(usedTitleNodes, titleNode)) {
48-
context.report(node, 'Test title is used multiple times in the same file.');
47+
context.report({
48+
node: node,
49+
message: 'Test title is used multiple times in the same file.'
50+
});
4951
return;
5052
}
5153

rules/no-ignored-test-files.js

+11-5
Original file line numberDiff line numberDiff line change
@@ -20,26 +20,27 @@ var excludedFolders = [
2020

2121
function isIgnored(rootDir, files, filepath) {
2222
var relativeFilePath = path.relative(rootDir, filepath);
23+
2324
if (multimatch([relativeFilePath], excludedFolders).length !== 0) {
24-
return 'Test file is ignored because it is in `' + excludedFolders.join(' ') + '`';
25+
return 'Test file is ignored because it is in `' + excludedFolders.join(' ') + '`.';
2526
}
2627

2728
if (multimatch([relativeFilePath], files).length === 0) {
28-
return 'Test file is ignored because it is not in `' + files.join(' ') + '`';
29+
return 'Test file is ignored because it is not in `' + files.join(' ') + '`.';
2930
}
3031

3132
return null;
3233
}
3334

3435
function getPackageInfo() {
3536
var packageFilePath = pkgUp.sync();
37+
3638
return {
3739
rootDir: packageFilePath && path.dirname(packageFilePath),
3840
files: util.getAvaConfig(packageFilePath).files
3941
};
4042
}
4143

42-
/* eslint quote-props: [2, "as-needed"] */
4344
module.exports = function (context) {
4445
var ava = createAvaRule();
4546
var packageInfo = getPackageInfo();
@@ -53,7 +54,7 @@ module.exports = function (context) {
5354
}
5455

5556
return ava.merge({
56-
CallExpression: function (node) {
57+
'CallExpression': function (node) {
5758
if (ava.isTestFile && ava.currentTestNode === node) {
5859
hasTestCall = true;
5960
}
@@ -64,9 +65,14 @@ module.exports = function (context) {
6465
}
6566

6667
var ignoredReason = isIgnored(packageInfo.rootDir, files, context.getFilename());
68+
6769
if (ignoredReason) {
68-
context.report(node, ignoredReason);
70+
context.report({
71+
node: node,
72+
message: ignoredReason
73+
});
6974
}
75+
7076
hasTestCall = false;
7177
}
7278
});

rules/no-invalid-end.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@ module.exports = function (context) {
1212
node.property.name === 'end' &&
1313
!ava.hasTestModifier('cb') &&
1414
util.nameOfRootObject(node) === 't') {
15-
context.report(node, '`t.end()` should only be used inside of `test.cb()`.');
15+
context.report({
16+
node: node,
17+
message: '`t.end()` should only be used inside of `test.cb()`.'
18+
});
1619
}
1720
}
1821
});

rules/no-only-test.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@ module.exports = function (context) {
77
return ava.merge({
88
CallExpression: function (node) {
99
if (ava.isTestFile && ava.currentTestNode === node && ava.hasTestModifier('only')) {
10-
context.report(node, 'test.only() should not be used.');
10+
context.report({
11+
node: node,
12+
message: '`test.only()` should not be used.'
13+
});
1114
}
1215
}
1316
});

rules/no-skip-assert.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@ module.exports = function (context) {
1111
ava.currentTestNode &&
1212
node.property.name === 'skip' &&
1313
util.nameOfRootObject(node) === 't') {
14-
context.report(node, 'No assertions should be skipped.');
14+
context.report({
15+
node: node,
16+
message: 'No assertions should be skipped.'
17+
});
1518
}
1619
}
1720
});

rules/no-skip-test.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@ module.exports = function (context) {
77
return ava.merge({
88
CallExpression: function (node) {
99
if (ava.isTestFile && ava.currentTestNode === node && ava.hasTestModifier('skip')) {
10-
context.report(node, 'No tests should be skipped.');
10+
context.report({
11+
node: node,
12+
message: 'No tests should be skipped.'
13+
});
1114
}
1215
}
1316
});

rules/no-statement-after-end.js

+21-16
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,18 @@ var createAvaRule = require('../create-ava-rule');
44
// This rule makes heavy use of eslints code path analysis
55
// See: http://eslint.org/docs/developer-guide/code-path-analysis.html
66

7+
function isEndExpression(node) {
8+
// returns true if this node represents a call to `t.end(...)`
9+
return (
10+
node.type === 'CallExpression' &&
11+
node.callee.type === 'MemberExpression' &&
12+
node.callee.object.type === 'Identifier' &&
13+
node.callee.object.name === 't' &&
14+
node.callee.property.type === 'Identifier' &&
15+
node.callee.property.name === 'end'
16+
);
17+
}
18+
719
module.exports = function (context) {
820
var ava = createAvaRule();
921
var segmentInfoMap = Object.create(null);
@@ -13,12 +25,14 @@ module.exports = function (context) {
1325
function segmentStart(segment) {
1426
// A new CodePathSegment has started, create an "info" object to track this segments state.
1527
segmentInfoStack.push(currentSegmentInfo);
28+
1629
currentSegmentInfo = {
1730
ended: false,
1831
prev: segment.prevSegments.map(function (prevSegment) {
1932
return segmentInfoMap[prevSegment.id];
2033
})
2134
};
35+
2236
segmentInfoMap[segment.id] = currentSegmentInfo;
2337
}
2438

@@ -49,7 +63,11 @@ module.exports = function (context) {
4963
// unset ended state to avoid generating lots of errors
5064
info.ended = false;
5165
});
52-
context.report(node, 'No statements following a call to t.end().');
66+
67+
context.report({
68+
node: node,
69+
message: 'No statements following a call to `t.end()`.'
70+
});
5371
}
5472
}
5573

@@ -66,27 +84,14 @@ module.exports = function (context) {
6684
ForInStatement: checkStatement,
6785
ForOfStatement: checkStatement,
6886
ReturnStatement: function (node) {
69-
// empty return statements are OK even after `t.end`, only check it if there is an argument.
87+
// empty return statements are OK even after `t.end`,
88+
// only check it if there is an argument
7089
if (node.argument) {
7190
checkStatement(node);
7291
}
7392
},
74-
7593
onCodePathSegmentStart: segmentStart,
7694
onCodePathSegmentEnd: segmentEnd,
77-
7895
CallExpression: checkForEndExpression
7996
});
8097
};
81-
82-
function isEndExpression(node) {
83-
// returns true if this node represents a call to `t.end(...)`
84-
return (
85-
node.type === 'CallExpression' &&
86-
node.callee.type === 'MemberExpression' &&
87-
node.callee.object.type === 'Identifier' &&
88-
node.callee.object.name === 't' &&
89-
node.callee.property.type === 'Identifier' &&
90-
node.callee.property.name === 'end'
91-
);
92-
}

rules/no-todo-test.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,10 @@ module.exports = function (context) {
77
return ava.merge({
88
CallExpression: function (node) {
99
if (ava.isTestFile && ava.currentTestNode === node && ava.hasTestModifier('todo')) {
10-
context.report(node, '`test.todo()` should be not be used.');
10+
context.report({
11+
node: node,
12+
message: '`test.todo()` should be not be used.'
13+
});
1114
}
1215
}
1316
});

rules/no-unknown-modifiers.js

+13-3
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,15 @@
22
var createAvaRule = require('../create-ava-rule');
33

44
var modifiers = [
5-
'after', 'afterEach', 'before', 'beforeEach',
6-
'cb', 'only', 'serial', 'skip', 'todo'
5+
'after',
6+
'afterEach',
7+
'before',
8+
'beforeEach',
9+
'cb',
10+
'only',
11+
'serial',
12+
'skip',
13+
'todo'
714
];
815

916
function getTestModifiers(node) {
@@ -37,7 +44,10 @@ module.exports = function (context) {
3744
var unknown = unknownModifiers(node);
3845

3946
if (unknown.length !== 0) {
40-
context.report(node, 'Unknown modifier `' + unknown[0] + '`');
47+
context.report({
48+
node: node,
49+
message: 'Unknown test modifier `' + unknown[0] + '`.'
50+
});
4151
}
4252
}
4353
});

rules/prefer-power-assert.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,6 @@ function isCalleeMatched(callee, methodName) {
5656
deepStrictEqual(callee, skippedAssertionCalleeAst(methodName));
5757
}
5858

59-
/* eslint quote-props: [2, "as-needed"] */
6059
module.exports = function (context) {
6160
var ava = createAvaRule();
6261

@@ -71,7 +70,10 @@ module.exports = function (context) {
7170
if (callee.type === 'MemberExpression') {
7271
notAllowed.forEach(function (methodName) {
7372
if (isCalleeMatched(callee, methodName)) {
74-
context.report(node, 'Only asserts with no power-assert alternative are allowed.');
73+
context.report({
74+
node: node,
75+
message: 'Only asserts with no power-assert alternative are allowed.'
76+
});
7577
}
7678
});
7779
}

rules/test-ended.js

+5-3
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
'use strict';
22
var createAvaRule = require('../create-ava-rule');
33

4-
/* eslint quote-props: [2, "as-needed"] */
54
module.exports = function (context) {
65
var ava = createAvaRule();
76
var endCalled = false;
87

98
return ava.merge({
10-
MemberExpression: function (node) {
9+
'MemberExpression': function (node) {
1110
if (!ava.isTestFile || !ava.currentTestNode || !ava.hasTestModifier('cb')) {
1211
return;
1312
}
@@ -26,7 +25,10 @@ module.exports = function (context) {
2625
if (endCalled) {
2726
endCalled = false;
2827
} else {
29-
context.report(node, 'Callback test was not ended. Make sure to explicitly end the test with `t.end()`.');
28+
context.report({
29+
node: node,
30+
message: 'Callback test was not ended. Make sure to explicitly end the test with `t.end()`.'
31+
});
3032
}
3133
}
3234
}

0 commit comments

Comments
 (0)