11cb0ef41Sopenharmony_ci'use strict';
21cb0ef41Sopenharmony_ci
31cb0ef41Sopenharmony_ciconst common = require('../common');
41cb0ef41Sopenharmony_ciif ((!common.hasCrypto) || (!common.hasIntl)) {
51cb0ef41Sopenharmony_ci  common.skip('ESLint tests require crypto and Intl');
61cb0ef41Sopenharmony_ci}
71cb0ef41Sopenharmony_ci
81cb0ef41Sopenharmony_cicommon.skipIfEslintMissing();
91cb0ef41Sopenharmony_ci
101cb0ef41Sopenharmony_ciconst RuleTester = require('../../tools/node_modules/eslint').RuleTester;
111cb0ef41Sopenharmony_ciconst rule = require('../../tools/eslint-rules/prefer-common-mustnotcall');
121cb0ef41Sopenharmony_ci
131cb0ef41Sopenharmony_ciconst message = 'Please use common.mustNotCall(msg) instead of ' +
141cb0ef41Sopenharmony_ci                'common.mustCall(fn, 0) or common.mustCall(0).';
151cb0ef41Sopenharmony_ci
161cb0ef41Sopenharmony_cinew RuleTester().run('prefer-common-mustnotcall', rule, {
171cb0ef41Sopenharmony_ci  valid: [
181cb0ef41Sopenharmony_ci    'common.mustNotCall(fn)',
191cb0ef41Sopenharmony_ci    'common.mustCall(fn)',
201cb0ef41Sopenharmony_ci    'common.mustCall(fn, 1)',
211cb0ef41Sopenharmony_ci  ],
221cb0ef41Sopenharmony_ci  invalid: [
231cb0ef41Sopenharmony_ci    {
241cb0ef41Sopenharmony_ci      code: 'common.mustCall(fn, 0)',
251cb0ef41Sopenharmony_ci      errors: [{ message }]
261cb0ef41Sopenharmony_ci    },
271cb0ef41Sopenharmony_ci    {
281cb0ef41Sopenharmony_ci      code: 'common.mustCall(0)',
291cb0ef41Sopenharmony_ci      errors: [{ message }]
301cb0ef41Sopenharmony_ci    },
311cb0ef41Sopenharmony_ci  ]
321cb0ef41Sopenharmony_ci});
33