package com.intellij.codeInspection.tests.kotlin
import com.intellij.jvm.analysis.internal.testFramework.DependencyInspectionTestBase
class KotlinDependencyInspectionTest0 : DependencyInspectionTestBase() {
fun `test illegal imported dependency Java API`() = dependencyViolationTest(javaFooFile, "ImportClientJava.kt", """
package pkg.client
import pkg.api.JavaFoo
fun main() {
JavaFoo()
}
""".trimIndent())
fun `test illegal imported dependency Kotlin API`() = dependencyViolationTest(kotlinFooFile, "ImportClientKotlin.kt", """
package pkg.client
import pkg.api.KotlinFoo
fun main() {
KotlinFoo()
}
""".trimIndent())
fun `test illegal imported dependency skip imports`() = dependencyViolationTest(kotlinFooFile, "ImportClientKotlin.kt", """
package pkg.client
import pkg.api.KotlinFoo
fun main() {
KotlinFoo()
}
""".trimIndent(), skipImports = true)
fun `test illegal imported dependency Kotlin API in Java`() = dependencyViolationTest(kotlinFooFile, "ImportClientKotlin.java", """
package pkg.client;
import pkg.api.KotlinFoo;
class Client {
public static void main(String[] args) {
new KotlinFoo();
}
}
""".trimIndent())
fun `test illegal fully qualified dependency Java API`() = dependencyViolationTest(javaFooFile, "FqClientJava.kt", """
package pkg.client
fun main() {
pkg.api.JavaFoo()
}
""".trimIndent())
fun `test illegal fully qualified dependency Kotlin API`() = dependencyViolationTest(kotlinFooFile, "FqClientKotlin.kt", """
package pkg.client
fun main() {
pkg.api.KotlinFoo()
}
""".trimIndent())
fun `test illegal fully qualified dependency Kotlin API in Java`() = dependencyViolationTest(kotlinFooFile, "FqClientKotlin.java", """
package pkg.client;
class Client {
public static void main(String[] args) {
new pkg.api.KotlinFoo();
}
}
""".trimIndent())
}