aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org/apache/commons/lang3/SystemUtilsTest.java')
-rw-r--r--src/test/java/org/apache/commons/lang3/SystemUtilsTest.java885
1 files changed, 885 insertions, 0 deletions
diff --git a/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java b/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java
new file mode 100644
index 000000000..753de4dab
--- /dev/null
+++ b/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java
@@ -0,0 +1,885 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.commons.lang3;
+
+import static org.apache.commons.lang3.JavaVersion.JAVA_10;
+import static org.apache.commons.lang3.JavaVersion.JAVA_11;
+import static org.apache.commons.lang3.JavaVersion.JAVA_12;
+import static org.apache.commons.lang3.JavaVersion.JAVA_13;
+import static org.apache.commons.lang3.JavaVersion.JAVA_1_1;
+import static org.apache.commons.lang3.JavaVersion.JAVA_1_2;
+import static org.apache.commons.lang3.JavaVersion.JAVA_1_3;
+import static org.apache.commons.lang3.JavaVersion.JAVA_1_4;
+import static org.apache.commons.lang3.JavaVersion.JAVA_1_5;
+import static org.apache.commons.lang3.JavaVersion.JAVA_1_6;
+import static org.apache.commons.lang3.JavaVersion.JAVA_1_7;
+import static org.apache.commons.lang3.JavaVersion.JAVA_1_8;
+import static org.apache.commons.lang3.JavaVersion.JAVA_9;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertFalse;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+import java.io.File;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Modifier;
+import java.util.Locale;
+
+import org.junit.jupiter.api.Test;
+
+/**
+ * Unit tests {@link org.apache.commons.lang3.SystemUtils}.
+ *
+ * Only limited testing can be performed.
+ */
+public class SystemUtilsTest extends AbstractLangTest {
+
+ @Test
+ @SuppressWarnings("deprecation")
+ public void test_IS_JAVA() {
+ final String javaVersion = SystemUtils.JAVA_VERSION;
+ if (javaVersion == null) {
+ assertFalse(SystemUtils.IS_JAVA_1_1);
+ assertFalse(SystemUtils.IS_JAVA_1_2);
+ assertFalse(SystemUtils.IS_JAVA_1_3);
+ assertFalse(SystemUtils.IS_JAVA_1_4);
+ assertFalse(SystemUtils.IS_JAVA_1_5);
+ assertFalse(SystemUtils.IS_JAVA_1_6);
+ assertFalse(SystemUtils.IS_JAVA_1_7);
+ assertFalse(SystemUtils.IS_JAVA_1_8);
+ assertFalse(SystemUtils.IS_JAVA_1_9);
+ assertFalse(SystemUtils.IS_JAVA_9);
+ assertFalse(SystemUtils.IS_JAVA_10);
+ assertFalse(SystemUtils.IS_JAVA_11);
+ assertFalse(SystemUtils.IS_JAVA_12);
+ assertFalse(SystemUtils.IS_JAVA_13);
+ assertFalse(SystemUtils.IS_JAVA_14);
+ assertFalse(SystemUtils.IS_JAVA_15);
+ assertFalse(SystemUtils.IS_JAVA_16);
+ assertFalse(SystemUtils.IS_JAVA_17);
+ assertFalse(SystemUtils.IS_JAVA_18);
+ } else if (javaVersion.startsWith("1.8")) {
+ assertFalse(SystemUtils.IS_JAVA_1_1);
+ assertFalse(SystemUtils.IS_JAVA_1_2);
+ assertFalse(SystemUtils.IS_JAVA_1_3);
+ assertFalse(SystemUtils.IS_JAVA_1_4);
+ assertFalse(SystemUtils.IS_JAVA_1_5);
+ assertFalse(SystemUtils.IS_JAVA_1_6);
+ assertFalse(SystemUtils.IS_JAVA_1_7);
+ assertTrue(SystemUtils.IS_JAVA_1_8);
+ assertFalse(SystemUtils.IS_JAVA_1_9);
+ assertFalse(SystemUtils.IS_JAVA_9);
+ assertFalse(SystemUtils.IS_JAVA_10);
+ assertFalse(SystemUtils.IS_JAVA_11);
+ assertFalse(SystemUtils.IS_JAVA_12);
+ assertFalse(SystemUtils.IS_JAVA_13);
+ assertFalse(SystemUtils.IS_JAVA_14);
+ assertFalse(SystemUtils.IS_JAVA_15);
+ assertFalse(SystemUtils.IS_JAVA_16);
+ assertFalse(SystemUtils.IS_JAVA_17);
+ assertFalse(SystemUtils.IS_JAVA_18);
+ } else if (javaVersion.startsWith("9")) {
+ assertFalse(SystemUtils.IS_JAVA_1_1);
+ assertFalse(SystemUtils.IS_JAVA_1_2);
+ assertFalse(SystemUtils.IS_JAVA_1_3);
+ assertFalse(SystemUtils.IS_JAVA_1_4);
+ assertFalse(SystemUtils.IS_JAVA_1_5);
+ assertFalse(SystemUtils.IS_JAVA_1_6);
+ assertFalse(SystemUtils.IS_JAVA_1_7);
+ assertFalse(SystemUtils.IS_JAVA_1_8);
+ assertTrue(SystemUtils.IS_JAVA_1_9);
+ assertTrue(SystemUtils.IS_JAVA_9);
+ assertFalse(SystemUtils.IS_JAVA_10);
+ assertFalse(SystemUtils.IS_JAVA_11);
+ assertFalse(SystemUtils.IS_JAVA_12);
+ assertFalse(SystemUtils.IS_JAVA_13);
+ assertFalse(SystemUtils.IS_JAVA_14);
+ assertFalse(SystemUtils.IS_JAVA_15);
+ assertFalse(SystemUtils.IS_JAVA_16);
+ assertFalse(SystemUtils.IS_JAVA_17);
+ assertFalse(SystemUtils.IS_JAVA_18);
+ } else if (javaVersion.startsWith("10")) {
+ assertFalse(SystemUtils.IS_JAVA_1_1);
+ assertFalse(SystemUtils.IS_JAVA_1_2);
+ assertFalse(SystemUtils.IS_JAVA_1_3);
+ assertFalse(SystemUtils.IS_JAVA_1_4);
+ assertFalse(SystemUtils.IS_JAVA_1_5);
+ assertFalse(SystemUtils.IS_JAVA_1_6);
+ assertFalse(SystemUtils.IS_JAVA_1_7);
+ assertFalse(SystemUtils.IS_JAVA_1_8);
+ assertFalse(SystemUtils.IS_JAVA_1_9);
+ assertFalse(SystemUtils.IS_JAVA_9);
+ assertTrue(SystemUtils.IS_JAVA_10);
+ assertFalse(SystemUtils.IS_JAVA_11);
+ assertFalse(SystemUtils.IS_JAVA_12);
+ assertFalse(SystemUtils.IS_JAVA_13);
+ assertFalse(SystemUtils.IS_JAVA_14);
+ assertFalse(SystemUtils.IS_JAVA_15);
+ assertFalse(SystemUtils.IS_JAVA_16);
+ assertFalse(SystemUtils.IS_JAVA_17);
+ assertFalse(SystemUtils.IS_JAVA_18);
+ } else if (javaVersion.startsWith("11")) {
+ assertFalse(SystemUtils.IS_JAVA_1_1);
+ assertFalse(SystemUtils.IS_JAVA_1_2);
+ assertFalse(SystemUtils.IS_JAVA_1_3);
+ assertFalse(SystemUtils.IS_JAVA_1_4);
+ assertFalse(SystemUtils.IS_JAVA_1_5);
+ assertFalse(SystemUtils.IS_JAVA_1_6);
+ assertFalse(SystemUtils.IS_JAVA_1_7);
+ assertFalse(SystemUtils.IS_JAVA_1_8);
+ assertFalse(SystemUtils.IS_JAVA_1_9);
+ assertFalse(SystemUtils.IS_JAVA_9);
+ assertFalse(SystemUtils.IS_JAVA_10);
+ assertTrue(SystemUtils.IS_JAVA_11);
+ assertFalse(SystemUtils.IS_JAVA_12);
+ assertFalse(SystemUtils.IS_JAVA_13);
+ assertFalse(SystemUtils.IS_JAVA_14);
+ assertFalse(SystemUtils.IS_JAVA_15);
+ assertFalse(SystemUtils.IS_JAVA_16);
+ assertFalse(SystemUtils.IS_JAVA_17);
+ assertFalse(SystemUtils.IS_JAVA_18);
+ } else if (javaVersion.startsWith("12")) {
+ assertFalse(SystemUtils.IS_JAVA_1_1);
+ assertFalse(SystemUtils.IS_JAVA_1_2);
+ assertFalse(SystemUtils.IS_JAVA_1_3);
+ assertFalse(SystemUtils.IS_JAVA_1_4);
+ assertFalse(SystemUtils.IS_JAVA_1_5);
+ assertFalse(SystemUtils.IS_JAVA_1_6);
+ assertFalse(SystemUtils.IS_JAVA_1_7);
+ assertFalse(SystemUtils.IS_JAVA_1_8);
+ assertFalse(SystemUtils.IS_JAVA_1_9);
+ assertFalse(SystemUtils.IS_JAVA_9);
+ assertFalse(SystemUtils.IS_JAVA_10);
+ assertFalse(SystemUtils.IS_JAVA_11);
+ assertTrue(SystemUtils.IS_JAVA_12);
+ assertFalse(SystemUtils.IS_JAVA_13);
+ assertFalse(SystemUtils.IS_JAVA_14);
+ assertFalse(SystemUtils.IS_JAVA_15);
+ assertFalse(SystemUtils.IS_JAVA_16);
+ assertFalse(SystemUtils.IS_JAVA_17);
+ assertFalse(SystemUtils.IS_JAVA_18);
+ } else if (javaVersion.startsWith("13")) {
+ assertFalse(SystemUtils.IS_JAVA_1_1);
+ assertFalse(SystemUtils.IS_JAVA_1_2);
+ assertFalse(SystemUtils.IS_JAVA_1_3);
+ assertFalse(SystemUtils.IS_JAVA_1_4);
+ assertFalse(SystemUtils.IS_JAVA_1_5);
+ assertFalse(SystemUtils.IS_JAVA_1_6);
+ assertFalse(SystemUtils.IS_JAVA_1_7);
+ assertFalse(SystemUtils.IS_JAVA_1_8);
+ assertFalse(SystemUtils.IS_JAVA_1_9);
+ assertFalse(SystemUtils.IS_JAVA_9);
+ assertFalse(SystemUtils.IS_JAVA_10);
+ assertFalse(SystemUtils.IS_JAVA_11);
+ assertFalse(SystemUtils.IS_JAVA_12);
+ assertTrue(SystemUtils.IS_JAVA_13);
+ assertFalse(SystemUtils.IS_JAVA_14);
+ assertFalse(SystemUtils.IS_JAVA_15);
+ assertFalse(SystemUtils.IS_JAVA_16);
+ assertFalse(SystemUtils.IS_JAVA_17);
+ assertFalse(SystemUtils.IS_JAVA_18);
+ } else if (javaVersion.startsWith("14")) {
+ assertFalse(SystemUtils.IS_JAVA_1_1);
+ assertFalse(SystemUtils.IS_JAVA_1_2);
+ assertFalse(SystemUtils.IS_JAVA_1_3);
+ assertFalse(SystemUtils.IS_JAVA_1_4);
+ assertFalse(SystemUtils.IS_JAVA_1_5);
+ assertFalse(SystemUtils.IS_JAVA_1_6);
+ assertFalse(SystemUtils.IS_JAVA_1_7);
+ assertFalse(SystemUtils.IS_JAVA_1_8);
+ assertFalse(SystemUtils.IS_JAVA_1_9);
+ assertFalse(SystemUtils.IS_JAVA_9);
+ assertFalse(SystemUtils.IS_JAVA_10);
+ assertFalse(SystemUtils.IS_JAVA_11);
+ assertFalse(SystemUtils.IS_JAVA_12);
+ assertFalse(SystemUtils.IS_JAVA_13);
+ assertTrue(SystemUtils.IS_JAVA_14);
+ assertFalse(SystemUtils.IS_JAVA_15);
+ assertFalse(SystemUtils.IS_JAVA_16);
+ assertFalse(SystemUtils.IS_JAVA_17);
+ assertFalse(SystemUtils.IS_JAVA_18);
+ } else if (javaVersion.startsWith("15")) {
+ assertFalse(SystemUtils.IS_JAVA_1_1);
+ assertFalse(SystemUtils.IS_JAVA_1_2);
+ assertFalse(SystemUtils.IS_JAVA_1_3);
+ assertFalse(SystemUtils.IS_JAVA_1_4);
+ assertFalse(SystemUtils.IS_JAVA_1_5);
+ assertFalse(SystemUtils.IS_JAVA_1_6);
+ assertFalse(SystemUtils.IS_JAVA_1_7);
+ assertFalse(SystemUtils.IS_JAVA_1_8);
+ assertFalse(SystemUtils.IS_JAVA_1_9);
+ assertFalse(SystemUtils.IS_JAVA_9);
+ assertFalse(SystemUtils.IS_JAVA_10);
+ assertFalse(SystemUtils.IS_JAVA_11);
+ assertFalse(SystemUtils.IS_JAVA_12);
+ assertFalse(SystemUtils.IS_JAVA_13);
+ assertFalse(SystemUtils.IS_JAVA_14);
+ assertTrue(SystemUtils.IS_JAVA_15);
+ assertFalse(SystemUtils.IS_JAVA_16);
+ assertFalse(SystemUtils.IS_JAVA_17);
+ assertFalse(SystemUtils.IS_JAVA_18);
+ } else if (javaVersion.startsWith("16")) {
+ assertFalse(SystemUtils.IS_JAVA_1_1);
+ assertFalse(SystemUtils.IS_JAVA_1_2);
+ assertFalse(SystemUtils.IS_JAVA_1_3);
+ assertFalse(SystemUtils.IS_JAVA_1_4);
+ assertFalse(SystemUtils.IS_JAVA_1_5);
+ assertFalse(SystemUtils.IS_JAVA_1_6);
+ assertFalse(SystemUtils.IS_JAVA_1_7);
+ assertFalse(SystemUtils.IS_JAVA_1_8);
+ assertFalse(SystemUtils.IS_JAVA_1_9);
+ assertFalse(SystemUtils.IS_JAVA_9);
+ assertFalse(SystemUtils.IS_JAVA_10);
+ assertFalse(SystemUtils.IS_JAVA_11);
+ assertFalse(SystemUtils.IS_JAVA_12);
+ assertFalse(SystemUtils.IS_JAVA_13);
+ assertFalse(SystemUtils.IS_JAVA_14);
+ assertFalse(SystemUtils.IS_JAVA_15);
+ assertTrue(SystemUtils.IS_JAVA_16);
+ assertFalse(SystemUtils.IS_JAVA_17);
+ assertFalse(SystemUtils.IS_JAVA_18);
+ } else if (javaVersion.startsWith("17")) {
+ assertFalse(SystemUtils.IS_JAVA_1_1);
+ assertFalse(SystemUtils.IS_JAVA_1_2);
+ assertFalse(SystemUtils.IS_JAVA_1_3);
+ assertFalse(SystemUtils.IS_JAVA_1_4);
+ assertFalse(SystemUtils.IS_JAVA_1_5);
+ assertFalse(SystemUtils.IS_JAVA_1_6);
+ assertFalse(SystemUtils.IS_JAVA_1_7);
+ assertFalse(SystemUtils.IS_JAVA_1_8);
+ assertFalse(SystemUtils.IS_JAVA_1_9);
+ assertFalse(SystemUtils.IS_JAVA_9);
+ assertFalse(SystemUtils.IS_JAVA_10);
+ assertFalse(SystemUtils.IS_JAVA_11);
+ assertFalse(SystemUtils.IS_JAVA_12);
+ assertFalse(SystemUtils.IS_JAVA_13);
+ assertFalse(SystemUtils.IS_JAVA_14);
+ assertFalse(SystemUtils.IS_JAVA_15);
+ assertFalse(SystemUtils.IS_JAVA_16);
+ assertTrue(SystemUtils.IS_JAVA_17);
+ assertFalse(SystemUtils.IS_JAVA_18);
+ } else if (javaVersion.startsWith("18")) {
+ assertFalse(SystemUtils.IS_JAVA_1_1);
+ assertFalse(SystemUtils.IS_JAVA_1_2);
+ assertFalse(SystemUtils.IS_JAVA_1_3);
+ assertFalse(SystemUtils.IS_JAVA_1_4);
+ assertFalse(SystemUtils.IS_JAVA_1_5);
+ assertFalse(SystemUtils.IS_JAVA_1_6);
+ assertFalse(SystemUtils.IS_JAVA_1_7);
+ assertFalse(SystemUtils.IS_JAVA_1_8);
+ assertFalse(SystemUtils.IS_JAVA_1_9);
+ assertFalse(SystemUtils.IS_JAVA_9);
+ assertFalse(SystemUtils.IS_JAVA_10);
+ assertFalse(SystemUtils.IS_JAVA_11);
+ assertFalse(SystemUtils.IS_JAVA_12);
+ assertFalse(SystemUtils.IS_JAVA_13);
+ assertFalse(SystemUtils.IS_JAVA_14);
+ assertFalse(SystemUtils.IS_JAVA_15);
+ assertFalse(SystemUtils.IS_JAVA_16);
+ assertFalse(SystemUtils.IS_JAVA_17);
+ assertTrue(SystemUtils.IS_JAVA_18);
+ } else {
+ System.out.println("Can't test IS_JAVA value: " + javaVersion);
+ }
+ }
+
+ @Test
+ public void test_IS_OS() {
+ final String osName = System.getProperty("os.name");
+ if (osName == null) {
+ assertFalse(SystemUtils.IS_OS_WINDOWS);
+ assertFalse(SystemUtils.IS_OS_UNIX);
+ assertFalse(SystemUtils.IS_OS_SOLARIS);
+ assertFalse(SystemUtils.IS_OS_LINUX);
+ assertFalse(SystemUtils.IS_OS_MAC_OSX);
+ } else if (osName.startsWith("Windows")) {
+ assertFalse(SystemUtils.IS_OS_UNIX);
+ assertTrue(SystemUtils.IS_OS_WINDOWS);
+ } else if (osName.startsWith("Solaris")) {
+ assertTrue(SystemUtils.IS_OS_SOLARIS);
+ assertTrue(SystemUtils.IS_OS_UNIX);
+ assertFalse(SystemUtils.IS_OS_WINDOWS);
+ } else if (osName.toLowerCase(Locale.ENGLISH).startsWith("linux")) {
+ assertTrue(SystemUtils.IS_OS_LINUX);
+ assertTrue(SystemUtils.IS_OS_UNIX);
+ assertFalse(SystemUtils.IS_OS_WINDOWS);
+ } else if (osName.startsWith("Mac OS X")) {
+ assertTrue(SystemUtils.IS_OS_MAC_OSX);
+ assertTrue(SystemUtils.IS_OS_UNIX);
+ assertFalse(SystemUtils.IS_OS_WINDOWS);
+ } else if (osName.startsWith("OS/2")) {
+ assertTrue(SystemUtils.IS_OS_OS2);
+ assertFalse(SystemUtils.IS_OS_UNIX);
+ assertFalse(SystemUtils.IS_OS_WINDOWS);
+ } else if (osName.startsWith("SunOS")) {
+ assertTrue(SystemUtils.IS_OS_SUN_OS);
+ assertTrue(SystemUtils.IS_OS_UNIX);
+ assertFalse(SystemUtils.IS_OS_WINDOWS);
+ } else if (osName.startsWith("FreeBSD")) {
+ assertTrue(SystemUtils.IS_OS_FREE_BSD);
+ assertTrue(SystemUtils.IS_OS_UNIX);
+ assertFalse(SystemUtils.IS_OS_WINDOWS);
+ } else {
+ System.out.println("Can't test IS_OS value: " + osName);
+ }
+ }
+
+ @Test
+ public void test_IS_zOS() {
+ final String osName = System.getProperty("os.name");
+ if (osName == null) {
+ assertFalse(SystemUtils.IS_OS_ZOS);
+ } else if (osName.contains("z/OS")) {
+ assertFalse(SystemUtils.IS_OS_WINDOWS);
+ assertTrue(SystemUtils.IS_OS_ZOS);
+ }
+ }
+
+ /**
+ * Assumes no security manager exists.
+ */
+ @Test
+ public void test_USER_NAME() {
+ assertEquals(System.getProperty("user.name"), SystemUtils.USER_NAME);
+ }
+
+ @Test
+ public void testConstructor() {
+ assertNotNull(new SystemUtils());
+ final Constructor<?>[] cons = SystemUtils.class.getDeclaredConstructors();
+ assertEquals(1, cons.length);
+ assertTrue(Modifier.isPublic(cons[0].getModifiers()));
+ assertTrue(Modifier.isPublic(SystemUtils.class.getModifiers()));
+ assertFalse(Modifier.isFinal(SystemUtils.class.getModifiers()));
+ }
+
+ @Test
+ public void testGetEnvironmentVariableAbsent() {
+ final String name = "THIS_ENV_VAR_SHOULD_NOT_EXIST_FOR_THIS_TEST_TO_PASS";
+ final String expected = System.getenv(name);
+ assertNull(expected);
+ final String value = SystemUtils.getEnvironmentVariable(name, "DEFAULT");
+ assertEquals("DEFAULT", value);
+ }
+
+ @Test
+ public void testGetEnvironmentVariablePresent() {
+ final String name = "PATH";
+ final String expected = System.getenv(name);
+ final String value = SystemUtils.getEnvironmentVariable(name, null);
+ assertEquals(expected, value);
+ }
+
+ @Test
+ public void testGetHostName() {
+ final String hostName = SystemUtils.getHostName();
+ final String expected = SystemUtils.IS_OS_WINDOWS ? System.getenv("COMPUTERNAME") : System.getenv("HOSTNAME");
+ assertEquals(expected, hostName);
+ }
+
+ /**
+ * Assumes no security manager exists.
+ */
+ @Test
+ public void testGetJavaHome() {
+ final File dir = SystemUtils.getJavaHome();
+ assertNotNull(dir);
+ assertTrue(dir.exists());
+ }
+
+ /**
+ * Assumes no security manager exists.
+ */
+ @Test
+ public void testGetJavaIoTmpDir() {
+ final File dir = SystemUtils.getJavaIoTmpDir();
+ assertNotNull(dir);
+ assertTrue(dir.exists());
+ }
+
+ /**
+ * Assumes no security manager exists.
+ */
+ @Test
+ public void testGetUserDir() {
+ final File dir = SystemUtils.getUserDir();
+ assertNotNull(dir);
+ assertTrue(dir.exists());
+ }
+
+ /**
+ * Assumes no security manager exists.
+ */
+ @Test
+ public void testGetUserHome() {
+ final File dir = SystemUtils.getUserHome();
+ assertNotNull(dir);
+ assertTrue(dir.exists());
+ }
+
+ /**
+ * Assumes no security manager exists.
+ */
+ @Test
+ public void testGetUserName() {
+ assertEquals(System.getProperty("user.name"), SystemUtils.getUserName());
+ // Don't overwrite the system property in this test in case something goes awfully wrong.
+ assertEquals(System.getProperty("user.name", "foo"), SystemUtils.getUserName("foo"));
+ }
+
+ @Test
+ public void testIsJavaVersionAtLeast() {
+ if (SystemUtils.IS_JAVA_1_8) {
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_1));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_2));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_3));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_4));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_5));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_6));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_7));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_8));
+ assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_9));
+ assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_10));
+ assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_11));
+ assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_12));
+ assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_13));
+ } else if (SystemUtils.IS_JAVA_9) {
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_1));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_2));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_3));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_4));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_5));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_6));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_7));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_8));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_9));
+ assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_10));
+ assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_11));
+ assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_12));
+ assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_13));
+ } else if (SystemUtils.IS_JAVA_10) {
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_1));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_2));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_3));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_4));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_5));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_6));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_7));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_8));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_9));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_10));
+ assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_11));
+ assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_12));
+ assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_13));
+ } else if (SystemUtils.IS_JAVA_11) {
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_1));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_2));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_3));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_4));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_5));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_6));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_7));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_8));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_9));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_10));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_11));
+ assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_12));
+ assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_13));
+ } else if (SystemUtils.IS_JAVA_12) {
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_1));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_2));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_3));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_4));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_5));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_6));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_7));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_8));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_9));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_10));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_11));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_12));
+ assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_13));
+ } else if (SystemUtils.IS_JAVA_13) {
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_1));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_2));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_3));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_4));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_5));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_6));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_7));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_8));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_9));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_10));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_11));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_12));
+ assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_13));
+ }
+ }
+
+ @Test
+ public void testIsJavaVersionAtMost() {
+ if (SystemUtils.IS_JAVA_1_8) {
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_1));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_2));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_3));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_4));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_5));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_6));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_7));
+ assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_1_8));
+ assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_9));
+ assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_10));
+ assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_11));
+ assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_12));
+ assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_13));
+ } else if (SystemUtils.IS_JAVA_9) {
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_1));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_2));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_3));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_4));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_5));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_6));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_7));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_8));
+ assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_9));
+ assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_10));
+ assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_11));
+ assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_12));
+ assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_13));
+ } else if (SystemUtils.IS_JAVA_10) {
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_1));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_2));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_3));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_4));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_5));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_6));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_7));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_8));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_9));
+ assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_10));
+ assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_11));
+ assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_12));
+ assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_13));
+ } else if (SystemUtils.IS_JAVA_11) {
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_1));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_2));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_3));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_4));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_5));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_6));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_7));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_8));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_9));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_10));
+ assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_11));
+ assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_12));
+ assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_13));
+ } else if (SystemUtils.IS_JAVA_12) {
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_1));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_2));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_3));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_4));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_5));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_6));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_7));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_8));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_9));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_10));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_11));
+ assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_12));
+ assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_13));
+ } else if (SystemUtils.IS_JAVA_13) {
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_1));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_2));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_3));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_4));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_5));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_6));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_7));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_8));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_9));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_10));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_11));
+ assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_12));
+ assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_13));
+ }
+ }
+
+ @Test
+ public void testJavaAwtHeadless() {
+ final String expectedStringValue = System.getProperty("java.awt.headless");
+ final String expectedStringValueWithDefault = System.getProperty("java.awt.headless", "false");
+ assertNotNull(expectedStringValueWithDefault);
+ final boolean expectedValue = Boolean.parseBoolean(expectedStringValue);
+ if (expectedStringValue != null) {
+ assertEquals(expectedStringValue, SystemUtils.JAVA_AWT_HEADLESS);
+ }
+ assertEquals(expectedValue, SystemUtils.isJavaAwtHeadless());
+ assertEquals(expectedStringValueWithDefault, "" + SystemUtils.isJavaAwtHeadless());
+ }
+
+ @Test
+ public void testJavaVersionMatches() {
+ String javaVersion = null;
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
+ javaVersion = "";
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
+ javaVersion = "1.0";
+ assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
+ javaVersion = "1.1";
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
+ assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
+ javaVersion = "1.2";
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
+ assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
+ javaVersion = "1.3.0";
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
+ assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
+ javaVersion = "1.3.1";
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
+ assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
+ javaVersion = "1.4.0";
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
+ assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
+ javaVersion = "1.4.1";
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
+ assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
+ javaVersion = "1.4.2";
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
+ assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
+ javaVersion = "1.5.0";
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
+ assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
+ javaVersion = "1.6.0";
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
+ assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
+ javaVersion = "1.7.0";
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
+ assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
+ javaVersion = "1.8.0";
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
+ assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
+ javaVersion = "9";
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7"));
+ assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8"));
+ assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "9"));
+ }
+
+ @Test
+ public void testOSMatchesName() {
+ String osName = null;
+ assertFalse(SystemUtils.isOSNameMatch(osName, "Windows"));
+ osName = "";
+ assertFalse(SystemUtils.isOSNameMatch(osName, "Windows"));
+ osName = "Windows 95";
+ assertTrue(SystemUtils.isOSNameMatch(osName, "Windows"));
+ osName = "Windows NT";
+ assertTrue(SystemUtils.isOSNameMatch(osName, "Windows"));
+ osName = "OS/2";
+ assertFalse(SystemUtils.isOSNameMatch(osName, "Windows"));
+ }
+
+ @Test
+ public void testOSMatchesNameAndVersion() {
+ String osName = null;
+ String osVersion = null;
+ assertFalse(SystemUtils.isOSMatch(osName, osVersion, "Windows 9", "4.1"));
+ osName = "";
+ osVersion = "";
+ assertFalse(SystemUtils.isOSMatch(osName, osVersion, "Windows 9", "4.1"));
+ osName = "Windows 95";
+ osVersion = "4.0";
+ assertFalse(SystemUtils.isOSMatch(osName, osVersion, "Windows 9", "4.1"));
+ osName = "Windows 95";
+ osVersion = "4.1";
+ assertTrue(SystemUtils.isOSMatch(osName, osVersion, "Windows 9", "4.1"));
+ osName = "Windows 98";
+ osVersion = "4.1";
+ assertTrue(SystemUtils.isOSMatch(osName, osVersion, "Windows 9", "4.1"));
+ osName = "Windows NT";
+ osVersion = "4.0";
+ assertFalse(SystemUtils.isOSMatch(osName, osVersion, "Windows 9", "4.1"));
+ osName = "OS/2";
+ osVersion = "4.0";
+ assertFalse(SystemUtils.isOSMatch(osName, osVersion, "Windows 9", "4.1"));
+ }
+
+ @Test
+ public void testOsVersionMatches() {
+ String osVersion = null;
+ assertFalse(SystemUtils.isOSVersionMatch(osVersion, "10.1"));
+
+ osVersion = "";
+ assertFalse(SystemUtils.isOSVersionMatch(osVersion, "10.1"));
+
+ osVersion = "10";
+ assertTrue(SystemUtils.isOSVersionMatch(osVersion, "10.1"));
+ assertTrue(SystemUtils.isOSVersionMatch(osVersion, "10.1.1"));
+ assertTrue(SystemUtils.isOSVersionMatch(osVersion, "10.10"));
+ assertTrue(SystemUtils.isOSVersionMatch(osVersion, "10.10.1"));
+
+ osVersion = "10.1";
+ assertTrue(SystemUtils.isOSVersionMatch(osVersion, "10.1"));
+ assertTrue(SystemUtils.isOSVersionMatch(osVersion, "10.1.1"));
+ assertFalse(SystemUtils.isOSVersionMatch(osVersion, "10.10"));
+ assertFalse(SystemUtils.isOSVersionMatch(osVersion, "10.10.1"));
+
+ osVersion = "10.1.1";
+ assertTrue(SystemUtils.isOSVersionMatch(osVersion, "10.1"));
+ assertTrue(SystemUtils.isOSVersionMatch(osVersion, "10.1.1"));
+ assertFalse(SystemUtils.isOSVersionMatch(osVersion, "10.10"));
+ assertFalse(SystemUtils.isOSVersionMatch(osVersion, "10.10.1"));
+
+ osVersion = "10.10";
+ assertFalse(SystemUtils.isOSVersionMatch(osVersion, "10.1"));
+ assertFalse(SystemUtils.isOSVersionMatch(osVersion, "10.1.1"));
+ assertTrue(SystemUtils.isOSVersionMatch(osVersion, "10.10"));
+ assertTrue(SystemUtils.isOSVersionMatch(osVersion, "10.10.1"));
+
+ osVersion = "10.10.1";
+ assertFalse(SystemUtils.isOSVersionMatch(osVersion, "10.1"));
+ assertFalse(SystemUtils.isOSVersionMatch(osVersion, "10.1.1"));
+ assertTrue(SystemUtils.isOSVersionMatch(osVersion, "10.10"));
+ assertTrue(SystemUtils.isOSVersionMatch(osVersion, "10.10.1"));
+ }
+}