PageRenderTime 56ms CodeModel.GetById 23ms RepoModel.GetById 0ms app.codeStats 0ms

/src/test/java/org/apache/commons/lang3/SystemUtilsTest.java

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