Skip to content

Commit

Permalink
Chore: Add eslint-plugin-eslint-plugin devDependency (fixes #85)
Browse files Browse the repository at this point in the history
  • Loading branch information
platinumazure committed May 11, 2020
1 parent da223d1 commit 5dec4fc
Show file tree
Hide file tree
Showing 9 changed files with 63 additions and 75 deletions.
18 changes: 15 additions & 3 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
"extends": ["plugin:node/recommended"],
"extends": ["plugin:node/recommended", "plugin:eslint-plugin/recommended"],

"env": {
"node": true
},

"plugins": ["node"],
"plugins": ["node", "eslint-plugin"],

"rules": {
"array-bracket-spacing": ["error", "never"],
Expand Down Expand Up @@ -155,6 +155,18 @@
}],
"valid-typeof": "error",
"wrap-iife": "error",
"yoda": ["error", "never"]
"yoda": ["error", "never"],

"eslint-plugin/consistent-output": "error",
"eslint-plugin/meta-property-ordering": ["error", [
"type", "docs", "fixable", "messages", "schema", "deprecated", "replacedBy"
]],
"eslint-plugin/no-deprecated-context-methods": "error",
"eslint-plugin/prefer-output-null": "error",
"eslint-plugin/prefer-placeholders": "error",
"eslint-plugin/report-message-format": ["error", "^[A-Z].*\\.$"],
"eslint-plugin/require-meta-schema": "error",
"eslint-plugin/test-case-property-ordering": "error",
"eslint-plugin/test-case-shorthand-strings": "error"
}
}
2 changes: 1 addition & 1 deletion lib/rules/literal-compare-order.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ module.exports = {
} else /* istanbul ignore next: no assertions compare expected first */ if (!compareActualFirst && args[0].type !== "Literal" && args[1].type === "Literal") {
context.report({
node: args[0],
message: "expectedFirst",
messageId: "expectedFirst",
data: {
expected: sourceCode.getText(args[0]),
actual: sourceCode.getText(args[1])
Expand Down
2 changes: 1 addition & 1 deletion lib/rules/no-assert-logical-expression.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@ module.exports = {
category: "Best Practices",
recommended: false
},
fixable: null,
messages: {
noLogicalOperator: "Do not use '{{operator}}' in assertion arguments."
},
fixable: null,
schema: []
},

Expand Down
2 changes: 1 addition & 1 deletion lib/rules/no-compare-relation-boolean.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ module.exports = {
category: "Best Practices"
},
messages: {
redundantComparison: "Redundant comparison of relational expression to boolean literal"
redundantComparison: "Redundant comparison of relational expression to boolean literal."
},
schema: []
},
Expand Down
6 changes: 6 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
"chai": "^4.2.0",
"coveralls": "^3.0.8",
"eslint": "^5.16.0",
"eslint-plugin-eslint-plugin": "^2.2.1",
"eslint-plugin-node": "^7.0.1",
"mocha": "^5.2.0",
"mocha-lcov-reporter": "^1.3.0",
Expand Down
23 changes: 0 additions & 23 deletions tests/lib/rules/no-async-in-loops.js
Original file line number Diff line number Diff line change
Expand Up @@ -564,29 +564,6 @@ ruleTester.run("no-async-in-loops", rule, {
type: "CallExpression"
}]
},
{
code: "test('name', function (assert) { for (i in x) assert.async(); });",
errors: [{
messageId: "unexpectedAsyncInLoop",
data: {
call: "assert.async()",
loopTypeText: "for-in loop"
},
type: "CallExpression"
}]
},
{
code: "test('name', function (assert) { for (i of x) assert.async(); });",
parserOptions: { ecmaVersion: 6 },
errors: [{
messageId: "unexpectedAsyncInLoop",
data: {
call: "assert.async()",
loopTypeText: "for-of loop"
},
type: "CallExpression"
}]
},
{
code: "test('name', function (assert) { for (i of x) assert.async(); });",
parserOptions: { ecmaVersion: 6 },
Expand Down
76 changes: 38 additions & 38 deletions tests/lib/rules/require-expect.js
Original file line number Diff line number Diff line change
Expand Up @@ -132,102 +132,102 @@ ruleTester.run("require-expect", rule, {
// default - make sure expect is identified correctly
{
code: "test('name', function(assert) { other.assert.expect(0) });",
errors: [alwaysErrorMessage("assert.expect")],
options: []
options: [],
errors: [alwaysErrorMessage("assert.expect")]
},

// assert in loop block
{
code: "test('name', function(assert) { while (false) { assert.ok(true) } });",
errors: [exceptSimpleErrorMessage("assert.expect")],
options: ["except-simple"]
options: ["except-simple"],
errors: [exceptSimpleErrorMessage("assert.expect")]
},

// global assertion in loop block
{
code: "test('name', function() { for (;;) { ok(true) } });",
errors: [exceptSimpleErrorMessage("expect")],
options: ["except-simple"]
options: ["except-simple"],
errors: [exceptSimpleErrorMessage("expect")]
},

// assert used in callback
{
code: "test('name', function(assert) { maybe(function() { assert.ok(true) }); });",
errors: [exceptSimpleErrorMessage("assert.expect")],
options: ["except-simple"]
options: ["except-simple"],
errors: [exceptSimpleErrorMessage("assert.expect")]
},
{
code: "test('name', function(assert) { maybe(() => { assert.ok(true) }); });",
errors: [exceptSimpleErrorMessage("assert.expect")],
options: ["except-simple"]
options: ["except-simple"],
errors: [exceptSimpleErrorMessage("assert.expect")]
},
{
code: "test('name', function(assert) { maybe(() => assert.ok(true)); });",
errors: [exceptSimpleErrorMessage("assert.expect")],
options: ["except-simple"]
options: ["except-simple"],
errors: [exceptSimpleErrorMessage("assert.expect")]
},

// global assertion used in callback
{
code: "test('name', function(assert) { maybe(function() { ok(true) }); });",
errors: [exceptSimpleErrorMessage("assert.expect")],
options: ["except-simple"]
options: ["except-simple"],
errors: [exceptSimpleErrorMessage("assert.expect")]
},

// assert in function expression
{
code: "test('name', function(assert) { var maybe = function() { assert.ok(true) }; });",
errors: [exceptSimpleErrorMessage("assert.expect")],
options: ["except-simple"]
options: ["except-simple"],
errors: [exceptSimpleErrorMessage("assert.expect")]
},

// global assertion in function expression
{
code: "test('name', function() { var maybe = function() { ok(true) }; });",
errors: [exceptSimpleErrorMessage("expect")],
options: ["except-simple"]
options: ["except-simple"],
errors: [exceptSimpleErrorMessage("expect")]
},

// `expect` does not count when used inside of a block.
{
code: "test('name', function(assert) { function name() { assert.expect(1); assert.ok(true) } });",
errors: [exceptSimpleErrorMessage("assert.expect")],
options: ["except-simple"]
options: ["except-simple"],
errors: [exceptSimpleErrorMessage("assert.expect")]
},

// global `expect` does not count when used inside of a block.
{
code: "test('name', function() { function name() { expect(1); ok(true) } });",
errors: [exceptSimpleErrorMessage("expect")],
options: ["except-simple"]
options: ["except-simple"],
errors: [exceptSimpleErrorMessage("expect")]
},

// `expect` does not count when used inside of a callback
{
code: "test('name', function(assert) { maybe(function() { assert.expect(1); assert.ok(true) }); });",
errors: [exceptSimpleErrorMessage("assert.expect")],
options: ["except-simple"]
options: ["except-simple"],
errors: [exceptSimpleErrorMessage("assert.expect")]
},

// global `expect` does not count when used inside of a callback
{
code: "test('name', function() { maybe(function() { expect(1); ok(true) }); });",
errors: [exceptSimpleErrorMessage("expect")],
options: ["except-simple"]
options: ["except-simple"],
errors: [exceptSimpleErrorMessage("expect")]
},

// assert in outer test context and nested in a block
{
code: "test('name', function(assert) { assert.ok(true); if (true) { assert.ok(true); } });",
errors: [exceptSimpleErrorMessage("assert.expect")],
options: ["except-simple"]
options: ["except-simple"],
errors: [exceptSimpleErrorMessage("assert.expect")]
},

// Deeply nested
{
code: "test('name', function() { if (true) { if (true) { ok(true); } } });",
errors: [exceptSimpleErrorMessage("expect")],
options: ["except-simple"]
options: ["except-simple"],
errors: [exceptSimpleErrorMessage("expect")]
},

// Sending assert to a function
Expand All @@ -236,8 +236,8 @@ ruleTester.run("require-expect", rule, {
"function myAssertion(a, assert, c) { assert.ok(true); }",
"test('name', function(assert) { myAssertion(null, assert, null); });"
].join(returnAndIndent),
errors: [exceptSimpleErrorMessage("assert.expect")],
options: ["except-simple"]
options: ["except-simple"],
errors: [exceptSimpleErrorMessage("assert.expect")]
},

// Sending assert to a function - renaming assert
Expand All @@ -246,8 +246,8 @@ ruleTester.run("require-expect", rule, {
"function myAssertion(a, localAssert, c) { localAssert.ok(true); }",
"test('name', function(myAssert) { myAssertion(null, myAssert, null); });"
].join(returnAndIndent),
errors: [exceptSimpleErrorMessage("myAssert.expect")],
options: ["except-simple"]
options: ["except-simple"],
errors: [exceptSimpleErrorMessage("myAssert.expect")]
},

// nested modules
Expand All @@ -268,15 +268,15 @@ ruleTester.run("require-expect", rule, {
" });",
"});"
].join(returnAndIndent),
errors: [Object.assign(exceptSimpleErrorMessage("assert.expect"), { line: 2 })],
options: ["except-simple"]
options: ["except-simple"],
errors: [Object.assign(exceptSimpleErrorMessage("assert.expect"), { line: 2 })]
},

// Multiple assert statements only report one error per test
{
code: "test('name', function(assert) { maybe(function() { assert.ok(true); assert.ok(true); }) });",
errors: [Object.assign(exceptSimpleErrorMessage("assert.expect"), { column: 1 })],
options: ["except-simple"]
options: ["except-simple"],
errors: [Object.assign(exceptSimpleErrorMessage("assert.expect"), { column: 1 })]
},

// "always" configration - simple case
Expand Down
8 changes: 0 additions & 8 deletions tests/lib/rules/resolve-async.js
Original file line number Diff line number Diff line change
Expand Up @@ -166,18 +166,10 @@ ruleTester.run("resolve-async", rule, {
code: "QUnit.test('name', function () { stop(); });",
errors: [createNeedStartCallsMessage("CallExpression")]
},
{
code: "asyncTest('name', function () {});",
errors: [createNeedStartCallsMessage("CallExpression")]
},
{
code: "test('name', function () { QUnit.stop(); });",
errors: [createNeedStartCallsMessage("CallExpression")]
},
{
code: "QUnit.asyncTest('name', function () {});",
errors: [createNeedStartCallsMessage("CallExpression")]
},
{
code: "QUnit.test('name', function () { QUnit.stop(); });",
errors: [createNeedStartCallsMessage("CallExpression")]
Expand Down

0 comments on commit 5dec4fc

Please sign in to comment.