1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, 13 * software distributed under the License is distributed on an 14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 * KIND, either express or implied. See the License for the 16 * specific language governing permissions and limitations 17 * under the License. 18 */ 19 20 package org.apache.commons.lang3; 21 22 import static org.apache.commons.lang3.JavaVersion.JAVA_10; 23 import static org.apache.commons.lang3.JavaVersion.JAVA_11; 24 import static org.apache.commons.lang3.JavaVersion.JAVA_12; 25 import static org.apache.commons.lang3.JavaVersion.JAVA_13; 26 import static org.apache.commons.lang3.JavaVersion.JAVA_1_1; 27 import static org.apache.commons.lang3.JavaVersion.JAVA_1_2; 28 import static org.apache.commons.lang3.JavaVersion.JAVA_1_3; 29 import static org.apache.commons.lang3.JavaVersion.JAVA_1_4; 30 import static org.apache.commons.lang3.JavaVersion.JAVA_1_5; 31 import static org.apache.commons.lang3.JavaVersion.JAVA_1_6; 32 import static org.apache.commons.lang3.JavaVersion.JAVA_1_7; 33 import static org.apache.commons.lang3.JavaVersion.JAVA_1_8; 34 import static org.apache.commons.lang3.JavaVersion.JAVA_9; 35 import static org.junit.jupiter.api.Assertions.assertEquals; 36 import static org.junit.jupiter.api.Assertions.assertFalse; 37 import static org.junit.jupiter.api.Assertions.assertNotNull; 38 import static org.junit.jupiter.api.Assertions.assertNull; 39 import static org.junit.jupiter.api.Assertions.assertTrue; 40 41 import java.io.File; 42 import java.lang.reflect.Constructor; 43 import java.lang.reflect.Modifier; 44 import java.util.Locale; 45 46 import org.junit.jupiter.api.Test; 47 48 /** 49 * Unit tests {@link org.apache.commons.lang3.SystemUtils}. 50 * 51 * Only limited testing can be performed. 52 */ 53 public class SystemUtilsTest extends AbstractLangTest { 54 55 @Test 56 @SuppressWarnings("deprecation") test_IS_JAVA()57 public void test_IS_JAVA() { 58 final String javaVersion = SystemUtils.JAVA_VERSION; 59 if (javaVersion == null) { 60 assertFalse(SystemUtils.IS_JAVA_1_1); 61 assertFalse(SystemUtils.IS_JAVA_1_2); 62 assertFalse(SystemUtils.IS_JAVA_1_3); 63 assertFalse(SystemUtils.IS_JAVA_1_4); 64 assertFalse(SystemUtils.IS_JAVA_1_5); 65 assertFalse(SystemUtils.IS_JAVA_1_6); 66 assertFalse(SystemUtils.IS_JAVA_1_7); 67 assertFalse(SystemUtils.IS_JAVA_1_8); 68 assertFalse(SystemUtils.IS_JAVA_1_9); 69 assertFalse(SystemUtils.IS_JAVA_9); 70 assertFalse(SystemUtils.IS_JAVA_10); 71 assertFalse(SystemUtils.IS_JAVA_11); 72 assertFalse(SystemUtils.IS_JAVA_12); 73 assertFalse(SystemUtils.IS_JAVA_13); 74 assertFalse(SystemUtils.IS_JAVA_14); 75 assertFalse(SystemUtils.IS_JAVA_15); 76 assertFalse(SystemUtils.IS_JAVA_16); 77 assertFalse(SystemUtils.IS_JAVA_17); 78 assertFalse(SystemUtils.IS_JAVA_18); 79 } else if (javaVersion.startsWith("1.8")) { 80 assertFalse(SystemUtils.IS_JAVA_1_1); 81 assertFalse(SystemUtils.IS_JAVA_1_2); 82 assertFalse(SystemUtils.IS_JAVA_1_3); 83 assertFalse(SystemUtils.IS_JAVA_1_4); 84 assertFalse(SystemUtils.IS_JAVA_1_5); 85 assertFalse(SystemUtils.IS_JAVA_1_6); 86 assertFalse(SystemUtils.IS_JAVA_1_7); 87 assertTrue(SystemUtils.IS_JAVA_1_8); 88 assertFalse(SystemUtils.IS_JAVA_1_9); 89 assertFalse(SystemUtils.IS_JAVA_9); 90 assertFalse(SystemUtils.IS_JAVA_10); 91 assertFalse(SystemUtils.IS_JAVA_11); 92 assertFalse(SystemUtils.IS_JAVA_12); 93 assertFalse(SystemUtils.IS_JAVA_13); 94 assertFalse(SystemUtils.IS_JAVA_14); 95 assertFalse(SystemUtils.IS_JAVA_15); 96 assertFalse(SystemUtils.IS_JAVA_16); 97 assertFalse(SystemUtils.IS_JAVA_17); 98 assertFalse(SystemUtils.IS_JAVA_18); 99 } else if (javaVersion.startsWith("9")) { 100 assertFalse(SystemUtils.IS_JAVA_1_1); 101 assertFalse(SystemUtils.IS_JAVA_1_2); 102 assertFalse(SystemUtils.IS_JAVA_1_3); 103 assertFalse(SystemUtils.IS_JAVA_1_4); 104 assertFalse(SystemUtils.IS_JAVA_1_5); 105 assertFalse(SystemUtils.IS_JAVA_1_6); 106 assertFalse(SystemUtils.IS_JAVA_1_7); 107 assertFalse(SystemUtils.IS_JAVA_1_8); 108 assertTrue(SystemUtils.IS_JAVA_1_9); 109 assertTrue(SystemUtils.IS_JAVA_9); 110 assertFalse(SystemUtils.IS_JAVA_10); 111 assertFalse(SystemUtils.IS_JAVA_11); 112 assertFalse(SystemUtils.IS_JAVA_12); 113 assertFalse(SystemUtils.IS_JAVA_13); 114 assertFalse(SystemUtils.IS_JAVA_14); 115 assertFalse(SystemUtils.IS_JAVA_15); 116 assertFalse(SystemUtils.IS_JAVA_16); 117 assertFalse(SystemUtils.IS_JAVA_17); 118 assertFalse(SystemUtils.IS_JAVA_18); 119 } else if (javaVersion.startsWith("10")) { 120 assertFalse(SystemUtils.IS_JAVA_1_1); 121 assertFalse(SystemUtils.IS_JAVA_1_2); 122 assertFalse(SystemUtils.IS_JAVA_1_3); 123 assertFalse(SystemUtils.IS_JAVA_1_4); 124 assertFalse(SystemUtils.IS_JAVA_1_5); 125 assertFalse(SystemUtils.IS_JAVA_1_6); 126 assertFalse(SystemUtils.IS_JAVA_1_7); 127 assertFalse(SystemUtils.IS_JAVA_1_8); 128 assertFalse(SystemUtils.IS_JAVA_1_9); 129 assertFalse(SystemUtils.IS_JAVA_9); 130 assertTrue(SystemUtils.IS_JAVA_10); 131 assertFalse(SystemUtils.IS_JAVA_11); 132 assertFalse(SystemUtils.IS_JAVA_12); 133 assertFalse(SystemUtils.IS_JAVA_13); 134 assertFalse(SystemUtils.IS_JAVA_14); 135 assertFalse(SystemUtils.IS_JAVA_15); 136 assertFalse(SystemUtils.IS_JAVA_16); 137 assertFalse(SystemUtils.IS_JAVA_17); 138 assertFalse(SystemUtils.IS_JAVA_18); 139 } else if (javaVersion.startsWith("11")) { 140 assertFalse(SystemUtils.IS_JAVA_1_1); 141 assertFalse(SystemUtils.IS_JAVA_1_2); 142 assertFalse(SystemUtils.IS_JAVA_1_3); 143 assertFalse(SystemUtils.IS_JAVA_1_4); 144 assertFalse(SystemUtils.IS_JAVA_1_5); 145 assertFalse(SystemUtils.IS_JAVA_1_6); 146 assertFalse(SystemUtils.IS_JAVA_1_7); 147 assertFalse(SystemUtils.IS_JAVA_1_8); 148 assertFalse(SystemUtils.IS_JAVA_1_9); 149 assertFalse(SystemUtils.IS_JAVA_9); 150 assertFalse(SystemUtils.IS_JAVA_10); 151 assertTrue(SystemUtils.IS_JAVA_11); 152 assertFalse(SystemUtils.IS_JAVA_12); 153 assertFalse(SystemUtils.IS_JAVA_13); 154 assertFalse(SystemUtils.IS_JAVA_14); 155 assertFalse(SystemUtils.IS_JAVA_15); 156 assertFalse(SystemUtils.IS_JAVA_16); 157 assertFalse(SystemUtils.IS_JAVA_17); 158 assertFalse(SystemUtils.IS_JAVA_18); 159 } else if (javaVersion.startsWith("12")) { 160 assertFalse(SystemUtils.IS_JAVA_1_1); 161 assertFalse(SystemUtils.IS_JAVA_1_2); 162 assertFalse(SystemUtils.IS_JAVA_1_3); 163 assertFalse(SystemUtils.IS_JAVA_1_4); 164 assertFalse(SystemUtils.IS_JAVA_1_5); 165 assertFalse(SystemUtils.IS_JAVA_1_6); 166 assertFalse(SystemUtils.IS_JAVA_1_7); 167 assertFalse(SystemUtils.IS_JAVA_1_8); 168 assertFalse(SystemUtils.IS_JAVA_1_9); 169 assertFalse(SystemUtils.IS_JAVA_9); 170 assertFalse(SystemUtils.IS_JAVA_10); 171 assertFalse(SystemUtils.IS_JAVA_11); 172 assertTrue(SystemUtils.IS_JAVA_12); 173 assertFalse(SystemUtils.IS_JAVA_13); 174 assertFalse(SystemUtils.IS_JAVA_14); 175 assertFalse(SystemUtils.IS_JAVA_15); 176 assertFalse(SystemUtils.IS_JAVA_16); 177 assertFalse(SystemUtils.IS_JAVA_17); 178 assertFalse(SystemUtils.IS_JAVA_18); 179 } else if (javaVersion.startsWith("13")) { 180 assertFalse(SystemUtils.IS_JAVA_1_1); 181 assertFalse(SystemUtils.IS_JAVA_1_2); 182 assertFalse(SystemUtils.IS_JAVA_1_3); 183 assertFalse(SystemUtils.IS_JAVA_1_4); 184 assertFalse(SystemUtils.IS_JAVA_1_5); 185 assertFalse(SystemUtils.IS_JAVA_1_6); 186 assertFalse(SystemUtils.IS_JAVA_1_7); 187 assertFalse(SystemUtils.IS_JAVA_1_8); 188 assertFalse(SystemUtils.IS_JAVA_1_9); 189 assertFalse(SystemUtils.IS_JAVA_9); 190 assertFalse(SystemUtils.IS_JAVA_10); 191 assertFalse(SystemUtils.IS_JAVA_11); 192 assertFalse(SystemUtils.IS_JAVA_12); 193 assertTrue(SystemUtils.IS_JAVA_13); 194 assertFalse(SystemUtils.IS_JAVA_14); 195 assertFalse(SystemUtils.IS_JAVA_15); 196 assertFalse(SystemUtils.IS_JAVA_16); 197 assertFalse(SystemUtils.IS_JAVA_17); 198 assertFalse(SystemUtils.IS_JAVA_18); 199 } else if (javaVersion.startsWith("14")) { 200 assertFalse(SystemUtils.IS_JAVA_1_1); 201 assertFalse(SystemUtils.IS_JAVA_1_2); 202 assertFalse(SystemUtils.IS_JAVA_1_3); 203 assertFalse(SystemUtils.IS_JAVA_1_4); 204 assertFalse(SystemUtils.IS_JAVA_1_5); 205 assertFalse(SystemUtils.IS_JAVA_1_6); 206 assertFalse(SystemUtils.IS_JAVA_1_7); 207 assertFalse(SystemUtils.IS_JAVA_1_8); 208 assertFalse(SystemUtils.IS_JAVA_1_9); 209 assertFalse(SystemUtils.IS_JAVA_9); 210 assertFalse(SystemUtils.IS_JAVA_10); 211 assertFalse(SystemUtils.IS_JAVA_11); 212 assertFalse(SystemUtils.IS_JAVA_12); 213 assertFalse(SystemUtils.IS_JAVA_13); 214 assertTrue(SystemUtils.IS_JAVA_14); 215 assertFalse(SystemUtils.IS_JAVA_15); 216 assertFalse(SystemUtils.IS_JAVA_16); 217 assertFalse(SystemUtils.IS_JAVA_17); 218 assertFalse(SystemUtils.IS_JAVA_18); 219 } else if (javaVersion.startsWith("15")) { 220 assertFalse(SystemUtils.IS_JAVA_1_1); 221 assertFalse(SystemUtils.IS_JAVA_1_2); 222 assertFalse(SystemUtils.IS_JAVA_1_3); 223 assertFalse(SystemUtils.IS_JAVA_1_4); 224 assertFalse(SystemUtils.IS_JAVA_1_5); 225 assertFalse(SystemUtils.IS_JAVA_1_6); 226 assertFalse(SystemUtils.IS_JAVA_1_7); 227 assertFalse(SystemUtils.IS_JAVA_1_8); 228 assertFalse(SystemUtils.IS_JAVA_1_9); 229 assertFalse(SystemUtils.IS_JAVA_9); 230 assertFalse(SystemUtils.IS_JAVA_10); 231 assertFalse(SystemUtils.IS_JAVA_11); 232 assertFalse(SystemUtils.IS_JAVA_12); 233 assertFalse(SystemUtils.IS_JAVA_13); 234 assertFalse(SystemUtils.IS_JAVA_14); 235 assertTrue(SystemUtils.IS_JAVA_15); 236 assertFalse(SystemUtils.IS_JAVA_16); 237 assertFalse(SystemUtils.IS_JAVA_17); 238 assertFalse(SystemUtils.IS_JAVA_18); 239 } else if (javaVersion.startsWith("16")) { 240 assertFalse(SystemUtils.IS_JAVA_1_1); 241 assertFalse(SystemUtils.IS_JAVA_1_2); 242 assertFalse(SystemUtils.IS_JAVA_1_3); 243 assertFalse(SystemUtils.IS_JAVA_1_4); 244 assertFalse(SystemUtils.IS_JAVA_1_5); 245 assertFalse(SystemUtils.IS_JAVA_1_6); 246 assertFalse(SystemUtils.IS_JAVA_1_7); 247 assertFalse(SystemUtils.IS_JAVA_1_8); 248 assertFalse(SystemUtils.IS_JAVA_1_9); 249 assertFalse(SystemUtils.IS_JAVA_9); 250 assertFalse(SystemUtils.IS_JAVA_10); 251 assertFalse(SystemUtils.IS_JAVA_11); 252 assertFalse(SystemUtils.IS_JAVA_12); 253 assertFalse(SystemUtils.IS_JAVA_13); 254 assertFalse(SystemUtils.IS_JAVA_14); 255 assertFalse(SystemUtils.IS_JAVA_15); 256 assertTrue(SystemUtils.IS_JAVA_16); 257 assertFalse(SystemUtils.IS_JAVA_17); 258 assertFalse(SystemUtils.IS_JAVA_18); 259 } else if (javaVersion.startsWith("17")) { 260 assertFalse(SystemUtils.IS_JAVA_1_1); 261 assertFalse(SystemUtils.IS_JAVA_1_2); 262 assertFalse(SystemUtils.IS_JAVA_1_3); 263 assertFalse(SystemUtils.IS_JAVA_1_4); 264 assertFalse(SystemUtils.IS_JAVA_1_5); 265 assertFalse(SystemUtils.IS_JAVA_1_6); 266 assertFalse(SystemUtils.IS_JAVA_1_7); 267 assertFalse(SystemUtils.IS_JAVA_1_8); 268 assertFalse(SystemUtils.IS_JAVA_1_9); 269 assertFalse(SystemUtils.IS_JAVA_9); 270 assertFalse(SystemUtils.IS_JAVA_10); 271 assertFalse(SystemUtils.IS_JAVA_11); 272 assertFalse(SystemUtils.IS_JAVA_12); 273 assertFalse(SystemUtils.IS_JAVA_13); 274 assertFalse(SystemUtils.IS_JAVA_14); 275 assertFalse(SystemUtils.IS_JAVA_15); 276 assertFalse(SystemUtils.IS_JAVA_16); 277 assertTrue(SystemUtils.IS_JAVA_17); 278 assertFalse(SystemUtils.IS_JAVA_18); 279 } else if (javaVersion.startsWith("18")) { 280 assertFalse(SystemUtils.IS_JAVA_1_1); 281 assertFalse(SystemUtils.IS_JAVA_1_2); 282 assertFalse(SystemUtils.IS_JAVA_1_3); 283 assertFalse(SystemUtils.IS_JAVA_1_4); 284 assertFalse(SystemUtils.IS_JAVA_1_5); 285 assertFalse(SystemUtils.IS_JAVA_1_6); 286 assertFalse(SystemUtils.IS_JAVA_1_7); 287 assertFalse(SystemUtils.IS_JAVA_1_8); 288 assertFalse(SystemUtils.IS_JAVA_1_9); 289 assertFalse(SystemUtils.IS_JAVA_9); 290 assertFalse(SystemUtils.IS_JAVA_10); 291 assertFalse(SystemUtils.IS_JAVA_11); 292 assertFalse(SystemUtils.IS_JAVA_12); 293 assertFalse(SystemUtils.IS_JAVA_13); 294 assertFalse(SystemUtils.IS_JAVA_14); 295 assertFalse(SystemUtils.IS_JAVA_15); 296 assertFalse(SystemUtils.IS_JAVA_16); 297 assertFalse(SystemUtils.IS_JAVA_17); 298 assertTrue(SystemUtils.IS_JAVA_18); 299 } else { 300 System.out.println("Can't test IS_JAVA value: " + javaVersion); 301 } 302 } 303 304 @Test test_IS_OS()305 public void test_IS_OS() { 306 final String osName = System.getProperty("os.name"); 307 if (osName == null) { 308 assertFalse(SystemUtils.IS_OS_WINDOWS); 309 assertFalse(SystemUtils.IS_OS_UNIX); 310 assertFalse(SystemUtils.IS_OS_SOLARIS); 311 assertFalse(SystemUtils.IS_OS_LINUX); 312 assertFalse(SystemUtils.IS_OS_MAC_OSX); 313 } else if (osName.startsWith("Windows")) { 314 assertFalse(SystemUtils.IS_OS_UNIX); 315 assertTrue(SystemUtils.IS_OS_WINDOWS); 316 } else if (osName.startsWith("Solaris")) { 317 assertTrue(SystemUtils.IS_OS_SOLARIS); 318 assertTrue(SystemUtils.IS_OS_UNIX); 319 assertFalse(SystemUtils.IS_OS_WINDOWS); 320 } else if (osName.toLowerCase(Locale.ENGLISH).startsWith("linux")) { 321 assertTrue(SystemUtils.IS_OS_LINUX); 322 assertTrue(SystemUtils.IS_OS_UNIX); 323 assertFalse(SystemUtils.IS_OS_WINDOWS); 324 } else if (osName.startsWith("Mac OS X")) { 325 assertTrue(SystemUtils.IS_OS_MAC_OSX); 326 assertTrue(SystemUtils.IS_OS_UNIX); 327 assertFalse(SystemUtils.IS_OS_WINDOWS); 328 } else if (osName.startsWith("OS/2")) { 329 assertTrue(SystemUtils.IS_OS_OS2); 330 assertFalse(SystemUtils.IS_OS_UNIX); 331 assertFalse(SystemUtils.IS_OS_WINDOWS); 332 } else if (osName.startsWith("SunOS")) { 333 assertTrue(SystemUtils.IS_OS_SUN_OS); 334 assertTrue(SystemUtils.IS_OS_UNIX); 335 assertFalse(SystemUtils.IS_OS_WINDOWS); 336 } else if (osName.startsWith("FreeBSD")) { 337 assertTrue(SystemUtils.IS_OS_FREE_BSD); 338 assertTrue(SystemUtils.IS_OS_UNIX); 339 assertFalse(SystemUtils.IS_OS_WINDOWS); 340 } else { 341 System.out.println("Can't test IS_OS value: " + osName); 342 } 343 } 344 345 @Test test_IS_zOS()346 public void test_IS_zOS() { 347 final String osName = System.getProperty("os.name"); 348 if (osName == null) { 349 assertFalse(SystemUtils.IS_OS_ZOS); 350 } else if (osName.contains("z/OS")) { 351 assertFalse(SystemUtils.IS_OS_WINDOWS); 352 assertTrue(SystemUtils.IS_OS_ZOS); 353 } 354 } 355 356 /** 357 * Assumes no security manager exists. 358 */ 359 @Test test_USER_NAME()360 public void test_USER_NAME() { 361 assertEquals(System.getProperty("user.name"), SystemUtils.USER_NAME); 362 } 363 364 @Test testConstructor()365 public void testConstructor() { 366 assertNotNull(new SystemUtils()); 367 final Constructor<?>[] cons = SystemUtils.class.getDeclaredConstructors(); 368 assertEquals(1, cons.length); 369 assertTrue(Modifier.isPublic(cons[0].getModifiers())); 370 assertTrue(Modifier.isPublic(SystemUtils.class.getModifiers())); 371 assertFalse(Modifier.isFinal(SystemUtils.class.getModifiers())); 372 } 373 374 @Test testGetEnvironmentVariableAbsent()375 public void testGetEnvironmentVariableAbsent() { 376 final String name = "THIS_ENV_VAR_SHOULD_NOT_EXIST_FOR_THIS_TEST_TO_PASS"; 377 final String expected = System.getenv(name); 378 assertNull(expected); 379 final String value = SystemUtils.getEnvironmentVariable(name, "DEFAULT"); 380 assertEquals("DEFAULT", value); 381 } 382 383 @Test testGetEnvironmentVariablePresent()384 public void testGetEnvironmentVariablePresent() { 385 final String name = "PATH"; 386 final String expected = System.getenv(name); 387 final String value = SystemUtils.getEnvironmentVariable(name, null); 388 assertEquals(expected, value); 389 } 390 391 @Test testGetHostName()392 public void testGetHostName() { 393 final String hostName = SystemUtils.getHostName(); 394 final String expected = SystemUtils.IS_OS_WINDOWS ? System.getenv("COMPUTERNAME") : System.getenv("HOSTNAME"); 395 assertEquals(expected, hostName); 396 } 397 398 /** 399 * Assumes no security manager exists. 400 */ 401 @Test testGetJavaHome()402 public void testGetJavaHome() { 403 final File dir = SystemUtils.getJavaHome(); 404 assertNotNull(dir); 405 assertTrue(dir.exists()); 406 } 407 408 /** 409 * Assumes no security manager exists. 410 */ 411 @Test testGetJavaIoTmpDir()412 public void testGetJavaIoTmpDir() { 413 final File dir = SystemUtils.getJavaIoTmpDir(); 414 assertNotNull(dir); 415 assertTrue(dir.exists()); 416 } 417 418 /** 419 * Assumes no security manager exists. 420 */ 421 @Test testGetUserDir()422 public void testGetUserDir() { 423 final File dir = SystemUtils.getUserDir(); 424 assertNotNull(dir); 425 assertTrue(dir.exists()); 426 } 427 428 /** 429 * Assumes no security manager exists. 430 */ 431 @Test testGetUserHome()432 public void testGetUserHome() { 433 final File dir = SystemUtils.getUserHome(); 434 assertNotNull(dir); 435 assertTrue(dir.exists()); 436 } 437 438 /** 439 * Assumes no security manager exists. 440 */ 441 @Test testGetUserName()442 public void testGetUserName() { 443 assertEquals(System.getProperty("user.name"), SystemUtils.getUserName()); 444 // Don't overwrite the system property in this test in case something goes awfully wrong. 445 assertEquals(System.getProperty("user.name", "foo"), SystemUtils.getUserName("foo")); 446 } 447 448 @Test testIsJavaVersionAtLeast()449 public void testIsJavaVersionAtLeast() { 450 if (SystemUtils.IS_JAVA_1_8) { 451 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_1)); 452 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_2)); 453 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_3)); 454 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_4)); 455 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_5)); 456 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_6)); 457 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_7)); 458 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_8)); 459 assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_9)); 460 assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_10)); 461 assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_11)); 462 assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_12)); 463 assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_13)); 464 } else if (SystemUtils.IS_JAVA_9) { 465 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_1)); 466 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_2)); 467 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_3)); 468 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_4)); 469 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_5)); 470 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_6)); 471 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_7)); 472 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_8)); 473 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_9)); 474 assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_10)); 475 assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_11)); 476 assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_12)); 477 assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_13)); 478 } else if (SystemUtils.IS_JAVA_10) { 479 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_1)); 480 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_2)); 481 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_3)); 482 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_4)); 483 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_5)); 484 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_6)); 485 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_7)); 486 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_8)); 487 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_9)); 488 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_10)); 489 assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_11)); 490 assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_12)); 491 assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_13)); 492 } else if (SystemUtils.IS_JAVA_11) { 493 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_1)); 494 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_2)); 495 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_3)); 496 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_4)); 497 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_5)); 498 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_6)); 499 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_7)); 500 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_8)); 501 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_9)); 502 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_10)); 503 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_11)); 504 assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_12)); 505 assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_13)); 506 } else if (SystemUtils.IS_JAVA_12) { 507 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_1)); 508 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_2)); 509 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_3)); 510 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_4)); 511 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_5)); 512 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_6)); 513 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_7)); 514 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_8)); 515 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_9)); 516 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_10)); 517 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_11)); 518 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_12)); 519 assertFalse(SystemUtils.isJavaVersionAtLeast(JAVA_13)); 520 } else if (SystemUtils.IS_JAVA_13) { 521 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_1)); 522 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_2)); 523 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_3)); 524 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_4)); 525 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_5)); 526 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_6)); 527 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_7)); 528 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_1_8)); 529 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_9)); 530 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_10)); 531 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_11)); 532 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_12)); 533 assertTrue(SystemUtils.isJavaVersionAtLeast(JAVA_13)); 534 } 535 } 536 537 @Test testIsJavaVersionAtMost()538 public void testIsJavaVersionAtMost() { 539 if (SystemUtils.IS_JAVA_1_8) { 540 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_1)); 541 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_2)); 542 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_3)); 543 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_4)); 544 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_5)); 545 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_6)); 546 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_7)); 547 assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_1_8)); 548 assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_9)); 549 assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_10)); 550 assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_11)); 551 assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_12)); 552 assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_13)); 553 } else if (SystemUtils.IS_JAVA_9) { 554 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_1)); 555 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_2)); 556 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_3)); 557 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_4)); 558 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_5)); 559 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_6)); 560 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_7)); 561 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_8)); 562 assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_9)); 563 assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_10)); 564 assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_11)); 565 assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_12)); 566 assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_13)); 567 } else if (SystemUtils.IS_JAVA_10) { 568 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_1)); 569 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_2)); 570 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_3)); 571 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_4)); 572 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_5)); 573 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_6)); 574 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_7)); 575 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_8)); 576 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_9)); 577 assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_10)); 578 assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_11)); 579 assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_12)); 580 assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_13)); 581 } else if (SystemUtils.IS_JAVA_11) { 582 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_1)); 583 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_2)); 584 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_3)); 585 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_4)); 586 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_5)); 587 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_6)); 588 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_7)); 589 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_8)); 590 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_9)); 591 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_10)); 592 assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_11)); 593 assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_12)); 594 assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_13)); 595 } else if (SystemUtils.IS_JAVA_12) { 596 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_1)); 597 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_2)); 598 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_3)); 599 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_4)); 600 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_5)); 601 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_6)); 602 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_7)); 603 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_8)); 604 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_9)); 605 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_10)); 606 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_11)); 607 assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_12)); 608 assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_13)); 609 } else if (SystemUtils.IS_JAVA_13) { 610 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_1)); 611 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_2)); 612 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_3)); 613 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_4)); 614 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_5)); 615 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_6)); 616 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_7)); 617 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_1_8)); 618 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_9)); 619 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_10)); 620 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_11)); 621 assertFalse(SystemUtils.isJavaVersionAtMost(JAVA_12)); 622 assertTrue(SystemUtils.isJavaVersionAtMost(JAVA_13)); 623 } 624 } 625 626 @Test testJavaAwtHeadless()627 public void testJavaAwtHeadless() { 628 final String expectedStringValue = System.getProperty("java.awt.headless"); 629 final String expectedStringValueWithDefault = System.getProperty("java.awt.headless", "false"); 630 assertNotNull(expectedStringValueWithDefault); 631 final boolean expectedValue = Boolean.parseBoolean(expectedStringValue); 632 if (expectedStringValue != null) { 633 assertEquals(expectedStringValue, SystemUtils.JAVA_AWT_HEADLESS); 634 } 635 assertEquals(expectedValue, SystemUtils.isJavaAwtHeadless()); 636 assertEquals(expectedStringValueWithDefault, "" + SystemUtils.isJavaAwtHeadless()); 637 } 638 639 @Test testJavaVersionMatches()640 public void testJavaVersionMatches() { 641 String javaVersion = null; 642 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0")); 643 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1")); 644 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2")); 645 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3")); 646 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4")); 647 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5")); 648 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6")); 649 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7")); 650 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8")); 651 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9")); 652 javaVersion = ""; 653 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0")); 654 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1")); 655 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2")); 656 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3")); 657 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4")); 658 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5")); 659 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6")); 660 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7")); 661 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8")); 662 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9")); 663 javaVersion = "1.0"; 664 assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.0")); 665 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1")); 666 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2")); 667 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3")); 668 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4")); 669 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5")); 670 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6")); 671 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7")); 672 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8")); 673 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9")); 674 javaVersion = "1.1"; 675 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0")); 676 assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.1")); 677 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2")); 678 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3")); 679 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4")); 680 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5")); 681 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6")); 682 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7")); 683 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8")); 684 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9")); 685 javaVersion = "1.2"; 686 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0")); 687 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1")); 688 assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.2")); 689 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3")); 690 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4")); 691 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5")); 692 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6")); 693 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7")); 694 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8")); 695 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9")); 696 javaVersion = "1.3.0"; 697 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0")); 698 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1")); 699 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2")); 700 assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.3")); 701 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4")); 702 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5")); 703 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6")); 704 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7")); 705 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8")); 706 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9")); 707 javaVersion = "1.3.1"; 708 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0")); 709 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1")); 710 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2")); 711 assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.3")); 712 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4")); 713 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5")); 714 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6")); 715 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7")); 716 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8")); 717 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9")); 718 javaVersion = "1.4.0"; 719 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0")); 720 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1")); 721 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2")); 722 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3")); 723 assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.4")); 724 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5")); 725 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6")); 726 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7")); 727 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8")); 728 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9")); 729 javaVersion = "1.4.1"; 730 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0")); 731 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1")); 732 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2")); 733 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3")); 734 assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.4")); 735 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5")); 736 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6")); 737 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7")); 738 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8")); 739 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9")); 740 javaVersion = "1.4.2"; 741 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0")); 742 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1")); 743 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2")); 744 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3")); 745 assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.4")); 746 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5")); 747 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6")); 748 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7")); 749 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8")); 750 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9")); 751 javaVersion = "1.5.0"; 752 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0")); 753 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1")); 754 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2")); 755 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3")); 756 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4")); 757 assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.5")); 758 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6")); 759 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7")); 760 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8")); 761 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9")); 762 javaVersion = "1.6.0"; 763 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0")); 764 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1")); 765 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2")); 766 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3")); 767 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4")); 768 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5")); 769 assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.6")); 770 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7")); 771 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8")); 772 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9")); 773 javaVersion = "1.7.0"; 774 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0")); 775 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1")); 776 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2")); 777 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3")); 778 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4")); 779 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5")); 780 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6")); 781 assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.7")); 782 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8")); 783 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9")); 784 javaVersion = "1.8.0"; 785 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0")); 786 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1")); 787 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2")); 788 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3")); 789 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4")); 790 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5")); 791 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6")); 792 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7")); 793 assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "1.8")); 794 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "9")); 795 javaVersion = "9"; 796 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.0")); 797 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.1")); 798 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.2")); 799 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.3")); 800 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.4")); 801 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.5")); 802 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.6")); 803 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.7")); 804 assertFalse(SystemUtils.isJavaVersionMatch(javaVersion, "1.8")); 805 assertTrue(SystemUtils.isJavaVersionMatch(javaVersion, "9")); 806 } 807 808 @Test testOSMatchesName()809 public void testOSMatchesName() { 810 String osName = null; 811 assertFalse(SystemUtils.isOSNameMatch(osName, "Windows")); 812 osName = ""; 813 assertFalse(SystemUtils.isOSNameMatch(osName, "Windows")); 814 osName = "Windows 95"; 815 assertTrue(SystemUtils.isOSNameMatch(osName, "Windows")); 816 osName = "Windows NT"; 817 assertTrue(SystemUtils.isOSNameMatch(osName, "Windows")); 818 osName = "OS/2"; 819 assertFalse(SystemUtils.isOSNameMatch(osName, "Windows")); 820 } 821 822 @Test testOSMatchesNameAndVersion()823 public void testOSMatchesNameAndVersion() { 824 String osName = null; 825 String osVersion = null; 826 assertFalse(SystemUtils.isOSMatch(osName, osVersion, "Windows 9", "4.1")); 827 osName = ""; 828 osVersion = ""; 829 assertFalse(SystemUtils.isOSMatch(osName, osVersion, "Windows 9", "4.1")); 830 osName = "Windows 95"; 831 osVersion = "4.0"; 832 assertFalse(SystemUtils.isOSMatch(osName, osVersion, "Windows 9", "4.1")); 833 osName = "Windows 95"; 834 osVersion = "4.1"; 835 assertTrue(SystemUtils.isOSMatch(osName, osVersion, "Windows 9", "4.1")); 836 osName = "Windows 98"; 837 osVersion = "4.1"; 838 assertTrue(SystemUtils.isOSMatch(osName, osVersion, "Windows 9", "4.1")); 839 osName = "Windows NT"; 840 osVersion = "4.0"; 841 assertFalse(SystemUtils.isOSMatch(osName, osVersion, "Windows 9", "4.1")); 842 osName = "OS/2"; 843 osVersion = "4.0"; 844 assertFalse(SystemUtils.isOSMatch(osName, osVersion, "Windows 9", "4.1")); 845 } 846 847 @Test testOsVersionMatches()848 public void testOsVersionMatches() { 849 String osVersion = null; 850 assertFalse(SystemUtils.isOSVersionMatch(osVersion, "10.1")); 851 852 osVersion = ""; 853 assertFalse(SystemUtils.isOSVersionMatch(osVersion, "10.1")); 854 855 osVersion = "10"; 856 assertTrue(SystemUtils.isOSVersionMatch(osVersion, "10.1")); 857 assertTrue(SystemUtils.isOSVersionMatch(osVersion, "10.1.1")); 858 assertTrue(SystemUtils.isOSVersionMatch(osVersion, "10.10")); 859 assertTrue(SystemUtils.isOSVersionMatch(osVersion, "10.10.1")); 860 861 osVersion = "10.1"; 862 assertTrue(SystemUtils.isOSVersionMatch(osVersion, "10.1")); 863 assertTrue(SystemUtils.isOSVersionMatch(osVersion, "10.1.1")); 864 assertFalse(SystemUtils.isOSVersionMatch(osVersion, "10.10")); 865 assertFalse(SystemUtils.isOSVersionMatch(osVersion, "10.10.1")); 866 867 osVersion = "10.1.1"; 868 assertTrue(SystemUtils.isOSVersionMatch(osVersion, "10.1")); 869 assertTrue(SystemUtils.isOSVersionMatch(osVersion, "10.1.1")); 870 assertFalse(SystemUtils.isOSVersionMatch(osVersion, "10.10")); 871 assertFalse(SystemUtils.isOSVersionMatch(osVersion, "10.10.1")); 872 873 osVersion = "10.10"; 874 assertFalse(SystemUtils.isOSVersionMatch(osVersion, "10.1")); 875 assertFalse(SystemUtils.isOSVersionMatch(osVersion, "10.1.1")); 876 assertTrue(SystemUtils.isOSVersionMatch(osVersion, "10.10")); 877 assertTrue(SystemUtils.isOSVersionMatch(osVersion, "10.10.1")); 878 879 osVersion = "10.10.1"; 880 assertFalse(SystemUtils.isOSVersionMatch(osVersion, "10.1")); 881 assertFalse(SystemUtils.isOSVersionMatch(osVersion, "10.1.1")); 882 assertTrue(SystemUtils.isOSVersionMatch(osVersion, "10.10")); 883 assertTrue(SystemUtils.isOSVersionMatch(osVersion, "10.10.1")); 884 } 885 } 886