This is an automated email from the ASF dual-hosted git repository. rgoers pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
commit 16fa74e9c6ffba32246b70649140b4cfcabe7ee5 Author: ulrichenslin <[email protected]> AuthorDate: Mon Mar 4 08:22:19 2019 +0200 Delegate method call to make it testable (without having to use reflection). --- .../org/apache/logging/log4j/util/Constants.java | 5 ++++- .../org/apache/logging/log4j/util/ConstantsTest.java | 20 ++++++++++++++++++++ 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/util/Constants.java b/log4j-api/src/main/java/org/apache/logging/log4j/util/Constants.java index c0d18d7..2fc67f4 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/util/Constants.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/Constants.java @@ -89,7 +89,10 @@ public final class Constants { } private static int getMajorVersion() { - final String version = System.getProperty("java.version"); + return getMajorVersion(System.getProperty("java.version")); + } + + static int getMajorVersion(final String version) { final String[] parts = version.split("-|\\."); boolean isJEP223; try { diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/util/ConstantsTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/util/ConstantsTest.java new file mode 100644 index 0000000..f568c9f --- /dev/null +++ b/log4j-api/src/test/java/org/apache/logging/log4j/util/ConstantsTest.java @@ -0,0 +1,20 @@ +package org.apache.logging.log4j.util; + +import org.junit.Test; + +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; +import java.util.Properties; + +import static org.junit.Assert.*; + +public class ConstantsTest { + + @Test + public void testJdkVersionDetection() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException { + assertEquals(1, Constants.getMajorVersion("1.1.2")); + assertEquals(8, Constants.getMajorVersion("1.8.2")); + assertEquals(9, Constants.getMajorVersion("9.1.1")); + assertEquals(11, Constants.getMajorVersion("11.1.1")); + } +} \ No newline at end of file
