diff --git a/docs/rules/no-magic-numbers.md b/docs/rules/no-magic-numbers.md index ca5b6a9fd5b..9668e1fc822 100644 --- a/docs/rules/no-magic-numbers.md +++ b/docs/rules/no-magic-numbers.md @@ -37,7 +37,7 @@ var dutyFreePrice = 100, ### ignore -An array of numbers to ignore. It's set to `[0, 1, 2]` by default. +An array of numbers to ignore. It's set to `[]` by default. If provided, it must be an `Array`. ### enforceConst diff --git a/lib/rules/no-magic-numbers.js b/lib/rules/no-magic-numbers.js index a88b08747f5..03877fe8102 100644 --- a/lib/rules/no-magic-numbers.js +++ b/lib/rules/no-magic-numbers.js @@ -37,7 +37,7 @@ module.exports = function(context) { var config = context.options[0] || {}, - ignore = config.ignore || [0, 1, 2], + ignore = config.ignore || [], detectObjects = !!config.detectObjects, enforceConst = !!config.enforceConst; diff --git a/tests/lib/rules/no-magic-numbers.js b/tests/lib/rules/no-magic-numbers.js index 389967e7fef..540e0b325be 100644 --- a/tests/lib/rules/no-magic-numbers.js +++ b/tests/lib/rules/no-magic-numbers.js @@ -44,12 +44,6 @@ ruleTester.run("no-magic-numbers", rule, { { code: "var foo = -42;" }, - { - code: "var foo = 0 + 1 + 2;" - }, - { - code: "var foo = 0 + 1 - 2;" - }, { code: "var foo = 0 + 1 - 2 + -2;", options: [{ @@ -69,7 +63,10 @@ ruleTester.run("no-magic-numbers", rule, { code: "var foo = { bar:10 }" }, { - code: "setTimeout(function() {return 1;}, 0);" + code: "setTimeout(function() {return 1;}, 0);", + options: [{ + ignore: [0, 1] + }] } ], invalid: [ @@ -84,9 +81,19 @@ ruleTester.run("no-magic-numbers", rule, { }] }, { - code: "var foo = 0 + 1 - 2 + -2;", + code: "var foo = 0 + 1;", + errors: [ + { message: "No magic number: 0"}, + { message: "No magic number: 1"} + ] + }, + { + code: "var foo = 0 + 1 + -2 + 2;", errors: [ - { message: "No magic number: -2"} + { message: "No magic number: 0"}, + { message: "No magic number: 1"}, + { message: "No magic number: -2"}, + { message: "No magic number: 2"} ] }, { @@ -110,6 +117,7 @@ ruleTester.run("no-magic-numbers", rule, { code: "console.log(0x1A + 0x02); console.log(071);", errors: [ { message: "No magic number: 0x1A"}, + { message: "No magic number: 0x02"}, { message: "No magic number: 071"} ] }, { @@ -169,6 +177,7 @@ ruleTester.run("no-magic-numbers", rule, { { message: "No magic number: 10", line: 7}, { message: "No magic number: 24", line: 11}, { message: "No magic number: 1000", line: 15}, + { message: "No magic number: 0", line: 19}, { message: "No magic number: 10", line: 22} ] }