From cd8375413df5214429b8af553b2d602c60f9fa36 Mon Sep 17 00:00:00 2001 From: Alexander Tsay <48321920+aktsay6@users.noreply.github.com> Date: Mon, 23 Nov 2020 19:20:05 +0300 Subject: [PATCH] Bugfix. False-positive LOCAL_VARIABLE_EARLY_DECLARATION (#535) * bugfix/false-positive-local-variable-early-declaration(#488) ### What's done: * Fixed bugs --- .../chapter3/LocalVariablesWarnTest.kt | 20 +++++++++++++++++++ .../smoke/src/main/kotlin/Example4Expected.kt | 10 ++++++++++ .../smoke/src/main/kotlin/Example4Test.kt | 10 ++++++++++ 3 files changed, 40 insertions(+) diff --git a/diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/LocalVariablesWarnTest.kt b/diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/LocalVariablesWarnTest.kt index 9de6f71e15..2b9d8a6136 100644 --- a/diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/LocalVariablesWarnTest.kt +++ b/diktat-rules/src/test/kotlin/org/cqfn/diktat/ruleset/chapter3/LocalVariablesWarnTest.kt @@ -549,4 +549,24 @@ class LocalVariablesWarnTest : LintTestBase(::LocalVariablesRule) { """.trimMargin() ) } + + @Test + @Tag(WarningNames.LOCAL_VARIABLE_EARLY_DECLARATION) + fun `should not trigger on triple quoted strings`() { + lintMethod( + """ + |class Example { + | fun some() { + | val code = ${"\"\"\""} + | class Some { + | fun for() : String { + | } + | } + | ${"\"\"\""}.trimIndent() + | bar(code) + | } + |} + """.trimMargin() + ) + } } diff --git a/diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Example4Expected.kt b/diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Example4Expected.kt index 79589c1926..cab9a2e5d2 100644 --- a/diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Example4Expected.kt +++ b/diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Example4Expected.kt @@ -14,3 +14,13 @@ class SpecialTagsInKdoc { fun test() = Unit } +fun `method name incorrect, part 4`() { + val code = """ + class TestPackageName { + fun methODTREE(): String { + } + } + """.trimIndent() + lintMethod(code, LintError(2, 7, ruleId, "${FUNCTION_NAME_INCORRECT_CASE.warnText()} methODTREE", true)) +} + diff --git a/diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Example4Test.kt b/diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Example4Test.kt index df836479f9..4ccb47ed9b 100644 --- a/diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Example4Test.kt +++ b/diktat-rules/src/test/resources/test/smoke/src/main/kotlin/Example4Test.kt @@ -13,3 +13,13 @@ class SpecialTagsInKdoc { fun test() = Unit } +fun `method name incorrect, part 4`() { + val code = """ + class TestPackageName { + fun methODTREE(): String { + } + } + """.trimIndent() + lintMethod(code, LintError(2, 7, ruleId, "${FUNCTION_NAME_INCORRECT_CASE.warnText()} methODTREE", true)) +} +