Skip to content

Commit

Permalink
Report AssignmentExpression as the node
Browse files Browse the repository at this point in the history
  • Loading branch information
mdjermanovic committed Oct 21, 2019
1 parent 06f74b1 commit 6d56878
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 23 deletions.
6 changes: 2 additions & 4 deletions lib/rules/no-cond-assign.js
Expand Up @@ -105,8 +105,7 @@ module.exports = {
) {

context.report({
node,
loc: node.test.loc,
node: node.test,
messageId: "missing"
});
}
Expand All @@ -122,8 +121,7 @@ module.exports = {

if (ancestor) {
context.report({
node: ancestor,
loc: node.loc,
node,
messageId: "unexpected",
data: {
type: NODE_DESCRIPTIONS[ancestor.type] || ancestor.type
Expand Down
38 changes: 19 additions & 19 deletions tests/lib/rules/no-cond-assign.js
Expand Up @@ -44,24 +44,24 @@ ruleTester.run("no-cond-assign", rule, {
"var x; var b = (x === 0) ? 1 : 0;"
],
invalid: [
{ code: "var x; if (x = 0) { var b = 1; }", errors: [{ messageId: "missing", type: "IfStatement", line: 1, column: 12, endLine: 1, endColumn: 17 }] },
{ code: "var x; while (x = 0) { var b = 1; }", errors: [{ messageId: "missing", type: "WhileStatement" }] },
{ code: "var x = 0, y; do { y = x; } while (x = x + 1);", errors: [{ messageId: "missing", type: "DoWhileStatement" }] },
{ code: "var x; for(; x+=1 ;){};", errors: [{ messageId: "missing", type: "ForStatement" }] },
{ code: "var x; if ((x) = (0));", errors: [{ messageId: "missing", type: "IfStatement" }] },
{ code: "if (someNode || (someNode = parentNode)) { }", options: ["always"], errors: [{ messageId: "unexpected", data: { type: "an 'if' statement" }, type: "IfStatement", column: 18, endColumn: 39 }] },
{ code: "while (someNode || (someNode = parentNode)) { }", options: ["always"], errors: [{ messageId: "unexpected", data: { type: "a 'while' statement" }, type: "WhileStatement" }] },
{ code: "do { } while (someNode || (someNode = parentNode));", options: ["always"], errors: [{ messageId: "unexpected", data: { type: "a 'do...while' statement" }, type: "DoWhileStatement" }] },
{ code: "for (; (typeof l === 'undefined' ? (l = 0) : l); i++) { }", options: ["always"], errors: [{ messageId: "unexpected", data: { type: "a 'for' statement" }, type: "ForStatement" }] },
{ code: "if (x = 0) { }", options: ["always"], errors: [{ messageId: "unexpected", data: { type: "an 'if' statement" }, type: "IfStatement" }] },
{ code: "while (x = 0) { }", options: ["always"], errors: [{ messageId: "unexpected", data: { type: "a 'while' statement" }, type: "WhileStatement" }] },
{ code: "do { } while (x = x + 1);", options: ["always"], errors: [{ messageId: "unexpected", data: { type: "a 'do...while' statement" }, type: "DoWhileStatement" }] },
{ code: "for(; x = y; ) { }", options: ["always"], errors: [{ messageId: "unexpected", data: { type: "a 'for' statement" }, type: "ForStatement" }] },
{ code: "if ((x = 0)) { }", options: ["always"], errors: [{ messageId: "unexpected", data: { type: "an 'if' statement" }, type: "IfStatement" }] },
{ code: "while ((x = 0)) { }", options: ["always"], errors: [{ messageId: "unexpected", data: { type: "a 'while' statement" }, type: "WhileStatement" }] },
{ code: "do { } while ((x = x + 1));", options: ["always"], errors: [{ messageId: "unexpected", data: { type: "a 'do...while' statement" }, type: "DoWhileStatement" }] },
{ code: "for(; (x = y); ) { }", options: ["always"], errors: [{ messageId: "unexpected", data: { type: "a 'for' statement" }, type: "ForStatement" }] },
{ code: "var x; var b = (x = 0) ? 1 : 0;", errors: [{ messageId: "missing", type: "ConditionalExpression" }] },
{ code: "(((3496.29)).bkufyydt = 2e308) ? foo : bar;", errors: [{ messageId: "missing", type: "ConditionalExpression" }] }
{ code: "var x; if (x = 0) { var b = 1; }", errors: [{ messageId: "missing", type: "AssignmentExpression", line: 1, column: 12, endLine: 1, endColumn: 17 }] },
{ code: "var x; while (x = 0) { var b = 1; }", errors: [{ messageId: "missing", type: "AssignmentExpression" }] },
{ code: "var x = 0, y; do { y = x; } while (x = x + 1);", errors: [{ messageId: "missing", type: "AssignmentExpression" }] },
{ code: "var x; for(; x+=1 ;){};", errors: [{ messageId: "missing", type: "AssignmentExpression" }] },
{ code: "var x; if ((x) = (0));", errors: [{ messageId: "missing", type: "AssignmentExpression" }] },
{ code: "if (someNode || (someNode = parentNode)) { }", options: ["always"], errors: [{ messageId: "unexpected", data: { type: "an 'if' statement" }, type: "AssignmentExpression", column: 18, endColumn: 39 }] },
{ code: "while (someNode || (someNode = parentNode)) { }", options: ["always"], errors: [{ messageId: "unexpected", data: { type: "a 'while' statement" }, type: "AssignmentExpression" }] },
{ code: "do { } while (someNode || (someNode = parentNode));", options: ["always"], errors: [{ messageId: "unexpected", data: { type: "a 'do...while' statement" }, type: "AssignmentExpression" }] },
{ code: "for (; (typeof l === 'undefined' ? (l = 0) : l); i++) { }", options: ["always"], errors: [{ messageId: "unexpected", data: { type: "a 'for' statement" }, type: "AssignmentExpression" }] },
{ code: "if (x = 0) { }", options: ["always"], errors: [{ messageId: "unexpected", data: { type: "an 'if' statement" }, type: "AssignmentExpression" }] },
{ code: "while (x = 0) { }", options: ["always"], errors: [{ messageId: "unexpected", data: { type: "a 'while' statement" }, type: "AssignmentExpression" }] },
{ code: "do { } while (x = x + 1);", options: ["always"], errors: [{ messageId: "unexpected", data: { type: "a 'do...while' statement" }, type: "AssignmentExpression" }] },
{ code: "for(; x = y; ) { }", options: ["always"], errors: [{ messageId: "unexpected", data: { type: "a 'for' statement" }, type: "AssignmentExpression" }] },
{ code: "if ((x = 0)) { }", options: ["always"], errors: [{ messageId: "unexpected", data: { type: "an 'if' statement" }, type: "AssignmentExpression" }] },
{ code: "while ((x = 0)) { }", options: ["always"], errors: [{ messageId: "unexpected", data: { type: "a 'while' statement" }, type: "AssignmentExpression" }] },
{ code: "do { } while ((x = x + 1));", options: ["always"], errors: [{ messageId: "unexpected", data: { type: "a 'do...while' statement" }, type: "AssignmentExpression" }] },
{ code: "for(; (x = y); ) { }", options: ["always"], errors: [{ messageId: "unexpected", data: { type: "a 'for' statement" }, type: "AssignmentExpression" }] },
{ code: "var x; var b = (x = 0) ? 1 : 0;", errors: [{ messageId: "missing", type: "AssignmentExpression" }] },
{ code: "(((3496.29)).bkufyydt = 2e308) ? foo : bar;", errors: [{ messageId: "missing", type: "AssignmentExpression" }] }
]
});

0 comments on commit 6d56878

Please sign in to comment.