aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStanley Shyiko <stanley.shyiko@gmail.com>2018-05-02 13:27:08 -0700
committerStanley Shyiko <stanley.shyiko@gmail.com>2018-05-02 13:27:08 -0700
commitc9181df275dd71e2663da7fa9579067be3bb991f (patch)
treedcd8dfac5f473aee32d28cbd7dd962b59006e46a
parent4385ea52274cbaa0b732ca90c27b64a168a5d698 (diff)
downloadktlint-c9181df275dd71e2663da7fa9579067be3bb991f.tar.gz
Fixed #204 - Unused import false positive (x.y.zNNN import inside x.y.z package)
-rw-r--r--ktlint-ruleset-standard/src/main/kotlin/com/github/shyiko/ktlint/ruleset/standard/NoUnusedImportsRule.kt2
-rw-r--r--ktlint-ruleset-standard/src/test/kotlin/com/github/shyiko/ktlint/ruleset/standard/NoUnusedImportsRuleTest.kt15
2 files changed, 16 insertions, 1 deletions
diff --git a/ktlint-ruleset-standard/src/main/kotlin/com/github/shyiko/ktlint/ruleset/standard/NoUnusedImportsRule.kt b/ktlint-ruleset-standard/src/main/kotlin/com/github/shyiko/ktlint/ruleset/standard/NoUnusedImportsRule.kt
index 3b0e1b8f..b46f04df 100644
--- a/ktlint-ruleset-standard/src/main/kotlin/com/github/shyiko/ktlint/ruleset/standard/NoUnusedImportsRule.kt
+++ b/ktlint-ruleset-standard/src/main/kotlin/com/github/shyiko/ktlint/ruleset/standard/NoUnusedImportsRule.kt
@@ -68,7 +68,7 @@ class NoUnusedImportsRule : Rule("no-unused-imports") {
val name = importDirective.importPath?.importedName?.asString()
val importPath = importDirective.importPath?.pathStr!!
if (importDirective.aliasName == null &&
- importPath.startsWith(packageName) &&
+ (packageName.isEmpty() || importPath.startsWith("$packageName.")) &&
importPath.substring(packageName.length + 1).indexOf('.') == -1) {
emit(importDirective.startOffset, "Unnecessary import", true)
if (autoCorrect) {
diff --git a/ktlint-ruleset-standard/src/test/kotlin/com/github/shyiko/ktlint/ruleset/standard/NoUnusedImportsRuleTest.kt b/ktlint-ruleset-standard/src/test/kotlin/com/github/shyiko/ktlint/ruleset/standard/NoUnusedImportsRuleTest.kt
index 98ed5779..ad5f6cc9 100644
--- a/ktlint-ruleset-standard/src/test/kotlin/com/github/shyiko/ktlint/ruleset/standard/NoUnusedImportsRuleTest.kt
+++ b/ktlint-ruleset-standard/src/test/kotlin/com/github/shyiko/ktlint/ruleset/standard/NoUnusedImportsRuleTest.kt
@@ -48,6 +48,21 @@ class NoUnusedImportsRuleTest {
}
@Test
+ fun testLintIssue204() {
+ assertThat(NoUnusedImportsRule().lint(
+ """
+ package com.example.another
+
+ import com.example.anotherThing
+
+ class Foo {
+ val bar = anotherThing
+ }
+ """.trimIndent()
+ )).isEmpty()
+ }
+
+ @Test
fun testLintDestructuringAssignment() {
assertThat(NoUnusedImportsRule().lint(
"""