diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/template/JavaLiveTemplateTest.java b/java/java-tests/testSrc/com/intellij/java/codeInsight/template/JavaLiveTemplateTest.java index 0d84059f5d3b..e7e010aa3aa3 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/template/JavaLiveTemplateTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/template/JavaLiveTemplateTest.java @@ -912,6 +912,50 @@ public class JavaLiveTemplateTest extends LiveTemplateTestCase { ); } + public void testSTSSAvailable() { + final TemplateImpl template = TemplateSettings.getInstance().getTemplate("stss", "Java"); + IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_20, () -> { + assertFalse(isApplicable("class Foo {void x(){ JUNK }", template)); + }); + IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_21, () -> { + assertFalse(isApplicable("class Foo {void x(){ JUNK }", template)); + }); + IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_21_PREVIEW, () -> { + assertTrue(isApplicable("class Foo {void x(){ JUNK }", template)); + }); + IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_24_PREVIEW, () -> { + assertTrue(isApplicable("class Foo {void x(){ JUNK }", template)); + }); + IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_25, () -> { + assertFalse(isApplicable("class Foo {void x(){ JUNK }", template)); + }); + IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_25_PREVIEW, () -> { + assertFalse(isApplicable("class Foo {void x(){ JUNK }", template)); + }); + } + + public void testSTSAvailable() { + final TemplateImpl template = TemplateSettings.getInstance().getTemplate("sts", "Java"); + IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_20, () -> { + assertFalse(isApplicable("class Foo {void x(){ JUNK }", template)); + }); + IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_21, () -> { + assertFalse(isApplicable("class Foo {void x(){ JUNK }", template)); + }); + IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_21_PREVIEW, () -> { + assertFalse(isApplicable("class Foo {void x(){ JUNK }", template)); + }); + IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_24_PREVIEW, () -> { + assertFalse(isApplicable("class Foo {void x(){ JUNK }", template)); + }); + IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_25, () -> { + assertFalse(isApplicable("class Foo {void x(){ JUNK }", template)); + }); + IdeaTestUtil.withLevel(getModule(), LanguageLevel.JDK_25_PREVIEW, () -> { + assertTrue(isApplicable("class Foo {void x(){ JUNK }", template)); + }); + } + public void testIOPAvailable() { final TemplateImpl template = TemplateSettings.getInstance().getTemplate("iop", "Java");