1'use strict'; 2 3const common = require('../common'); 4if (!common.hasCrypto) 5 common.skip('missing crypto'); 6 7common.skipIfEslintMissing(); 8 9const RuleTester = require('../../tools/node_modules/eslint').RuleTester; 10const rule = require('../../tools/eslint-rules/required-modules'); 11 12new RuleTester().run('required-modules', rule, { 13 valid: [ 14 { 15 code: 'require("common")', 16 options: [{ common: 'common' }] 17 }, 18 { 19 code: 'foo', 20 options: [] 21 }, 22 { 23 code: 'require("common")', 24 options: [{ common: 'common(/index\\.(m)?js)?$' }] 25 }, 26 { 27 code: 'require("common/index.js")', 28 options: [{ common: 'common(/index\\.(m)?js)?$' }] 29 }, 30 ], 31 invalid: [ 32 { 33 code: 'foo', 34 options: [{ common: 'common' }], 35 errors: [{ message: 'Mandatory module "common" must be loaded.' }] 36 }, 37 { 38 code: 'require("common/fixtures.js")', 39 options: [{ common: 'common(/index\\.(m)?js)?$' }], 40 errors: [{ 41 message: 42 'Mandatory module "common" must be loaded.' 43 }] 44 }, 45 { 46 code: 'require("somethingElse")', 47 options: [{ common: 'common' }], 48 errors: [{ message: 'Mandatory module "common" must be loaded.' }] 49 }, 50 ] 51}); 52