From 9ccd6b847f28fcd75111d6a7f2e0a9f9096091d0 Mon Sep 17 00:00:00 2001 From: Nikolay Krasko Date: Thu, 11 Apr 2013 17:41:40 +0400 Subject: [PATCH] Use target platform interface instead of psi platform --- .../AbstractJavaCompletionTest.java | 5 +- .../AbstractJavaWithLibCompletionTest.java | 5 +- .../AbstractJetJSCompletionTest.java | 5 +- .../AbstractKeywordCompletionTest.java | 14 +--- .../completion/ExpectedCompletionUtils.java | 81 ++++++++++--------- .../JetFixtureCompletionBaseTestCase.java | 3 +- 6 files changed, 56 insertions(+), 57 deletions(-) diff --git a/idea/tests/org/jetbrains/jet/completion/AbstractJavaCompletionTest.java b/idea/tests/org/jetbrains/jet/completion/AbstractJavaCompletionTest.java index f09c22ec88d..3e7f8628f56 100644 --- a/idea/tests/org/jetbrains/jet/completion/AbstractJavaCompletionTest.java +++ b/idea/tests/org/jetbrains/jet/completion/AbstractJavaCompletionTest.java @@ -19,6 +19,7 @@ package org.jetbrains.jet.completion; import com.intellij.testFramework.LightProjectDescriptor; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.plugin.JetWithJdkAndRuntimeLightProjectDescriptor; +import org.jetbrains.jet.plugin.project.TargetPlatform; public abstract class AbstractJavaCompletionTest extends JetFixtureCompletionBaseTestCase { @NotNull @@ -28,7 +29,7 @@ public abstract class AbstractJavaCompletionTest extends JetFixtureCompletionBas } @Override - public ExpectedCompletionUtils.Platform getPlatform() { - return ExpectedCompletionUtils.Platform.JAVA; + public TargetPlatform getPlatform() { + return TargetPlatform.JVM; } } \ No newline at end of file diff --git a/idea/tests/org/jetbrains/jet/completion/AbstractJavaWithLibCompletionTest.java b/idea/tests/org/jetbrains/jet/completion/AbstractJavaWithLibCompletionTest.java index 3b82869cff5..daca77cdc8f 100644 --- a/idea/tests/org/jetbrains/jet/completion/AbstractJavaWithLibCompletionTest.java +++ b/idea/tests/org/jetbrains/jet/completion/AbstractJavaWithLibCompletionTest.java @@ -29,6 +29,7 @@ import com.intellij.testFramework.LightProjectDescriptor; import com.intellij.testFramework.fixtures.impl.CodeInsightTestFixtureImpl; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.plugin.PluginTestCaseBase; +import org.jetbrains.jet.plugin.project.TargetPlatform; import org.jetbrains.jet.testing.ConfigLibraryUtil; import java.io.File; @@ -79,7 +80,7 @@ public abstract class AbstractJavaWithLibCompletionTest extends JetFixtureComple } @Override - public ExpectedCompletionUtils.Platform getPlatform() { - return ExpectedCompletionUtils.Platform.JAVA; + public TargetPlatform getPlatform() { + return TargetPlatform.JVM; } } diff --git a/idea/tests/org/jetbrains/jet/completion/AbstractJetJSCompletionTest.java b/idea/tests/org/jetbrains/jet/completion/AbstractJetJSCompletionTest.java index 8196389426d..0f2d9eea6aa 100644 --- a/idea/tests/org/jetbrains/jet/completion/AbstractJetJSCompletionTest.java +++ b/idea/tests/org/jetbrains/jet/completion/AbstractJetJSCompletionTest.java @@ -19,6 +19,7 @@ package org.jetbrains.jet.completion; import com.intellij.testFramework.LightProjectDescriptor; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.plugin.JetStdJSProjectDescriptor; +import org.jetbrains.jet.plugin.project.TargetPlatform; public abstract class AbstractJetJSCompletionTest extends JetFixtureCompletionBaseTestCase { @NotNull @@ -28,7 +29,7 @@ public abstract class AbstractJetJSCompletionTest extends JetFixtureCompletionBa } @Override - public ExpectedCompletionUtils.Platform getPlatform() { - return ExpectedCompletionUtils.Platform.JS; + public TargetPlatform getPlatform() { + return TargetPlatform.JS; } } diff --git a/idea/tests/org/jetbrains/jet/completion/AbstractKeywordCompletionTest.java b/idea/tests/org/jetbrains/jet/completion/AbstractKeywordCompletionTest.java index ad4a2473b8e..08d43a45feb 100644 --- a/idea/tests/org/jetbrains/jet/completion/AbstractKeywordCompletionTest.java +++ b/idea/tests/org/jetbrains/jet/completion/AbstractKeywordCompletionTest.java @@ -16,23 +16,15 @@ package org.jetbrains.jet.completion; -import com.intellij.openapi.module.Module; -import com.intellij.openapi.module.ModuleType; -import com.intellij.openapi.module.StdModuleTypes; -import com.intellij.openapi.projectRoots.Sdk; -import com.intellij.openapi.roots.ContentEntry; -import com.intellij.openapi.roots.ModifiableRootModel; import com.intellij.testFramework.LightProjectDescriptor; import org.jetbrains.annotations.NotNull; import org.jetbrains.jet.plugin.JetLightProjectDescriptor; -import org.jetbrains.jet.plugin.PluginTestCaseBase; - -import java.io.File; +import org.jetbrains.jet.plugin.project.TargetPlatform; public abstract class AbstractKeywordCompletionTest extends JetFixtureCompletionBaseTestCase { @Override - public ExpectedCompletionUtils.Platform getPlatform() { - return ExpectedCompletionUtils.Platform.JAVA; + public TargetPlatform getPlatform() { + return TargetPlatform.JVM; } @NotNull diff --git a/idea/tests/org/jetbrains/jet/completion/ExpectedCompletionUtils.java b/idea/tests/org/jetbrains/jet/completion/ExpectedCompletionUtils.java index 3d13a2226c1..29c30feb75b 100644 --- a/idea/tests/org/jetbrains/jet/completion/ExpectedCompletionUtils.java +++ b/idea/tests/org/jetbrains/jet/completion/ExpectedCompletionUtils.java @@ -27,6 +27,7 @@ import junit.framework.Assert; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.jet.InTextDirectivesUtils; +import org.jetbrains.jet.plugin.project.TargetPlatform; import java.util.ArrayList; import java.util.Collection; @@ -42,12 +43,6 @@ public class ExpectedCompletionUtils { private ExpectedCompletionUtils() { } - enum Platform { - JAVA, - JS, - ALL - } - public static class CompletionProposal { public static final Pattern PATTERN = Pattern.compile("([^~@]*)(@([^~]*))?(~(.*))?"); public static final int LOOKUP_STRING_GROUP_INDEX = 1; @@ -97,6 +92,8 @@ public class ExpectedCompletionUtils { return result.toString(); } } + + private static final String UNSUPPORTED_PLATFORM_MESSAGE = String.format("Only %s and %s platforms are supported", TargetPlatform.JVM, TargetPlatform.JS); private static final String EXIST_LINE_PREFIX = "EXIST:"; @@ -128,41 +125,45 @@ public class ExpectedCompletionUtils { WITH_ORDER_PREFIX); @NotNull - public static CompletionProposal[] itemsShouldExist(String fileText, Platform platform) { - switch (platform) { - case ALL: - return processProposalAssertions(fileText, EXIST_LINE_PREFIX); - case JAVA: - return processProposalAssertions(fileText, EXIST_LINE_PREFIX, EXIST_JAVA_ONLY_LINE_PREFIX); - case JS: - return processProposalAssertions(fileText, EXIST_LINE_PREFIX, EXIST_JS_ONLY_LINE_PREFIX); + public static CompletionProposal[] itemsShouldExist(String fileText, @Nullable TargetPlatform platform) { + if (platform == null) { + return processProposalAssertions(fileText, EXIST_LINE_PREFIX); + } + else if (platform == TargetPlatform.JVM) { + return processProposalAssertions(fileText, EXIST_LINE_PREFIX, EXIST_JAVA_ONLY_LINE_PREFIX); + } + else if (platform == TargetPlatform.JS) { + return processProposalAssertions(fileText, EXIST_LINE_PREFIX, EXIST_JS_ONLY_LINE_PREFIX); + } + else { + throw new IllegalArgumentException(UNSUPPORTED_PLATFORM_MESSAGE); } - - throw new IllegalArgumentException("platform"); } @NotNull - public static CompletionProposal[] itemsShouldAbsent(String fileText, Platform platform) { - switch (platform) { - case ALL: - return processProposalAssertions(fileText, ABSENT_LINE_PREFIX); - case JAVA: - return processProposalAssertions(fileText, ABSENT_LINE_PREFIX, ABSENT_JAVA_LINE_PREFIX, EXIST_JS_ONLY_LINE_PREFIX); - case JS: - return processProposalAssertions(fileText, ABSENT_LINE_PREFIX, ABSENT_JS_LINE_PREFIX, EXIST_JAVA_ONLY_LINE_PREFIX); + public static CompletionProposal[] itemsShouldAbsent(String fileText, @Nullable TargetPlatform platform) { + if (platform == null) { + return processProposalAssertions(fileText, ABSENT_LINE_PREFIX); + } + else if (platform == TargetPlatform.JVM) { + return processProposalAssertions(fileText, ABSENT_LINE_PREFIX, ABSENT_JAVA_LINE_PREFIX, EXIST_JS_ONLY_LINE_PREFIX); + } + else if (platform == TargetPlatform.JS) { + return processProposalAssertions(fileText, ABSENT_LINE_PREFIX, ABSENT_JS_LINE_PREFIX, EXIST_JAVA_ONLY_LINE_PREFIX); + } + else { + throw new IllegalArgumentException(UNSUPPORTED_PLATFORM_MESSAGE); } - - throw new IllegalArgumentException("platform"); } @NotNull public static CompletionProposal[] itemsShouldExist(String fileText) { - return itemsShouldExist(fileText, Platform.ALL); + return itemsShouldExist(fileText, null); } @NotNull public static CompletionProposal[] itemsShouldAbsent(String fileText) { - return itemsShouldAbsent(fileText, Platform.ALL); + return itemsShouldAbsent(fileText, null); } public static CompletionProposal[] processProposalAssertions(String fileText, String... prefixes) { @@ -180,21 +181,23 @@ public class ExpectedCompletionUtils { @Nullable public static Integer getExpectedNumber(String fileText) { - return getExpectedNumber(fileText, Platform.ALL); + return getExpectedNumber(fileText, null); } @Nullable - public static Integer getExpectedNumber(String fileText, Platform platform) { - switch (platform) { - case ALL: - return InTextDirectivesUtils.getPrefixedInt(fileText, NUMBER_LINE_PREFIX); - case JAVA: - return getPlatformExpectedNumber(fileText, NUMBER_JAVA_LINE_PREFIX); - case JS: - return getPlatformExpectedNumber(fileText, NUMBER_JS_LINE_PREFIX); + public static Integer getExpectedNumber(String fileText, @Nullable TargetPlatform platform) { + if (platform == null) { + return InTextDirectivesUtils.getPrefixedInt(fileText, NUMBER_LINE_PREFIX); + } + else if (platform == TargetPlatform.JVM) { + return getPlatformExpectedNumber(fileText, NUMBER_JAVA_LINE_PREFIX); + } + else if (platform == TargetPlatform.JS) { + return getPlatformExpectedNumber(fileText, NUMBER_JS_LINE_PREFIX); + } + else { + throw new IllegalArgumentException(UNSUPPORTED_PLATFORM_MESSAGE); } - - throw new IllegalArgumentException("platform"); } @Nullable diff --git a/idea/tests/org/jetbrains/jet/completion/JetFixtureCompletionBaseTestCase.java b/idea/tests/org/jetbrains/jet/completion/JetFixtureCompletionBaseTestCase.java index 288ea708a06..15e06753342 100644 --- a/idea/tests/org/jetbrains/jet/completion/JetFixtureCompletionBaseTestCase.java +++ b/idea/tests/org/jetbrains/jet/completion/JetFixtureCompletionBaseTestCase.java @@ -20,6 +20,7 @@ import com.intellij.codeInsight.CodeInsightSettings; import com.intellij.codeInsight.completion.CompletionType; import com.intellij.codeInsight.lookup.LookupElement; import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase; +import org.jetbrains.jet.plugin.project.TargetPlatform; public abstract class JetFixtureCompletionBaseTestCase extends LightCodeInsightFixtureTestCase { private boolean autocompleteSetting; @@ -39,7 +40,7 @@ public abstract class JetFixtureCompletionBaseTestCase extends LightCodeInsightF super.tearDown(); } - public abstract ExpectedCompletionUtils.Platform getPlatform(); + public abstract TargetPlatform getPlatform(); public void doTest(String testPath) { myFixture.configureByFile(testPath);