/*** Copyright (c) Meta Platforms, Inc. and affiliates.** This source code is licensed under the MIT license found in the* LICENSE file in the root directory of this source tree.** @emails react-core*/'use strict';
const rule = require('../prod-error-codes');
const {RuleTester} = require('eslint');
const ruleTester = new RuleTester({
parserOptions: {ecmaVersion: 2017,
},});ruleTester.run('eslint-rules/prod-error-codes', rule, {
valid: ['arbitraryFunction(a, b)',
'Error(`Expected ${foo} target to be an array; got ${bar}`)',
"Error('Expected ' + foo + ' target to be an array; got ' + bar)",
'Error(`Expected ${foo} target to ` + `be an array; got ${bar}`)',
],invalid: [{code: "Error('Not in error map')",
errors: [{message:'Error message does not have a corresponding production error ' +
'code. Add the following message to codes.json so it can be stripped from ' +
'the production builds:\n\n' +
'Not in error map',
},],},{code: "Error('Not in ' + 'error map')",
errors: [{message:'Error message does not have a corresponding production error ' +
'code. Add the following message to codes.json so it can be stripped from ' +
'the production builds:\n\n' +
'Not in error map',
},],},{code: 'Error(`Not in ` + `error map`)',
errors: [{message:'Error message does not have a corresponding production error ' +
'code. Add the following message to codes.json so it can be stripped from ' +
'the production builds:\n\n' +
'Not in error map',
},],},{code: "Error(`Not in ${'error'} map`)",
errors: [{message:'Error message does not have a corresponding production error ' +
'code. Add the following message to codes.json so it can be stripped from ' +
'the production builds:\n\n' +
'Not in %s map',
},],},],});