Skip to content

Commit

Permalink
Fix: key-spacing not enforcing no-space in minimum mode (fixes #5008)
Browse files Browse the repository at this point in the history
  • Loading branch information
BYK committed Feb 11, 2016
1 parent 9395940 commit 7b12995
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 4 deletions.
5 changes: 4 additions & 1 deletion lib/rules/key-spacing.js
Expand Up @@ -203,7 +203,10 @@ module.exports = function(context) {
firstTokenAfterColon = context.getTokenAfter(getNextColon(key)),
location = side === "key" ? key.loc.start : firstTokenAfterColon.loc.start;

if ((diff && mode === "strict" || diff < 0 && mode === "minimum") &&
if ((
diff && mode === "strict" ||
diff < 0 && mode === "minimum" ||
diff > 0 && !expected && mode === "minimum") &&
!(expected && containsLineTerminator(whitespace))
) {
context.report(property[side], location, messages[side], {
Expand Down
22 changes: 19 additions & 3 deletions tests/lib/rules/key-spacing.js
Expand Up @@ -152,16 +152,15 @@ ruleTester.run("key-spacing", rule, {
}, {
code: [
"obj = { key ",
" : ",
" longName };"
" :longName };"
].join("\n"),
options: [{
beforeColon: true,
afterColon: false,
mode: "minimum"
}]
}, {
code: "obj = { key : longName };",
code: "obj = { key :longName };",
options: [{
beforeColon: true,
afterColon: false,
Expand Down Expand Up @@ -984,6 +983,23 @@ ruleTester.run("key-spacing", rule, {
errors: [
{ message: "Missing space before value for key 'ex'.", line: 4, column: 7, type: "Identifier" }
]
}, {
code: [
"obj = {",
" get fx() { return 'f'; },",
" get gx() { return 'g'; },",
" ex : e",
"};"
].join("\n"),
options: [{
align: "colon",
beforeColon: false,
afterColon: true,
mode: "minimum"
}],
errors: [
{ message: "Extra space after key 'ex'.", line: 4, column: 4, type: "Identifier" }
]
}, {
code: [
"({",
Expand Down

0 comments on commit 7b12995

Please sign in to comment.