diff --git a/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/JavaVersionTest.java b/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/JavaVersionTest.java new file mode 100644 index 000000000..aaf137e7b --- /dev/null +++ b/org.eclipse.xtext.tests/src/org/eclipse/xtext/util/JavaVersionTest.java @@ -0,0 +1,34 @@ +/******************************************************************************* + * Copyright (c) 2018 itemis AG (http://www.itemis.eu) and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + *******************************************************************************/ +package org.eclipse.xtext.util; + +import static org.junit.Assert.*; + +import org.junit.Test; + +/** + * @author Christian Dietrich - Initial contribution and API + */ +public class JavaVersionTest { + + @Test + public void testFromQualifier() { + assertEquals(JavaVersion.JAVA9, JavaVersion.fromQualifier("9")); + assertEquals(JavaVersion.JAVA9, JavaVersion.fromQualifier("1.9")); + assertEquals(JavaVersion.JAVA8, JavaVersion.fromQualifier("8")); + assertEquals(JavaVersion.JAVA8, JavaVersion.fromQualifier("1.8")); + assertEquals(JavaVersion.JAVA7, JavaVersion.fromQualifier("7")); + assertEquals(JavaVersion.JAVA7, JavaVersion.fromQualifier("1.7")); + assertEquals(JavaVersion.JAVA6, JavaVersion.fromQualifier("6")); + assertEquals(JavaVersion.JAVA6, JavaVersion.fromQualifier("1.6")); + assertEquals(JavaVersion.JAVA5, JavaVersion.fromQualifier("1.5")); + assertNull(JavaVersion.fromQualifier("1.4")); + assertNull(JavaVersion.fromQualifier("5")); + } + +} diff --git a/org.eclipse.xtext.util/src/org/eclipse/xtext/util/JavaVersion.java b/org.eclipse.xtext.util/src/org/eclipse/xtext/util/JavaVersion.java index 989f10372..5ad505348 100644 --- a/org.eclipse.xtext.util/src/org/eclipse/xtext/util/JavaVersion.java +++ b/org.eclipse.xtext.util/src/org/eclipse/xtext/util/JavaVersion.java @@ -46,6 +46,12 @@ public enum JavaVersion { JAVA9("Java 9", new String[] {"9", "1.9"}, "JavaSE-9", "-1.9") ; + // if you introduce a new JavaVersion don't forget to adapt + // - org.eclipse.xtext.xbase.testing.InMemoryJavaCompiler.toClassFmt(JavaVersion) + // - org.eclipse.xtext.xbase.compiler.InMemoryJavaCompiler.toClassFmt(JavaVersion) + // - org.eclipse.xtext.java.resource.JavaDerivedStateComputer.toJdtVersion(JavaVersion) + // - org.eclipse.xtext.xbase.idea.facet.XbaseGeneratorConfigProvider.getTargetJavaVersion(XbaseGeneratorConfigurationState, Module) + private final String label; private final String[] qualifiers; private final String bree;