Skip to content

Resurrect spec-relevant integration tests lost from Mojarra#2181

Open
BalusC wants to merge 1 commit into
5.0from
resurrect_lost_tck
Open

Resurrect spec-relevant integration tests lost from Mojarra#2181
BalusC wants to merge 1 commit into
5.0from
resurrect_lost_tck

Conversation

@BalusC
Copy link
Copy Markdown
Member

@BalusC BalusC commented Jun 6, 2026

Mojarra commit ed55113 removed its test/ tree (577 integration tests) while only a subset was ever migrated into this TCK because it was (before arrival of AI-assisted development) relatively a lot of work to migrate all tests. #2179 surfaced the gap; this restores 138 integration tests that cover genuinely-uncovered, vendor-neutral spec behaviour.

Each test is with help of Claude Code ported from the old HtmlUnit harness to Selenium/BaseITNG, modernised to Jakarta namespaces and CDI beans, and named after its canonical issue — applying the off-by-4 java.net→GitHub renumbering for issues predating the 2017 migration. Tests reuse an existing faces22/faces23 module when the required web.xml/faces-config matches, and land in a new module only when they need distinct WAR-wide config. Every @test carries an @see to its GitHub issue and to the exercised jakarta.faces API. Also two disabled tests have been fixed and CONTRIBUTING.md has been caught up and a few outcommented tests have been removed and finally a bunch of existing XHTML files were cleaned up to ditch the unnecessary XML prolog and xml:lang.

The resurrected tests caught real Mojarra regressions, fixed in eclipse-ee4j/mojarra#5774.

New modules: faces22/{iteration, view-param, facelets, file-upload, render-kit, resource-dependency, process-as-xhtml5, component-events, default-validator, char-encoding, facelet-cache-factory}.

mvn clean verify -T8 still finishes in 4 minutes for me:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  03:58 min (Wall Clock)
[INFO] Finished at: 2026-06-06T15:04:15-04:00
[INFO] ------------------------------------------------------------------------

Mojarra commit ed55113 removed its test/ tree (577 integration tests)
while only a subset was ever migrated into this TCK because it was
relatively a lot of work to migrate all tests. #2179
surfaced the gap; this restores the integration tests that cover
genuinely-uncovered, vendor-neutral spec behaviour.

Each test is ported from the old HtmlUnit harness to Selenium/BaseITNG,
modernised to Jakarta namespaces and CDI beans, and named after its
canonical issue — applying the off-by-4 java.net→GitHub renumbering for
issues predating the 2017 migration. Tests reuse an existing
faces22/faces23 module when the required web.xml/faces-config matches,
and land in a new module only when they need distinct WAR-wide config.
Every @test carries an @see to its GitHub issue and to the exercised
jakarta.faces API.

The resurrected tests caught real Mojarra regressions, fixed in
eclipse-ee4j/mojarra#5774.

New modules: faces22/{iteration, view-param, facelets, file-upload,
render-kit, resource-dependency, process-as-xhtml5, component-events,
default-validator, char-encoding, facelet-cache-factory}.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant