1'use strict'; 2 3const common = require('../common'); 4if (!common.hasCrypto) 5 common.skip('missing crypto'); 6if (!common.hasIntl) 7 common.skip('missing Intl'); 8common.skipIfEslintMissing(); 9 10const RuleTester = require('../../tools/node_modules/eslint').RuleTester; 11const rule = require('../../tools/eslint-rules/documented-deprecation-codes'); 12 13const mdFile = 'doc/api/deprecations.md'; 14 15const invalidCode = 'UNDOCUMENTED INVALID CODE'; 16 17new RuleTester().run('documented-deprecation-codes', rule, { 18 valid: [ 19 ` 20 deprecate(function() { 21 return this.getHeaders(); 22 }, 'OutgoingMessage.prototype._headers is deprecated', 'DEP0066') 23 `, 24 ], 25 invalid: [ 26 { 27 code: ` 28 deprecate(function foo(){}, 'bar', '${invalidCode}'); 29 `, 30 errors: [ 31 { 32 message: `"${invalidCode}" does not match the expected pattern`, 33 line: 2 34 }, 35 { 36 message: `"${invalidCode}" is not documented in ${mdFile}`, 37 line: 2 38 }, 39 ] 40 }, 41 ] 42}); 43