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-iferror'); 12 13new RuleTester().run('prefer-assert-iferror', rule, { 14 valid: [ 15 'assert.ifError(err);', 16 'if (err) throw somethingElse;', 17 'throw err;', 18 'if (err) { throw somethingElse; }', 19 ], 20 invalid: [ 21 { 22 code: 'require("assert");\n' + 23 'if (err) throw err;', 24 errors: [{ message: 'Use assert.ifError(err) instead.' }], 25 output: 'require("assert");\n' + 26 'assert.ifError(err);' 27 }, 28 { 29 code: 'require("assert");\n' + 30 'if (error) { throw error; }', 31 errors: [{ message: 'Use assert.ifError(error) instead.' }], 32 output: 'require("assert");\n' + 33 'assert.ifError(error);' 34 }, 35 ] 36}); 37