From 25ecebd52e0bd14fda24eb475e95f42b45d9b108 Mon Sep 17 00:00:00 2001 From: Vfrolov Date: Mon, 30 Jan 2023 16:49:15 +0300 Subject: [PATCH] Fixed CONSTANT_UPPERCASE doesn't handle number in middle name ### What's done: * fixed regular expression Closes #1572 --- .../org/cqfn/diktat/ruleset/utils/StringCaseUtils.kt | 2 +- .../ruleset/chapter1/IdentifierNamingWarnTest.kt | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/utils/StringCaseUtils.kt b/diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/utils/StringCaseUtils.kt index 61878af166..982445f59d 100644 --- a/diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/utils/StringCaseUtils.kt +++ b/diktat-rules/src/main/kotlin/org/cqfn/diktat/ruleset/utils/StringCaseUtils.kt @@ -40,7 +40,7 @@ fun String.isLowerCamelCase(): Boolean = this.matches("[a-z]([a-z0-9])*([A-Z][a- * * @return boolean result */ -fun String.isUpperSnakeCase(): Boolean = this.matches("(([A-Z]+)_*)+[A-Z0-9]*".toRegex()) +fun String.isUpperSnakeCase(): Boolean = this.matches("(([A-Z0-9]+)_*)+[A-Z0-9]*".toRegex()) /** * checking that string looks like: lower_case_for_script_names diff --git a/diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter1/IdentifierNamingWarnTest.kt b/diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter1/IdentifierNamingWarnTest.kt index 45cf508fae..ab32c4d1c4 100644 --- a/diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter1/IdentifierNamingWarnTest.kt +++ b/diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter1/IdentifierNamingWarnTest.kt @@ -135,6 +135,16 @@ class IdentifierNamingWarnTest : LintTestBase(::IdentifierNaming) { ) } + @Test + @Tag(WarningNames.CONSTANT_UPPERCASE) + fun `number in middle name`() { + lintMethod( + """ + const val NE04J_STARTUP_DELAY_MILLIS = 200L + """.trimIndent() + ) + } + @Test @Tags( Tag(WarningNames.CLASS_NAME_INCORRECT),