From 892f054e40d22674b4a12b6894b7bc8975946184 Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Wed, 12 Feb 2020 23:17:22 +0800 Subject: [PATCH] Fix `escape-case` missing cases (#534) --- rules/escape-case.js | 4 ++-- test/escape-case.js | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/rules/escape-case.js b/rules/escape-case.js index 66e755c905..52ae118702 100644 --- a/rules/escape-case.js +++ b/rules/escape-case.js @@ -7,8 +7,8 @@ const { const getDocumentationUrl = require('./utils/get-documentation-url'); const replaceTemplateElement = require('./utils/replace-template-element'); -const escapeWithLowercase = /(?<=(?:^|[^\\])(?:\\\\)*\\)(?x[\da-f]{2}|u[\da-f]{4}|u{[\da-f]+})/; -const escapePatternWithLowercase = /(?<=(?:^|[^\\])(?:\\\\)*\\)(?x[\da-f]{2}|u[\da-f]{4}|u{[\da-f]+}|c[a-z])/; +const escapeWithLowercase = /(?<=(?:^|[^\\])(?:\\\\)*\\)(?x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u{[\dA-Fa-f]+})/; +const escapePatternWithLowercase = /(?<=(?:^|[^\\])(?:\\\\)*\\)(?x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u{[\dA-Fa-f]+}|c[a-z])/; const hasLowercaseCharacter = /[a-z]+/; const message = 'Use uppercase characters for the value of the escape sequence.'; diff --git a/test/escape-case.js b/test/escape-case.js index 46d3ee59e9..4938594e75 100644 --- a/test/escape-case.js +++ b/test/escape-case.js @@ -72,6 +72,22 @@ ruleTester.run('escape-case', rule, { errors, output: 'const foo = "\\xA9";' }, + // Mixed cases + { + code: 'const foo = "\\xAa";', + errors, + output: 'const foo = "\\xAA";' + }, + { + code: 'const foo = "\\uAaAa";', + errors, + output: 'const foo = "\\uAAAA";' + }, + { + code: 'const foo = "\\u{AaAa}";', + errors, + output: 'const foo = "\\u{AAAA}";' + }, { code: 'const foo = "\\ud834";', errors,