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