[codevision] IJPL-156683 Simplify changing the default alignment of inlay hints in IDE

GitOrigin-RevId: e18312174ae63c4bfcf00941963628a748ade580
This commit is contained in:
Yuriy Artamonov
2024-06-20 14:18:30 +02:00
committed by intellij-monorepo-bot
parent 67e0f34216
commit b333fe8ad9
8 changed files with 131 additions and 164 deletions

View File

@@ -8,155 +8,125 @@ import org.intellij.lang.annotations.Language
class JavaCodeVisionProviderTest : CodeVisionTestCase() {
fun testMethodUsages() = doTest("""
/*<# block [no usages] #>*/
class A {
/*<# block [1 usage] #>*/
void foo() {
}
/*<# block [no usages] #>*/
void bar() {
foo();
}
}
class A { /*<# [no usages] #>*/
void foo() { /*<# [1 usage] #>*/
}
void bar() { /*<# [no usages] #>*/
foo();
}
}
""".trimIndent(), JavaReferencesCodeVisionProvider().groupId)
fun testClassInheritors() = doTest("""
/*<# block [no usages] #>*/
class A {
/*<# block [2 usages 2 inheritors] #>*/
class B {}
/*<# block [no usages] #>*/
class B1 extends B {}
/*<# block [no usages] #>*/
class B2 extends B {}
}
class A { /*<# [no usages] #>*/
class B {} /*<# [2 usages 2 inheritors] #>*/
class B1 extends B {} /*<# [no usages] #>*/
class B2 extends B {} /*<# [no usages] #>*/
}
""".trimIndent(), JavaReferencesCodeVisionProvider().groupId, JavaInheritorsCodeVisionProvider().groupId)
fun testInterfaceInheritors() = doTest("""
/*<# block [no usages] #>*/
class A {
/*<# block [1 usage 1 implementation] #>*/
interface B {}
/*<# block [no usages] #>*/
class B1 implements B {}
}
class A { /*<# [no usages] #>*/
interface B {} /*<# [1 usage 1 implementation] #>*/
class B1 implements B {} /*<# [no usages] #>*/
}
""".trimIndent(), JavaReferencesCodeVisionProvider().groupId, JavaInheritorsCodeVisionProvider().groupId)
fun testMethodOverrides() = doTest("""
/*<# block [1 usage 1 inheritor] #>*/
class A {
/*<# block [no usages 1 override] #>*/
void foo(){}
}
/*<# block [no usages] #>*/
class B extends A {
/*<# block [no usages] #>*/
void foo(){}
}
class A { /*<# [1 usage 1 inheritor] #>*/
void foo(){} /*<# [no usages 1 override] #>*/
}
class B extends A { /*<# [no usages] #>*/
void foo(){} /*<# [no usages] #>*/
}
""".trimIndent(), JavaReferencesCodeVisionProvider().groupId, JavaInheritorsCodeVisionProvider().groupId)
fun testDefaultMethodOverrides() = doTest("""
/*<# block [2 usages 2 implementations] #>*/
interface A {
/*<# block [no usages 2 overrides] #>*/
default void foo(){}
}
/*<# block [no usages] #>*/
class B implements A {
/*<# block [no usages] #>*/
public void foo(){}
}
/*<# block [no usages] #>*/
class B2 implements A {
/*<# block [no usages] #>*/
public void foo(){}
}
interface A { /*<# [2 usages 2 implementations] #>*/
default void foo(){} /*<# [no usages 2 overrides] #>*/
}
class B implements A { /*<# [no usages] #>*/
public void foo(){} /*<# [no usages] #>*/
}
class B2 implements A { /*<# [no usages] #>*/
public void foo(){} /*<# [no usages] #>*/
}
""".trimIndent(), JavaReferencesCodeVisionProvider().groupId, JavaInheritorsCodeVisionProvider().groupId)
fun testAbstractMethodImplementations() = doTest("""
/*<# block [2 usages 2 implementations] #>*/
interface A {
/*<# block [no usages 2 implementations] #>*/
void foo();
}
/*<# block [no usages] #>*/
class B implements A {
/*<# block [no usages] #>*/
public void foo(){}
}
/*<# block [no usages] #>*/
class B2 implements A {
/*<# block [no usages] #>*/
public void foo(){}
}
interface A {/*<# [2 usages 2 implementations] #>*/
void foo();/*<# [no usages 2 implementations] #>*/
}
class B implements A { /*<# [no usages] #>*/
public void foo(){} /*<# [no usages] #>*/
}
class B2 implements A { /*<# [no usages] #>*/
public void foo(){} /*<# [no usages] #>*/
}
""".trimIndent(), JavaReferencesCodeVisionProvider().groupId, JavaInheritorsCodeVisionProvider().groupId)
fun testEnumMembers() = doTest("""
/*<# block [no usages] #>*/
class A {
/*<# block [6 usages] #>*/
enum E {
/*<# block [1 usage] #>*/
E1, E2, E3, E4
}
/*<# block [no usages] #>*/
E foo() {
bar(E.E1, E.E2, E.E3, E.E4);
}
/*<# block [1 usage] #>*/
void bar(E... e) {}
}
class A { /*<# [no usages] #>*/
enum E { /*<# [6 usages] #>*/
E1, E2, E3, E4 /*<# [1 usage] #>*/
}
E foo() { /*<# [no usages] #>*/
bar(E.E1, E.E2, E.E3, E.E4);
}
void bar(E... e) {} /*<# [1 usage] #>*/
}
""".trimIndent(), JavaReferencesCodeVisionProvider().groupId)
fun testClassAtZeroOffset() = doTest("""
/*<# block [no usages] #>*/
class A {
/*<# block [6 usages] #>*/
enum E {
/*<# block [1 usage] #>*/
E1, E2, E3, E4
}
/*<# block [no usages] #>*/
E foo() {
bar(E.E1, E.E2, E.E3, E.E4);
}
/*<# block [1 usage] #>*/
void bar(E... e) {}
}
""".trimMargin(), JavaReferencesCodeVisionProvider().groupId)
fun testClassAtZeroOffset() = doTest("""
class A { /*<# [no usages] #>*/
enum E { /*<# [6 usages] #>*/
E1, E2, E3, E4 /*<# [1 usage] #>*/
}
E foo() { /*<# [no usages] #>*/
bar(E.E1, E.E2, E.E3, E.E4);
}
void bar(E... e) {} /*<# [1 usage] #>*/
}
""".trimIndent(), JavaReferencesCodeVisionProvider().groupId)
fun testClassAfterPackageStatement() = doTest("""
package com.company;
/*<# block [1 usage] #>*/
class A{}
/*<# block [no usages] #>*/
class B {
/*<# block [no usages] #>*/
void use() {
new A();
}
}
""", JavaReferencesCodeVisionProvider().groupId)
package com.company;
class A{} /*<# [1 usage] #>*/
class B { /*<# [no usages] #>*/
void use() { /*<# [no usages] #>*/
new A();
}
}
""".trimIndent(), JavaReferencesCodeVisionProvider().groupId)
fun testFieldOnFirstLineOfInterfaceHasLenses() = doTest("""
package codeLenses;
/*<# block [no usages] #>*/
public interface Interface {
/*<# block [no usages] #>*/
String s = "asd";
/*<# block [no usages] #>*/
String asd = "asd";
}
""", JavaReferencesCodeVisionProvider().groupId)
package codeLenses;
public interface Interface { /*<# [no usages] #>*/
String s = "asd"; /*<# [no usages] #>*/
String asd = "asd"; /*<# [no usages] #>*/
}
""".trimIndent(), JavaReferencesCodeVisionProvider().groupId)
private fun doTest(@Language("JAVA") text: String, vararg enabledProviderGroupIds: String) {
testProviders(text, "test.java", *enabledProviderGroupIds)