introduce highest registered level to be used in tests

+ fix sentence case IDEA-CR-31331
This commit is contained in:
Anna.Kozlova
2018-04-05 17:20:14 +02:00
parent b5e73c4981
commit 8e42a480ab
6 changed files with 10 additions and 15 deletions
@@ -10,6 +10,7 @@ import com.intellij.util.lang.JavaVersion;
import org.jetbrains.annotations.Nls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.TestOnly;
/**
* Represents a language level (i.e. features available) of a Java code.
@@ -46,6 +47,12 @@ public enum LanguageLevel {
return this == JDK_X ? "Java X" : "Java " + JavaSdkVersion.fromLanguageLevel(this).getDescription();
}
@TestOnly
public static LanguageLevel getHighestRegistered() {
LanguageLevel[] values = values();
return values[values.length - 1];
}
@NotNull
@Nls
public String getPresentableText() {
@@ -9,5 +9,5 @@ jdk.1.7.language.level.description=7 - Diamonds, ARM, multi-catch etc.
jdk.1.8.language.level.description=8 - Lambdas, type annotations etc.
jdk.1.9.language.level.description=9 - Modules, private methods in interfaces etc.
jdk.10.language.level.description=10 - Local variable type inference
jdk.11.language.level.description=11 - Local-Variable Syntax for Lambda Parameters
jdk.11.language.level.description=11 - Local-variable syntax for lambda parameters
jdk.X.language.level.description=X - Experimental features
@@ -57,7 +57,7 @@ public abstract class JavaParsingTestCase extends ParsingTestCase {
}
protected LanguageLevel getHighestLanguageLevel() {
return LanguageLevel.HIGHEST;
return LanguageLevel.getHighestRegistered();
}
@Override
@@ -3,7 +3,6 @@ package com.intellij.java.parser.partial;
import com.intellij.java.parser.JavaParsingTestCase;
import com.intellij.lang.java.parser.JavaParser;
import com.intellij.pom.java.LanguageLevel;
public class ExpressionParserTest extends JavaParsingTestCase {
public ExpressionParserTest() {
@@ -145,11 +144,6 @@ public class ExpressionParserTest extends JavaParsingTestCase {
public void testLambdaExpression26() { doParserTest("(var var) -> var"); }
public void testAmbiguousLambdaExpression() { doParserTest("f( (x) < y , z > (w) -> v )"); }
@Override
protected LanguageLevel getHighestLanguageLevel() {
return LanguageLevel.JDK_11;
}
private void doParserTest(String text) {
doParserTest(text, builder -> JavaParser.INSTANCE.getExpressionParser().parse(builder));
}
@@ -4,7 +4,6 @@ package com.intellij.java.parser.partial;
import com.intellij.java.parser.JavaParsingTestCase;
import com.intellij.lang.java.parser.JavaParser;
import com.intellij.lang.java.parser.ReferenceParser;
import com.intellij.pom.java.LanguageLevel;
public class ReferenceParserTest extends JavaParsingTestCase {
public ReferenceParserTest() {
@@ -40,11 +39,6 @@ public class ReferenceParserTest extends JavaParsingTestCase {
public void testAnyTypeParams() { doTypeParamsParserTest("<any T>"); }
public void testAnyTypeArgs() { doTypeParserTest("T<E_SRC, any, E_DST, ?>"); }
@Override
protected LanguageLevel getHighestLanguageLevel() {
return LanguageLevel.JDK_X;
}
private void doRefParserTest(String text, boolean incomplete) {
doParserTest(text, builder -> JavaParser.INSTANCE.getReferenceParser().parseJavaCodeReference(builder, incomplete, false, false, false));
}
@@ -16,7 +16,7 @@ public class JavaFormatterSpaceTest extends AbstractJavaFormatterTest {
@Override
protected void setUp() throws Exception {
super.setUp();
LanguageLevelProjectExtension.getInstance(LightPlatformTestCase.getProject()).setLanguageLevel(LanguageLevel.HIGHEST);
LanguageLevelProjectExtension.getInstance(LightPlatformTestCase.getProject()).setLanguageLevel(LanguageLevel.getHighestRegistered());
}
public void testSpacingBetweenTypeParameters() {