From 8687e2a061de9acceb12e3121c6eec6e463e158f Mon Sep 17 00:00:00 2001 From: Matthew Haughton <3flex@users.noreply.github.com> Date: Sun, 9 Jul 2023 06:46:31 +1000 Subject: [PATCH] Make InvalidRange aware of rangeUntil operator (#6264) --- .../io/gitlab/arturbosch/detekt/rules/bugs/InvalidRange.kt | 2 +- .../gitlab/arturbosch/detekt/rules/bugs/InvalidRangeSpec.kt | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/InvalidRange.kt b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/InvalidRange.kt index e7295c0bb8a..e0453517e96 100644 --- a/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/InvalidRange.kt +++ b/detekt-rules-errorprone/src/main/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/InvalidRange.kt @@ -67,7 +67,7 @@ class InvalidRange(config: Config = Config.empty) : Rule(config) { return when (range[1].text) { ".." -> checkRangeTo(lowerValue, upperValue) "downTo" -> checkDownTo(lowerValue, upperValue) - "until" -> checkUntil(lowerValue, upperValue) + "until", "..<" -> checkUntil(lowerValue, upperValue) else -> false } } diff --git a/detekt-rules-errorprone/src/test/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/InvalidRangeSpec.kt b/detekt-rules-errorprone/src/test/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/InvalidRangeSpec.kt index fafca6c9518..08f5971d179 100644 --- a/detekt-rules-errorprone/src/test/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/InvalidRangeSpec.kt +++ b/detekt-rules-errorprone/src/test/kotlin/io/gitlab/arturbosch/detekt/rules/bugs/InvalidRangeSpec.kt @@ -19,6 +19,7 @@ class InvalidRangeSpec { for (i in 2..2) {} for (i in 2 downTo 2) {} for (i in 2 until 3) {} + for (i in 2..<3) {} for (i in 2 until 4 step 2) {} for (i in (1+1)..3) { } } @@ -33,10 +34,11 @@ class InvalidRangeSpec { for (i in 2..1) { } for (i in 1 downTo 2) { } for (i in 2 until 2) { } + for (i in 2..<2) { } for (i in 2 until 1 step 2) { } } """.trimIndent() - assertThat(subject.compileAndLint(code)).hasSize(4) + assertThat(subject.compileAndLint(code)).hasSize(5) } @Test