blob: be5af2d008e790274df4722412075c91d3e08848 [file] [log] [blame]
/*
* 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_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.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.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 {
@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
@SuppressWarnings("deprecation")
public void testIS_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);
} 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);
} 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);
} 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);
} 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);
} 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);
} 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);
} 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);
} 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);
} else {
System.out.println("Can't test IS_JAVA value: " + javaVersion);
}
}
@Test
public void testIS_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 testIS_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);
}
}
@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 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 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"));
}
@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.valueOf(expectedStringValue).booleanValue();
if (expectedStringValue != null) {
assertEquals(expectedStringValue, SystemUtils.JAVA_AWT_HEADLESS);
}
assertEquals(expectedValue, SystemUtils.isJavaAwtHeadless());
assertEquals(expectedStringValueWithDefault, "" + SystemUtils.isJavaAwtHeadless());
}
}