diff --git a/test/prefer-trim-start-end.js b/test/prefer-trim-start-end.js index 8099f2790f..10023ef9aa 100644 --- a/test/prefer-trim-start-end.js +++ b/test/prefer-trim-start-end.js @@ -4,98 +4,48 @@ import {outdent} from 'outdent'; import visualizeRuleTester from './utils/visualize-rule-tester'; import rule from '../rules/prefer-trim-start-end'; -const ruleTester = avaRuleTester(test, { - env: { - es6: true - } -}); - -const errorTrimLeft = { - messageId: 'trimLeft' -}; - -const errorTrimRight = { - messageId: 'trimRight' -}; - -ruleTester.run('prefer-trim-start-end', rule, { - valid: [ - 'foo.trimStart()', - 'foo.trimEnd()', - // Not `CallExpression` - 'new foo.trimLeft();', - // Not `MemberExpression` - 'trimLeft();', - // `callee.property` is not a `Identifier` - 'foo[\'trimLeft\']();', - // Computed - 'foo[trimLeft]();', - // Not `trimLeft`/`trimRight` - 'foo.bar();', - // More argument(s) - 'foo.trimLeft(extra);', - 'foo.trimLeft(...argumentsArray)', - // `trimLeft` is in argument - 'foo.bar(trimLeft)', - 'foo.bar(foo.trimLeft)', - // `trimLeft` is in `MemberExpression.object` - 'trimLeft.foo()', - 'foo.trimLeft.bar()' - ], - invalid: [ - { - code: 'foo.trimLeft()', - output: 'foo.trimStart()', - errors: [errorTrimLeft] - }, - { - code: 'foo.trimRight()', - output: 'foo.trimEnd()', - errors: [errorTrimRight] - }, - { - code: 'trimLeft.trimRight()', - output: 'trimLeft.trimEnd()', - errors: [errorTrimRight] - }, - { - code: 'foo.trimLeft.trimRight()', - output: 'foo.trimLeft.trimEnd()', - errors: [errorTrimRight] - }, - { - code: '"foo".trimLeft()', - output: '"foo".trimStart()', - errors: [errorTrimLeft] - }, - { - code: outdent` - foo - // comment - .trimRight/* comment */( - /* comment */ - ) - `, - output: outdent` - foo - // comment - .trimEnd/* comment */( - /* comment */ - ) - `, - errors: [errorTrimRight] - } - ] -}); - -const visualizeTester = visualizeRuleTester(test); -visualizeTester.run('prefer-trim-start-end', rule, [ +const valid = [ + 'foo.trimStart()', + 'foo.trimEnd()', + // Not `CallExpression` + 'new foo.trimLeft();', + // Not `MemberExpression` + 'trimLeft();', + // `callee.property` is not a `Identifier` + 'foo[\'trimLeft\']();', + // Computed + 'foo[trimLeft]();', + // Not `trimLeft`/`trimRight` + 'foo.bar();', + // More argument(s) + 'foo.trimLeft(extra);', + 'foo.trimLeft(...argumentsArray)', + // `trimLeft` is in argument + 'foo.bar(trimLeft)', + 'foo.bar(foo.trimLeft)', + // `trimLeft` is in `MemberExpression.object` + 'trimLeft.foo()', + 'foo.trimLeft.bar()' +]; +const invalid = [ 'foo.trimLeft()', + 'foo.trimRight()', + 'trimLeft.trimRight()', + 'foo.trimLeft.trimRight()', + '"foo".trimLeft()', outdent` foo // comment .trimRight/* comment */( /* comment */ ) - ` -]); + `, +]; + +const testOptions = { + parserOptions: { + ecmaVersion: 2021, + } +}; +avaRuleTester(test, testOptions).run('prefer-trim-start-end', rule, {valid, invalid: []}); +visualizeRuleTester(test, testOptions).run('prefer-trim-start-end', rule, invalid); diff --git a/test/snapshots/prefer-trim-start-end.js.md b/test/snapshots/prefer-trim-start-end.js.md index e2feba25e8..58330c1ac5 100644 --- a/test/snapshots/prefer-trim-start-end.js.md +++ b/test/snapshots/prefer-trim-start-end.js.md @@ -22,6 +22,70 @@ Generated by [AVA](https://avajs.dev). ## prefer-trim-start-end - #2 +> Snapshot 1 + + `␊ + Input:␊ + 1 | foo.trimRight()␊ + ␊ + Output:␊ + 1 | foo.trimEnd()␊ + ␊ + Error 1/1:␊ + > 1 | foo.trimRight()␊ + | ^^^^^^^^^ Prefer `String#trimEnd()` over `String#trimRight()`.␊ + ` + +## prefer-trim-start-end - #3 + +> Snapshot 1 + + `␊ + Input:␊ + 1 | trimLeft.trimRight()␊ + ␊ + Output:␊ + 1 | trimLeft.trimEnd()␊ + ␊ + Error 1/1:␊ + > 1 | trimLeft.trimRight()␊ + | ^^^^^^^^^ Prefer `String#trimEnd()` over `String#trimRight()`.␊ + ` + +## prefer-trim-start-end - #4 + +> Snapshot 1 + + `␊ + Input:␊ + 1 | foo.trimLeft.trimRight()␊ + ␊ + Output:␊ + 1 | foo.trimLeft.trimEnd()␊ + ␊ + Error 1/1:␊ + > 1 | foo.trimLeft.trimRight()␊ + | ^^^^^^^^^ Prefer `String#trimEnd()` over `String#trimRight()`.␊ + ` + +## prefer-trim-start-end - #5 + +> Snapshot 1 + + `␊ + Input:␊ + 1 | "foo".trimLeft()␊ + ␊ + Output:␊ + 1 | "foo".trimStart()␊ + ␊ + Error 1/1:␊ + > 1 | "foo".trimLeft()␊ + | ^^^^^^^^ Prefer `String#trimStart()` over `String#trimLeft()`.␊ + ` + +## prefer-trim-start-end - #6 + > Snapshot 1 `␊ diff --git a/test/snapshots/prefer-trim-start-end.js.snap b/test/snapshots/prefer-trim-start-end.js.snap index 4304e6d7f0..dc6d797d86 100644 Binary files a/test/snapshots/prefer-trim-start-end.js.snap and b/test/snapshots/prefer-trim-start-end.js.snap differ