From 0c7e3624aa2551b6e2066f0d2f101a1b154ce62e Mon Sep 17 00:00:00 2001 From: Yash-Singh1 Date: Thu, 2 Dec 2021 17:23:51 -0800 Subject: [PATCH] chore: use characterNode.raw instead of characterNode.value --- lib/rules/prefer-regex-literals.js | 7 ++++++- tests/lib/rules/prefer-regex-literals.js | 14 ++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/lib/rules/prefer-regex-literals.js b/lib/rules/prefer-regex-literals.js index ac19017fad0c..4af9dbf9ae9f 100644 --- a/lib/rules/prefer-regex-literals.js +++ b/lib/rules/prefer-regex-literals.js @@ -265,18 +265,23 @@ module.exports = { function resolveEscapes(character) { switch (character) { case "\n": + case "\\\n": return "\\n"; case "\r": + case "\\\r": return "\\r"; case "\t": + case "\\\t": return "\\t"; case "\v": + case "\\\v": return "\\v"; case "\f": + case "\\\f": return "\\f"; case "/": @@ -345,7 +350,7 @@ module.exports = { onCharacterEnter(characterNode) { let changeCharIncrease = 0; let stringCodePointValue = String.fromCodePoint(characterNode.value); - const escaped = resolveEscapes(stringCodePointValue); + const escaped = resolveEscapes(characterNode.raw); if (escaped) { stringCodePointValue = escaped; diff --git a/tests/lib/rules/prefer-regex-literals.js b/tests/lib/rules/prefer-regex-literals.js index 596b77a36fa0..ba83b4ab3a15 100644 --- a/tests/lib/rules/prefer-regex-literals.js +++ b/tests/lib/rules/prefer-regex-literals.js @@ -2324,6 +2324,20 @@ ruleTester.run("prefer-regex-literals", rule, { ] } ] + }, + { + code: "new RegExp(\"\\u000A\\u000A\");", + errors: [ + { + messageId: "unexpectedRegExp", + suggestions: [ + { + messageId: "unexpectedRegExp", + output: "/\\n\\n/" + } + ] + } + ] } ] });