Skip to content

Commit 0b29ee5

Browse files
authored
Extend JRE enum to support Java 23
1 parent 742dd94 commit 0b29ee5

File tree

12 files changed

+81
-28
lines changed

12 files changed

+81
-28
lines changed

.github/workflows/cross-version.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ jobs:
1818
strategy:
1919
fail-fast: false
2020
matrix:
21-
jdk: [22]
21+
jdk: [22, 23]
2222
name: "OpenJDK ${{ matrix.jdk }}"
2323
runs-on: ubuntu-latest
2424
steps:

documentation/src/docs/asciidoc/release-notes/release-notes-5.11.0-M1.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ repository on GitHub.
5050
[[release-notes-5.11.0-M1-junit-jupiter-new-features-and-improvements]]
5151
==== New Features and Improvements
5252

53+
* `JAVA_23` has been added to the `JRE` enum for use with JRE-based execution conditions.
5354
* New `@AutoClose` annotation that can be applied to fields within tests to automatically
5455
close the annotated resource after test execution. See the
5556
<<../user-guide/index.adoc#writing-tests-built-in-extensions-AutoClose, User Guide>> for

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ org.gradle.jvmargs=-Xmx1g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryEr
1919
--add-exports jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
2020
org.gradle.caching=true
2121
org.gradle.parallel=true
22-
org.gradle.java.installations.fromEnv=JDK8,JDK18,JDK19,JDK20,JDK21,JDK22
22+
org.gradle.java.installations.fromEnv=JDK8,JDK18,JDK19,JDK20,JDK21,JDK22,JDK23
2323
org.gradle.kotlin.dsl.allWarningsAsErrors=true
2424

2525
# Test Distribution

