diff --git a/pom.xml b/pom.xml
index b4fbc23b..f4106adb 100644
--- a/pom.xml
+++ b/pom.xml
@@ -519,7 +519,7 @@
5.11.0
- 2.1.0
+ 2.2.0
diff --git a/src/test/java/com/github/valfirst/slf4jtest/LoggingEventTests.java b/src/test/java/com/github/valfirst/slf4jtest/LoggingEventTests.java
index 9a00ac6b..37d37400 100644
--- a/src/test/java/com/github/valfirst/slf4jtest/LoggingEventTests.java
+++ b/src/test/java/com/github/valfirst/slf4jtest/LoggingEventTests.java
@@ -37,6 +37,8 @@
import java.util.stream.Stream;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.EnabledForJreRange;
+import org.junit.jupiter.api.condition.JRE;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.Arguments;
import org.junit.jupiter.params.provider.EnumSource;
@@ -515,23 +517,47 @@ void printToStandardOutWithThrowable(StdOut stdOut) {
@ParameterizedTest
@StdIo
@EnumSource(names = {"TRACE", "DEBUG", "INFO"})
- void printInfoAndBelow(Level level, StdOut stdOut, StdErr stdErr) {
+ @EnabledForJreRange(max = JRE.JAVA_10) // old JUnit Pioneer is used for Java 8-10
+ void printInfoAndBelowOnJdkUpTo10(Level level, StdOut stdOut, StdErr stdErr) {
LoggingEvent event = new LoggingEvent(level, "message with {}", "argument");
event.print();
assertThat(stdOut.capturedLines(), is(not(emptyArray())));
assertThat(stdErr.capturedLines(), is(arrayContaining("")));
}
+ @ParameterizedTest
+ @StdIo
+ @EnumSource(names = {"TRACE", "DEBUG", "INFO"})
+ @EnabledForJreRange(min = JRE.JAVA_11) // new JUnit Pioneer is used for Java 11+
+ void printInfoAndBelow(Level level, StdOut stdOut, StdErr stdErr) {
+ LoggingEvent event = new LoggingEvent(level, "message with {}", "argument");
+ event.print();
+ assertThat(stdOut.capturedLines(), is(not(emptyArray())));
+ assertThat(stdErr.capturedLines(), is(emptyArray()));
+ }
+
@ParameterizedTest
@StdIo
@EnumSource(names = {"WARN", "ERROR"})
- void printWarnAndAbove(Level level, StdOut stdOut, StdErr stdErr) {
+ @EnabledForJreRange(max = JRE.JAVA_10) // old JUnit Pioneer is used for Java 8-10
+ void printWarnAndAboveOnJdkUpTo10(Level level, StdOut stdOut, StdErr stdErr) {
LoggingEvent event = new LoggingEvent(level, "message with {}", "argument");
event.print();
assertThat(stdErr.capturedLines(), is(not(emptyArray())));
assertThat(stdOut.capturedLines(), is(arrayContaining("")));
}
+ @ParameterizedTest
+ @StdIo
+ @EnumSource(names = {"WARN", "ERROR"})
+ @EnabledForJreRange(min = JRE.JAVA_11) // new JUnit Pioneer is used for Java 11+
+ void printWarnAndAbove(Level level, StdOut stdOut, StdErr stdErr) {
+ LoggingEvent event = new LoggingEvent(level, "message with {}", "argument");
+ event.print();
+ assertThat(stdErr.capturedLines(), is(not(emptyArray())));
+ assertThat(stdOut.capturedLines(), is(emptyArray()));
+ }
+
@Test
void nullArgument() {
LoggingEvent event = new LoggingEvent(level, "message with null arg", null, null);
diff --git a/src/test/java/com/github/valfirst/slf4jtest/TestLoggerTests.java b/src/test/java/com/github/valfirst/slf4jtest/TestLoggerTests.java
index e815bd21..742d2082 100644
--- a/src/test/java/com/github/valfirst/slf4jtest/TestLoggerTests.java
+++ b/src/test/java/com/github/valfirst/slf4jtest/TestLoggerTests.java
@@ -10,6 +10,7 @@
import static java.util.Collections.singletonList;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.arrayContaining;
+import static org.hamcrest.Matchers.emptyArray;
import static org.hamcrest.Matchers.endsWith;
import static org.hamcrest.Matchers.equalTo;
import static org.hamcrest.Matchers.is;
@@ -41,6 +42,8 @@
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.condition.EnabledForJreRange;
+import org.junit.jupiter.api.condition.JRE;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.EnumSource;
import org.junit.jupiter.params.provider.NullSource;
@@ -817,7 +820,8 @@ void printsWhenPrintLevelIsEqualToOrLessThanEventLevel(Level printLevel, StdOut
@ParameterizedTest
@EnumSource(names = {"WARN", "ERROR"})
@StdIo
- void doesNotWhenPrintLevelGreaterThanEventLevel(Level printLevel, StdOut stdOut) {
+ @EnabledForJreRange(max = JRE.JAVA_10) // old JUnit Pioneer is used for Java 8-10
+ void doesNotWhenPrintLevelGreaterThanEventLevelOnJdkUpTo10(Level printLevel, StdOut stdOut) {
TestLoggerFactory.getInstance().setPrintLevel(printLevel);
testLogger.info(MESSAGE);
@@ -825,6 +829,18 @@ void doesNotWhenPrintLevelGreaterThanEventLevel(Level printLevel, StdOut stdOut)
assertThat(stdOut.capturedLines(), is(arrayContaining("")));
}
+ @ParameterizedTest
+ @EnumSource(names = {"WARN", "ERROR"})
+ @StdIo
+ @EnabledForJreRange(min = JRE.JAVA_11) // new JUnit Pioneer is used for Java 11+
+ void doesNotWhenPrintLevelGreaterThanEventLevel(Level printLevel, StdOut stdOut) {
+ TestLoggerFactory.getInstance().setPrintLevel(printLevel);
+
+ testLogger.info(MESSAGE);
+
+ assertThat(stdOut.capturedLines(), is(emptyArray()));
+ }
+
@Test
void doesNotCaptureWhenCaptureLevelGreaterThanEventLevel() {
TestLoggerFactory.getInstance().setCaptureLevel(WARN);