mirror of https://github.com/lukechilds/node.git
Browse Source
Introduce a lint rule that enforces use of `assert.deepStrictEqual()` over `assert.deepEqual()`. PR-URL: https://github.com/nodejs/node/pull/6213 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>process-exit-stdio-flushing
Rich Trott
9 years ago
2 changed files with 34 additions and 1 deletions
@ -0,0 +1,32 @@ |
|||
/** |
|||
* @fileoverview Prohibit use of assert.deepEqual() |
|||
* @author Rich Trott |
|||
* |
|||
* This rule is imperfect, but will find the most common forms of |
|||
* assert.deepEqual() usage. |
|||
*/ |
|||
'use strict'; |
|||
|
|||
//------------------------------------------------------------------------------
|
|||
// Rule Definition
|
|||
//------------------------------------------------------------------------------
|
|||
|
|||
const msg = 'assert.deepEqual() disallowed. Use assert.deepStrictEqual()'; |
|||
|
|||
function isAssert(node) { |
|||
return node.callee.object && node.callee.object.name === 'assert'; |
|||
} |
|||
|
|||
function isDeepEqual(node) { |
|||
return node.callee.property && node.callee.property.name === 'deepEqual'; |
|||
} |
|||
|
|||
module.exports = function(context) { |
|||
return { |
|||
'CallExpression': function(node) { |
|||
if (isAssert(node) && isDeepEqual(node)) { |
|||
context.report(node, msg); |
|||
} |
|||
} |
|||
}; |
|||
}; |
Loading…
Reference in new issue