You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rg...@apache.org on 2019/05/13 05:31:27 UTC
[logging-log4j2] 02/06: Test for JEP223 detection
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 a56448a13021a6fc108f7842f1aba76c020ade49
Author: ulrichenslin <ul...@gmail.com>
AuthorDate: Sat Mar 2 08:43:55 2019 +0200
Test for JEP223 detection
---
.../log4j/core/layout/AbstractStringLayoutTest.java | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/AbstractStringLayoutTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/AbstractStringLayoutTest.java
index 04505d4..f0b3d69 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/AbstractStringLayoutTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/AbstractStringLayoutTest.java
@@ -15,7 +15,10 @@ package org.apache.logging.log4j.core.layout;/*
* limitations under the license.
*/
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
import java.nio.charset.Charset;
+import java.util.Properties;
import org.apache.logging.log4j.core.LogEvent;
import org.junit.Test;
@@ -74,4 +77,22 @@ public class AbstractStringLayoutTest {
assertEquals("capacity, trimmed to MAX_STRING_BUILDER_SIZE", ConcreteStringLayout.MAX_STRING_BUILDER_SIZE, sb3.capacity());
assertEquals("empty, ready for use", 0, sb3.length());
}
+
+ @Test
+ public void testJdkVersionDetection() throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
+
+ Properties properties120 = new Properties();
+ properties120.put("java.version","1.2.0");
+ System.setProperties(properties120);
+
+ Method method = AbstractStringLayout.class.getDeclaredMethod("isPreJava8",null);
+ method.setAccessible(true);
+ assertTrue ((Boolean) method.invoke("isPreJava8"));
+
+ Properties properties900 = new Properties();
+ properties120.put("java.version","9.1.0");
+ System.setProperties(properties120);
+
+ assertFalse ((Boolean) method.invoke("isPreJava8"));
+ }
}
\ No newline at end of file