From 8670fad05c298de93f7de1becb7cb0afc3b17bda Mon Sep 17 00:00:00 2001 From: fisker Date: Wed, 12 Feb 2020 22:32:29 +0800 Subject: [PATCH] Fix `escape-case` missing cases --- 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 0395058e04..ece433cd65 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,