junit-jupiter-api/src/main/java/org/junit/jupiter/api/condition/JRE.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -162,13 +162,21 @@ public enum JRE {
162162
@API(status = STABLE, since = "5.10")
163163
JAVA_22,
164164

165+
/**
166+
* Java 23.
167+
*
168+
* @since 5.11
169+
*/
170+
@API(status = STABLE, since = "5.11")
171+
JAVA_23,
172+
165173
/**
166174
* A JRE version other than {@link #JAVA_8}, {@link #JAVA_9},
167175
* {@link #JAVA_10}, {@link #JAVA_11}, {@link #JAVA_12},
168176
* {@link #JAVA_13}, {@link #JAVA_14}, {@link #JAVA_15},
169177
* {@link #JAVA_16}, {@link #JAVA_17}, {@link #JAVA_18},
170-
* {@link #JAVA_19}, {@link #JAVA_20}, {@link #JAVA_21}, or
171-
* {@link #JAVA_22}.
178+
* {@link #JAVA_19}, {@link #JAVA_20}, {@link #JAVA_21},
179+
* {@link #JAVA_22}, or {@link #JAVA_23}.
172180
*/
173181
OTHER;
174182

@@ -226,6 +234,8 @@ private static JRE determineCurrentVersion() {
226234
return JAVA_21;
227235
case 22:
228236
return JAVA_22;
237+
case 23:
238+
return JAVA_23;
229239
default:
230240
return OTHER;
231241
}

junit-jupiter-engine/src/test/java/org/junit/jupiter/api/condition/DisabledForJreRangeConditionTests.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava20;
2525
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava21;
2626
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava22;
27+
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava23;
2728
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava8;
2829
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava9;
2930

@@ -115,9 +116,9 @@ void javaMin18() {
115116
@Test
116117
void other() {
117118
evaluateCondition();
118-
assertDisabledOnCurrentJreIf(
119-
!(onJava8() || onJava9() || onJava10() || onJava11() || onJava12() || onJava13() || onJava14() || onJava15()
120-
|| onJava16() || onJava17() || onJava18() || onJava19() || onJava20() || onJava21() || onJava22()));
119+
assertDisabledOnCurrentJreIf(!(onJava8() || onJava9() || onJava10() || onJava11() || onJava12() || onJava13()
120+
|| onJava14() || onJava15() || onJava16() || onJava17() || onJava18() || onJava19() || onJava20()
121+
|| onJava21() || onJava22() || onJava23()));
121122
}
122123

123124
private void assertDisabledOnCurrentJreIf(boolean condition) {

junit-jupiter-engine/src/test/java/org/junit/jupiter/api/condition/DisabledForJreRangeIntegrationTests.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava20;
2727
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava21;
2828
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava22;
29+
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava23;
2930
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava8;
3031
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava9;
3132
import static org.junit.jupiter.api.condition.JRE.JAVA_17;
@@ -83,9 +84,9 @@ void javaMin18() {
8384
@Test
8485
@DisabledForJreRange(min = OTHER, max = OTHER)
8586
void other() {
86-
assertTrue(
87-
onJava8() || onJava9() || onJava10() || onJava11() || onJava12() || onJava13() || onJava14() || onJava15()
88-
|| onJava16() || onJava17() || onJava18() || onJava19() || onJava20() || onJava21() || onJava22());
87+
assertTrue(onJava8() || onJava9() || onJava10() || onJava11() || onJava12() || onJava13() || onJava14()
88+
|| onJava15() || onJava16() || onJava17() || onJava18() || onJava19() || onJava20() || onJava21()
89+
|| onJava22() || onJava23());
8990
}
9091

9192
}

junit-jupiter-engine/src/test/java/org/junit/jupiter/api/condition/DisabledOnJreConditionTests.java

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava20;
2626
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava21;
2727
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava22;
28+
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava23;
2829
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava8;
2930
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava9;
3031

@@ -216,15 +217,24 @@ void java22() {
216217
assertDisabledOnCurrentJreIf(onJava22());
217218
}
218219

220+
/**
221+
* @see DisabledOnJreIntegrationTests#java23()
222+
*/
223+
@Test
224+
void java23() {
225+
evaluateCondition();
226+
assertDisabledOnCurrentJreIf(onJava23());
227+
}
228+
219229
/**
220230
* @see DisabledOnJreIntegrationTests#other()
221231
*/
222232
@Test
223233
void other() {
224234
evaluateCondition();
225-
assertDisabledOnCurrentJreIf(
226-
!(onJava8() || onJava9() || onJava10() || onJava11() || onJava12() || onJava13() || onJava14() || onJava15()
227-
|| onJava16() || onJava17() || onJava18() || onJava19() || onJava20() || onJava21() || onJava22()));
235+
assertDisabledOnCurrentJreIf(!(onJava8() || onJava9() || onJava10() || onJava11() || onJava12() || onJava13()
236+
|| onJava14() || onJava15() || onJava16() || onJava17() || onJava18() || onJava19() || onJava20()
237+
|| onJava21() || onJava22() || onJava23()));
228238
}
229239

230240
private void assertDisabledOnCurrentJreIf(boolean condition) {

junit-jupiter-engine/src/test/java/org/junit/jupiter/api/condition/DisabledOnJreIntegrationTests.java

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava20;
2727
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava21;
2828
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava22;
29+
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava23;
2930
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava8;
3031
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava9;
3132
import static org.junit.jupiter.api.condition.JRE.JAVA_10;
@@ -41,6 +42,7 @@
4142
import static org.junit.jupiter.api.condition.JRE.JAVA_20;
4243
import static org.junit.jupiter.api.condition.JRE.JAVA_21;
4344
import static org.junit.jupiter.api.condition.JRE.JAVA_22;
45+
import static org.junit.jupiter.api.condition.JRE.JAVA_23;
4446
import static org.junit.jupiter.api.condition.JRE.JAVA_8;
4547
import static org.junit.jupiter.api.condition.JRE.JAVA_9;
4648
import static org.junit.jupiter.api.condition.JRE.OTHER;
@@ -68,7 +70,7 @@ void missingJreDeclaration() {
6870

6971
@Test
7072
@DisabledOnJre(value = { JAVA_8, JAVA_9, JAVA_10, JAVA_11, JAVA_12, JAVA_13, JAVA_14, JAVA_15, JAVA_16, JAVA_17,
71-
JAVA_18, JAVA_19, JAVA_20, JAVA_21, JAVA_22, OTHER }, disabledReason = "Disabled on every JRE")
73+
JAVA_18, JAVA_19, JAVA_20, JAVA_21, JAVA_22, JAVA_23, OTHER }, disabledReason = "Disabled on every JRE")
7274
void disabledOnAllJavaVersions() {
7375
fail("should be disabled");
7476
}
@@ -163,12 +165,18 @@ void java22() {
163165
assertFalse(onJava22());
164166
}
165167

168+
@Test
169+
@DisabledOnJre(JAVA_23)
170+
void java23() {
171+
assertFalse(onJava23());
172+
}
173+
166174
@Test
167175
@DisabledOnJre(OTHER)
168176
void other() {
169-
assertTrue(
170-
onJava8() || onJava9() || onJava10() || onJava11() || onJava12() || onJava13() || onJava14() || onJava15()
171-
|| onJava16() || onJava17() || onJava18() || onJava19() || onJava20() || onJava21() || onJava22());
177+
assertTrue(onJava8() || onJava9() || onJava10() || onJava11() || onJava12() || onJava13() || onJava14()
178+
|| onJava15() || onJava16() || onJava17() || onJava18() || onJava19() || onJava20() || onJava21()
179+
|| onJava22() || onJava23());
172180
}
173181

174182
}

junit-jupiter-engine/src/test/java/org/junit/jupiter/api/condition/EnabledForJreRangeConditionTests.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava20;
2525
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava21;
2626
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava22;
27+
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava23;
2728
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava8;
2829
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava9;
2930

@@ -114,9 +115,9 @@ void javaMin18() {
114115
@Test
115116
void other() {
116117
evaluateCondition();
117-
assertEnabledOnCurrentJreIf(
118-
!(onJava8() || onJava9() || onJava10() || onJava11() || onJava12() || onJava13() || onJava14() || onJava15()
119-
|| onJava16() || onJava17() || onJava18() || onJava19() || onJava20() || onJava21() || onJava22()));
118+
assertEnabledOnCurrentJreIf(!(onJava8() || onJava9() || onJava10() || onJava11() || onJava12() || onJava13()
119+
|| onJava14() || onJava15() || onJava16() || onJava17() || onJava18() || onJava19() || onJava20()
120+
|| onJava21() || onJava22() || onJava23()));
120121
}
121122

122123
private void assertEnabledOnCurrentJreIf(boolean condition) {

junit-jupiter-engine/src/test/java/org/junit/jupiter/api/condition/EnabledForJreRangeIntegrationTests.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava20;
2727
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava21;
2828
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava22;
29+
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava23;
2930
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava8;
3031
import static org.junit.jupiter.api.condition.EnabledOnJreIntegrationTests.onJava9;
3132
import static org.junit.jupiter.api.condition.JRE.JAVA_17;
@@ -79,16 +80,16 @@ void javaMax18() {
7980
@Test
8081
@EnabledForJreRange(min = JAVA_18)
8182
void javaMin18() {
82-
assertTrue(onJava18() || onJava19() || onJava20() || onJava21() || onJava22());
83+
assertTrue(onJava18() || onJava19() || onJava20() || onJava21() || onJava22() || onJava23());
8384
assertFalse(onJava17());
8485
}
8586

8687
@Test
8788
@EnabledForJreRange(min = OTHER, max = OTHER)
8889
void other() {
89-
assertFalse(
90-
onJava8() || onJava9() || onJava10() || onJava11() || onJava12() || onJava13() || onJava14() || onJava15()
91-
|| onJava16() || onJava17() || onJava18() || onJava19() || onJava20() || onJava21() || onJava22());
90+
assertFalse(onJava8() || onJava9() || onJava10() || onJava11() || onJava12() || onJava13() || onJava14()
91+
|| onJava15() || onJava16() || onJava17() || onJava18() || onJava19() || onJava20() || onJava21()
92+
|| onJava22() || onJava23());
9293
}
9394

9495
}

0 commit comments

Comments
 (0)