diff --git a/java/testFramework/src/com/intellij/testFramework/fixtures/JavaCodeInsightTestFixture.java b/java/testFramework/src/com/intellij/testFramework/fixtures/JavaCodeInsightTestFixture.java index ddb61fc3a575..3943bc5fcb4d 100644 --- a/java/testFramework/src/com/intellij/testFramework/fixtures/JavaCodeInsightTestFixture.java +++ b/java/testFramework/src/com/intellij/testFramework/fixtures/JavaCodeInsightTestFixture.java @@ -13,6 +13,12 @@ import org.jetbrains.annotations.NotNull; /** * A {@link CodeInsightTestFixture} extended a bit for Java-dependent tests. + *

+ * Can be created using {@link JavaTestFixtureFactory#createCodeInsightFixture(IdeaProjectTestFixture)}. + * + * @see LightJavaCodeInsightFixtureTestCase + * @see LightJavaCodeInsightFixtureTestCase4 + * @see LightJavaCodeInsightFixtureTestCase5 */ public interface JavaCodeInsightTestFixture extends CodeInsightTestFixture { JavaPsiFacadeEx getJavaFacade(); diff --git a/java/testFramework/src/com/intellij/testFramework/fixtures/JavaTestFixtureFactory.java b/java/testFramework/src/com/intellij/testFramework/fixtures/JavaTestFixtureFactory.java index 11b656189e51..d91944b29749 100644 --- a/java/testFramework/src/com/intellij/testFramework/fixtures/JavaTestFixtureFactory.java +++ b/java/testFramework/src/com/intellij/testFramework/fixtures/JavaTestFixtureFactory.java @@ -4,7 +4,9 @@ package com.intellij.testFramework.fixtures; import com.intellij.testFramework.fixtures.impl.JavaTestFixtureFactoryImpl; import org.jetbrains.annotations.NotNull; - +/** + * @see IdeaTestFixtureFactory + */ public abstract class JavaTestFixtureFactory { private static final JavaTestFixtureFactory ourInstance = new JavaTestFixtureFactoryImpl(); @@ -12,13 +14,14 @@ public abstract class JavaTestFixtureFactory { return ourInstance; } - public abstract TestFixtureBuilder createLightFixtureBuilder(@NotNull String name); + public abstract @NotNull TestFixtureBuilder createLightFixtureBuilder(@NotNull String name); - public abstract JavaCodeInsightTestFixture createCodeInsightFixture(IdeaProjectTestFixture projectFixture); + public abstract @NotNull JavaCodeInsightTestFixture createCodeInsightFixture(IdeaProjectTestFixture projectFixture); - public abstract JavaCodeInsightTestFixture createCodeInsightFixture(IdeaProjectTestFixture projectFixture, TempDirTestFixture tempDirFixture); + public abstract @NotNull JavaCodeInsightTestFixture createCodeInsightFixture(IdeaProjectTestFixture projectFixture, + TempDirTestFixture tempDirFixture); - public static TestFixtureBuilder createFixtureBuilder(@NotNull String name) { + public static @NotNull TestFixtureBuilder createFixtureBuilder(@NotNull String name) { return IdeaTestFixtureFactory.getFixtureFactory().createFixtureBuilder(name); } } diff --git a/java/testFramework/src/com/intellij/testFramework/fixtures/LightJavaCodeInsightFixtureTestCase5.kt b/java/testFramework/src/com/intellij/testFramework/fixtures/LightJavaCodeInsightFixtureTestCase5.kt index 2ec706b98906..81edbf553fe0 100644 --- a/java/testFramework/src/com/intellij/testFramework/fixtures/LightJavaCodeInsightFixtureTestCase5.kt +++ b/java/testFramework/src/com/intellij/testFramework/fixtures/LightJavaCodeInsightFixtureTestCase5.kt @@ -13,7 +13,6 @@ import org.junit.jupiter.api.extension.RegisterExtension /** * A wrapper around [LightJavaCodeInsightFixtureTestCase] that is JUnit 5-compatible. - * * @see LightJavaCodeInsightFixtureTestCase * @see LightJavaCodeInsightFixtureTestCase4 */ diff --git a/java/testFramework/src/com/intellij/testFramework/fixtures/impl/JavaTestFixtureFactoryImpl.java b/java/testFramework/src/com/intellij/testFramework/fixtures/impl/JavaTestFixtureFactoryImpl.java index 7c2849e752fa..3c23b37382cf 100644 --- a/java/testFramework/src/com/intellij/testFramework/fixtures/impl/JavaTestFixtureFactoryImpl.java +++ b/java/testFramework/src/com/intellij/testFramework/fixtures/impl/JavaTestFixtureFactoryImpl.java @@ -13,17 +13,18 @@ public final class JavaTestFixtureFactoryImpl extends JavaTestFixtureFactory { } @Override - public JavaCodeInsightTestFixture createCodeInsightFixture(IdeaProjectTestFixture projectFixture) { + public @NotNull JavaCodeInsightTestFixture createCodeInsightFixture(IdeaProjectTestFixture projectFixture) { return new JavaCodeInsightTestFixtureImpl(projectFixture, new TempDirTestFixtureImpl()); } @Override - public JavaCodeInsightTestFixture createCodeInsightFixture(IdeaProjectTestFixture projectFixture, TempDirTestFixture tempDirFixture) { + public @NotNull JavaCodeInsightTestFixture createCodeInsightFixture(IdeaProjectTestFixture projectFixture, + TempDirTestFixture tempDirFixture) { return new JavaCodeInsightTestFixtureImpl(projectFixture, tempDirFixture); } @Override - public TestFixtureBuilder createLightFixtureBuilder(@NotNull String name) { + public @NotNull TestFixtureBuilder createLightFixtureBuilder(@NotNull String name) { return new LightTestFixtureBuilderImpl<>(new LightIdeaTestFixtureImpl(ourJavaProjectDescriptor, name)); } diff --git a/platform/testFramework/src/com/intellij/testFramework/fixtures/IdeaProjectTestFixture.java b/platform/testFramework/src/com/intellij/testFramework/fixtures/IdeaProjectTestFixture.java index 8e2c7f5841db..3b855fa6f1ac 100644 --- a/platform/testFramework/src/com/intellij/testFramework/fixtures/IdeaProjectTestFixture.java +++ b/platform/testFramework/src/com/intellij/testFramework/fixtures/IdeaProjectTestFixture.java @@ -9,13 +9,22 @@ import org.jetbrains.annotations.NotNull; /** * This is to be provided by the test framework and not by plugin authors. + *

+ * A heavy variant can be created using a {@link TestFixtureBuilder} from {@link IdeaTestFixtureFactory#createFixtureBuilder(String)}. + *

+ * A light variant can be created using a {@link TestFixtureBuilder} from {@link IdeaTestFixtureFactory#createLightFixtureBuilder(String)}. * - * @see IdeaTestFixtureFactory#createFixtureBuilder(String) - * @see IdeaTestFixtureFactory#createLightFixtureBuilder(String) + * @see Tests and Fixtures (IntelliJ Platform Docs) */ public interface IdeaProjectTestFixture extends IdeaTestFixture { Project getProject(); + /** + * If this is a light fixture, returns the only module present in the project. + *

+ * If this is a heavy fixture, returns the first/primary module. + * To access other modules present in the project, use {@link com.intellij.openapi.module.ModuleManager ModuleManager}. + */ Module getModule(); default @NotNull Disposable getTestRootDisposable() { diff --git a/platform/testFramework/src/com/intellij/testFramework/fixtures/IdeaTestFixture.java b/platform/testFramework/src/com/intellij/testFramework/fixtures/IdeaTestFixture.java index cf782979163f..d00cf4c5bdca 100644 --- a/platform/testFramework/src/com/intellij/testFramework/fixtures/IdeaTestFixture.java +++ b/platform/testFramework/src/com/intellij/testFramework/fixtures/IdeaTestFixture.java @@ -3,6 +3,8 @@ package com.intellij.testFramework.fixtures; /** * This is to be provided by the test framework and not by plugin authors. + * + * @see Tests and Fixtures (IntelliJ Platform Docs) */ public interface IdeaTestFixture { /**