Add test for no-primitive-constructors rule

This commit is contained in:
Andrew Clark 2017-02-28 16:17:20 -08:00
parent 2f63b0d6c9
commit 7d5cc2eee3
2 changed files with 51 additions and 1 deletions

View File

@ -0,0 +1,50 @@
/**
* Copyright 2015-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @emails react-core
*/
'use strict';
var rule = require('../no-primitive-constructors');
var RuleTester = require('eslint').RuleTester;
var ruleTester = new RuleTester();
ruleTester.run('eslint-rules/no-primitive-constructors', rule, {
valid: [
'!!obj',
"'' + obj",
'+string',
],
invalid: [
{
code: 'Boolean(obj)',
errors: [
{
message: 'Do not use the Boolean constructor. To cast a value to a boolean, use double negation: !!value',
},
],
},
{
code: 'String(obj)',
errors: [
{
message: 'Do not use the String constructor. To cast a value to a string, concat it with the empty string (unless it\'s a symbol, which has different semantics): \'\' + value',
},
],
},
{
code: 'Number(string)',
errors: [
{
message: 'Do not use the Number constructor. To cast a value to a number, use the plus operator: +value',
},
],
},
],
});

View File

@ -31,7 +31,7 @@ module.exports = function(context) {
node,
name,
'To cast a value to a string, concat it with the empty string ' +
'(unless it\'s a symbol, which have different semantics): ' +
'(unless it\'s a symbol, which has different semantics): ' +
'\'\' + value'
);
break;