From 2489eb035454fb1507146a5035366bb08f71024b Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Fri, 13 Jul 2018 16:54:33 +0300 Subject: [PATCH] test mpved to community --- .../testData/ide/project/.idea/misc.xml | 6 +++ .../configuration/LanguageLevelComboTest.java | 54 +++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 java/java-tests/testData/ide/project/.idea/misc.xml create mode 100644 java/java-tests/testSrc/com/intellij/openapi/roots/ui/configuration/LanguageLevelComboTest.java diff --git a/java/java-tests/testData/ide/project/.idea/misc.xml b/java/java-tests/testData/ide/project/.idea/misc.xml new file mode 100644 index 000000000000..1f9096de3c3a --- /dev/null +++ b/java/java-tests/testData/ide/project/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/openapi/roots/ui/configuration/LanguageLevelComboTest.java b/java/java-tests/testSrc/com/intellij/openapi/roots/ui/configuration/LanguageLevelComboTest.java new file mode 100644 index 000000000000..523b2764524c --- /dev/null +++ b/java/java-tests/testSrc/com/intellij/openapi/roots/ui/configuration/LanguageLevelComboTest.java @@ -0,0 +1,54 @@ +package com.intellij.openapi.roots.ui.configuration; + +import com.intellij.openapi.application.ex.PathManagerEx; +import com.intellij.openapi.project.Project; +import com.intellij.openapi.project.ProjectManager; +import com.intellij.openapi.project.ex.ProjectManagerEx; +import com.intellij.openapi.roots.LanguageLevelProjectExtension; +import com.intellij.pom.java.LanguageLevel; +import com.intellij.testFramework.IdeaTestUtil; +import com.intellij.testFramework.LightPlatformTestCase; + +public class LanguageLevelComboTest extends LightPlatformTestCase { + + private Project myProject; + private LanguageLevelCombo myCombo; + + @Override + protected void setUp() throws Exception { + super.setUp(); + myProject = ProjectManager.getInstance().loadAndOpenProject(PathManagerEx.getTestDataPath("/ide/project")); + myCombo = new LanguageLevelCombo("default") { + @Override + protected LanguageLevel getDefaultLevel() { + return null; + } + }; + myCombo.reset(myProject); + } + + @Override + protected void tearDown() throws Exception { + try { + ProjectManagerEx.getInstanceEx().closeAndDispose(myProject); + } + finally { + super.tearDown(); + } + } + + public void testDefaultLanguageLevelForBrokenSdk() { + assertEquals("default", myCombo.getSelectedItem()); + assertNull(myCombo.getSelectedLevel()); + } + + public void testPreserveLanguageLevel() { + LanguageLevelProjectExtension extension = LanguageLevelProjectExtension.getInstance(myProject); + extension.setDefault(false); + extension.setLanguageLevel(LanguageLevel.JDK_1_5); + myCombo.reset(myProject); + + myCombo.sdkUpdated(IdeaTestUtil.getMockJdk17(), false); + assertEquals(LanguageLevel.JDK_1_5, myCombo.getSelectedLevel()); + } +}