IDEA-379747 Display injected beans in Spring Components code

testing inlays in debugger test setup


(cherry picked from commit 3abb74b439c2bd1776b27685c225158e932c4a42)

IJ-CR-194014

GitOrigin-RevId: adeb52d3ed7e279bef32d9070860c829e2717d2d
This commit is contained in:
Dmitry Avdeev
2026-02-11 10:54:31 +01:00
committed by intellij-monorepo-bot
parent ad0589d8da
commit 320aed5027
3 changed files with 33 additions and 2 deletions

View File

@@ -1,6 +1,7 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.testFramework.fixtures;
import com.intellij.openapi.project.Project;
import com.intellij.testFramework.LightProjectDescriptor;
import com.intellij.testFramework.builders.ModuleFixtureBuilder;
import com.intellij.testFramework.fixtures.impl.IdeaTestFixtureFactoryImpl;
@@ -55,4 +56,7 @@ public abstract class IdeaTestFixtureFactory {
public abstract @NotNull TempDirTestFixture createTempDirTestFixture();
public abstract @NotNull BareTestFixture createBareFixture();
public abstract @NotNull CodeInsightTestFixture createCodeInsightFixtureForExistingProject(@NotNull Project project);
}

View File

@@ -1,6 +1,9 @@
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.testFramework.fixtures.impl;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleManager;
import com.intellij.openapi.project.Project;
import com.intellij.testFramework.LightProjectDescriptor;
import com.intellij.testFramework.builders.EmptyModuleFixtureBuilder;
import com.intellij.testFramework.builders.ModuleFixtureBuilder;
@@ -94,6 +97,28 @@ public final class IdeaTestFixtureFactoryImpl extends IdeaTestFixtureFactory {
return new BareTestFixtureImpl();
}
@Override
public @NotNull CodeInsightTestFixture createCodeInsightFixtureForExistingProject(@NotNull Project project) {
IdeaProjectTestFixture projectTestFixture = new IdeaProjectTestFixture() {
@Override
public Project getProject() {
return project;
}
@Override
public Module getModule() {
return ModuleManager.getInstance(project).getModules()[0];
}
@Override
public void setUp() {}
@Override
public void tearDown() {}
};
return new CodeInsightTestFixtureImpl(projectTestFixture, new TempDirTestFixtureImpl());
}
public static final class MyEmptyModuleFixtureBuilderImpl extends EmptyModuleFixtureBuilderImpl {
public MyEmptyModuleFixtureBuilderImpl(@NotNull TestFixtureBuilder<? extends IdeaProjectTestFixture> testFixtureBuilder) {
super(testFixtureBuilder);

View File

@@ -18,7 +18,7 @@ import org.junit.Assert.assertFalse
import java.util.regex.Pattern
class InlayHintsChecker(private val myFixture: CodeInsightTestFixture) {
open class InlayHintsChecker(private val myFixture: CodeInsightTestFixture) {
companion object {
val pattern: Pattern = Pattern.compile("(<caret>)|(<selection>)|(</selection>)|<(hint|HINT|Hint|hINT)\\s+text=\"([^\n\r]+?(?=\"\\s*/>))\"\\s*/>")
@@ -126,11 +126,13 @@ class InlayHintsChecker(private val myFixture: CodeInsightTestFixture) {
isHighlighted = false
isCurrent = false
}
InlayInfo(it.offset, inlayPresenter(it), isHighlighted, isCurrent)
InlayInfo(getInlayOffset(it), inlayPresenter(it), isHighlighted, isCurrent)
}
.sortedBy { it.offset }
}
protected open fun getInlayOffset(inlay: Inlay<*>): Int = inlay.offset
fun extractInlaysAndCaretInfo(document: Document): CaretAndInlaysInfo {
val text = document.text
val matcher = pattern.matcher(text)