Skip to content

Commit 4a8d324

Browse files
Update JEP 238 test plan to describe isolated Java 25 parser validation
1 parent 665e889 commit 4a8d324

1 file changed

Lines changed: 7 additions & 6 deletions

File tree

‎plans/jep-238-plan.md‎

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -182,12 +182,13 @@ All environment-sensitive tests follow the existing pattern of
182182
- **T1** `returnsEmptyOnPre25Runtime` — skipped on JDK 25; asserts
183183
`Java25ParserFactory.createJava25Parser()` is empty. *(Fails: class does not
184184
exist → compile error = red.)*
185-
- **T2** `createsParserOnJava25Runtime` — `@EnabledOnJre(JRE.JAVA_25)`; asserts
186-
non-empty and that the returned parser can parse a source using a finalized
187-
Java 25 language feature (fixture: **module import declaration**
188-
`import module java.base;` in `test-resources`), which the Java 21 parser
189-
rejects. This is the behavioral proof that the *Java 25* parser — not merely
190-
*a* parser — was selected.
185+
- **T2** `versionedVariantCreatesWorkingJava25Parser` —
186+
`@EnabledForJreRange(min = JRE.JAVA_25)`; loads the Java 25
187+
`Java25ParserFactory` class from the versioned output in isolation, then
188+
reflectively invokes `createJava25Parser()`. Asserts that the resulting
189+
parser handles the flexible-constructor-body fixture, proving the versioned
190+
variant creates a working Java 25 parser. Packaged-JAR shadowing is covered
191+
separately by `MultiReleaseJarIT`; direct factory invocation belongs to T1.
191192
- **T3** `baseAndVersionedVariantsExposeIdenticalPublicApi` —
192193
`@EnabledOnJre(JRE.JAVA_25)` (only meaningful when the versioned class file
193194
exists on disk): loads

0 commit comments

Comments
 (0)