[java] extract run line marker tests for java 21

GitOrigin-RevId: 339a4813d4a0592bb0a0b5c6607e3c59da08b893
This commit is contained in:
Roman Ivanov
2023-08-27 21:24:20 +00:00
committed by intellij-monorepo-bot
parent 71e10c185b
commit c81004ac51
2 changed files with 112 additions and 100 deletions
@@ -0,0 +1,112 @@
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
package com.intellij.java.codeInsight.navigation;
import com.intellij.codeInsight.daemon.GutterMark;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.testFramework.IdeaTestUtil;
import com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase;
import java.util.List;
public class RunLineMarkerJava21Test extends LightJavaCodeInsightFixtureTestCase {
public void testUnnamedAllowsNonStatic() {
IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_21_PREVIEW, () -> {
myFixture.configureByText("MainTest.java", """
void main<caret>() {
}
""");
List<GutterMark> marks = myFixture.findGuttersAtCaret();
assertEquals(1, marks.size());
});
}
public void testClassWithConstructorWithoutParamsAndInstanceMainIsAllowed() {
IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_21_PREVIEW, () -> {
myFixture.configureByText("MainTest.java", """
public class A {
A() {}
public void main<caret>() {}
}
""");
List<GutterMark> marks = myFixture.findGuttersAtCaret();
assertEquals(1, marks.size());
});
}
public void testClassWithDefaultConstructorParamsAndInstanceMainIsAllowed() {
IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_21_PREVIEW, () -> {
myFixture.configureByText("MainTest.java", """
public class A {
public void main<caret>() {}
}
""");
List<GutterMark> marks = myFixture.findGuttersAtCaret();
assertEquals(1, marks.size());
});
}
public void testClassWithConstructorWithParametersAndInstanceMethodIsNotEntryPoint() {
IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_21_PREVIEW, () -> {
myFixture.configureByText("MainTest.java", """
public class A {
A(String s) {}
public void main<caret>() {}
}
""");
List<GutterMark> marks = myFixture.findGuttersAtCaret();
assertEquals(0, marks.size());
});
}
public void testMainInsideInnerClassInUnnamedClassHasNoGutter() {
IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_21_PREVIEW, () -> {
myFixture.configureByText("MainTest.java", """
void foo() {
}
public class A {
public void main<caret>() {}
}
""");
List<GutterMark> marks = myFixture.findGuttersAtCaret();
assertEquals(0, marks.size());
});
}
public void testStaticWithParameterHasHigherPriority() {
IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_21_PREVIEW, () -> {
myFixture.configureByText("MainTest.java", """
static void main<caret>() {}
static void main(String[] args) {}
""");
List<GutterMark> marks = myFixture.findAllGutters();
assertEquals(1, marks.size());
assertEmpty(myFixture.findGuttersAtCaret());
});
}
public void testStaticWithNoParametersHasHigherPriorityThanInstance() {
IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_21_PREVIEW, () -> {
myFixture.configureByText("MainTest.java", """
static void main() {}
void main<caret>(String[] args) {}
""");
List<GutterMark> marks = myFixture.findAllGutters();
assertEquals(1, marks.size());
assertEmpty(myFixture.findGuttersAtCaret());
});
}
public void testInstanceWithParameterHasHigherPriority() {
IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_21_PREVIEW, () -> {
myFixture.configureByText("MainTest.java", """
void main<caret>() {}
void main(String[] args) {}
""");
List<GutterMark> marks = myFixture.findAllGutters();
assertEquals(1, marks.size());
assertEmpty(myFixture.findGuttersAtCaret());
});
}
}
@@ -330,106 +330,6 @@ public class RunLineMarkerTest extends LightJavaCodeInsightFixtureTestCase {
ContainerUtil.addIfNotNull(myTempSettings, RunManager.getInstance(getProject()).getSelectedConfiguration());
}
public void testUnnamedAllowsNonStatic() {
IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_21_PREVIEW, () -> {
myFixture.configureByText("MainTest.java", """
void main<caret>() {
}
""");
List<GutterMark> marks = myFixture.findGuttersAtCaret();
assertEquals(1, marks.size());
});
}
public void testClassWithConstructorWithoutParamsAndInstanceMainIsAllowed() {
IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_21_PREVIEW, () -> {
myFixture.configureByText("MainTest.java", """
public class A {
A() {}
public void main<caret>() {}
}
""");
List<GutterMark> marks = myFixture.findGuttersAtCaret();
assertEquals(1, marks.size());
});
}
public void testClassWithDefaultConstructorParamsAndInstanceMainIsAllowed() {
IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_21_PREVIEW, () -> {
myFixture.configureByText("MainTest.java", """
public class A {
public void main<caret>() {}
}
""");
List<GutterMark> marks = myFixture.findGuttersAtCaret();
assertEquals(1, marks.size());
});
}
public void testClassWithConstructorWithParametersAndInstanceMethodIsNotEntryPoint() {
IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_21_PREVIEW, () -> {
myFixture.configureByText("MainTest.java", """
public class A {
A(String s) {}
public void main<caret>() {}
}
""");
List<GutterMark> marks = myFixture.findGuttersAtCaret();
assertEquals(0, marks.size());
});
}
public void testMainInsideInnerClassInUnnamedClassHasNoGutter() {
IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_21_PREVIEW, () -> {
myFixture.configureByText("MainTest.java", """
void foo() {
}
public class A {
public void main<caret>() {}
}
""");
List<GutterMark> marks = myFixture.findGuttersAtCaret();
assertEquals(0, marks.size());
});
}
public void testStaticWithParameterHasHigherPriority() {
IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_21_PREVIEW, () -> {
myFixture.configureByText("MainTest.java", """
static void main<caret>() {}
static void main(String[] args) {}
""");
List<GutterMark> marks = myFixture.findAllGutters();
assertEquals(1, marks.size());
assertEmpty(myFixture.findGuttersAtCaret());
});
}
public void testStaticWithNoParametersHasHigherPriorityThanInstance() {
IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_21_PREVIEW, () -> {
myFixture.configureByText("MainTest.java", """
static void main() {}
void main<caret>(String[] args) {}
""");
List<GutterMark> marks = myFixture.findAllGutters();
assertEquals(1, marks.size());
assertEmpty(myFixture.findGuttersAtCaret());
});
}
public void testInstanceWithParameterHasHigherPriority() {
IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_21_PREVIEW, () -> {
myFixture.configureByText("MainTest.java", """
void main<caret>() {}
void main(String[] args) {}
""");
List<GutterMark> marks = myFixture.findAllGutters();
assertEquals(1, marks.size());
assertEmpty(myFixture.findGuttersAtCaret());
});
}
public void testActionNameFromPreferredProducer() {
myFixture.configureByText("Main.java", """
public class Main {