• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1'use strict';
2
3const common = require('../common');
4if ((!common.hasCrypto) || (!common.hasIntl)) {
5  common.skip('ESLint tests require crypto and Intl');
6}
7
8common.skipIfEslintMissing();
9
10const RuleTester = require('../../tools/node_modules/eslint').RuleTester;
11const rule = require('../../tools/eslint-rules/prefer-assert-methods');
12
13new RuleTester().run('prefer-assert-methods', rule, {
14  valid: [
15    'assert.strictEqual(foo, bar);',
16    'assert(foo === bar && baz);',
17    'assert.notStrictEqual(foo, bar);',
18    'assert(foo !== bar && baz);',
19    'assert.equal(foo, bar);',
20    'assert(foo == bar && baz);',
21    'assert.notEqual(foo, bar);',
22    'assert(foo != bar && baz);',
23    'assert.ok(foo);',
24    'assert.ok(foo != bar);',
25    'assert.ok(foo === bar && baz);',
26  ],
27  invalid: [
28    {
29      code: 'assert(foo == bar);',
30      errors: [{
31        message: "'assert.equal' should be used instead of '=='"
32      }],
33      output: 'assert.equal(foo, bar);'
34    },
35    {
36      code: 'assert(foo === bar);',
37      errors: [{
38        message: "'assert.strictEqual' should be used instead of '==='"
39      }],
40      output: 'assert.strictEqual(foo, bar);'
41    },
42    {
43      code: 'assert(foo != bar);',
44      errors: [{
45        message: "'assert.notEqual' should be used instead of '!='"
46      }],
47      output: 'assert.notEqual(foo, bar);'
48    },
49    {
50      code: 'assert(foo !== bar);',
51      errors: [{
52        message: "'assert.notStrictEqual' should be used instead of '!=='"
53      }],
54      output: 'assert.notStrictEqual(foo, bar);'
55    },
56  ]
57});
58