Skip to content

AXE-3659 R0: pin fork behaviors ahead of the staged 4.12.1 upgrade (tests only)#250

Open
rohitsahu-bstack wants to merge 1 commit into
mainfrom
AXE-3659-R0-fork-pinning-tests
Open

AXE-3659 R0: pin fork behaviors ahead of the staged 4.12.1 upgrade (tests only)#250
rohitsahu-bstack wants to merge 1 commit into
mainfrom
AXE-3659-R0-fork-pinning-tests

Conversation

@rohitsahu-bstack

Copy link
Copy Markdown
Collaborator

Summary

R0 of the AXE-3659 incremental upgrade plan — tests only, zero behavior change.

Adds 13 pinning tests (5 files) characterizing fork-only behaviors that previously had zero coverage, so the upcoming staged axe-core 4.11→4.12.1 merges (R1: v4.11.1 → engine 6.5.0, R2: v4.11.4 → 6.6.0, R3: v4.12.1 → 7.0.0) cannot silently regress them:

  • color-contrast: reviewPayload.visualHelperData (+100-char truncation) and the whole-body try/catch → addCheckError (AXE-2707 resilience)
  • dq-element: htmlHash fingerprint, data-percy-* source stripping, runTypeAOpt/targetFormat=ancestry source & selector branches
  • get-ancestry: Percy data-percy-injected :nth-child skip
  • is-in-text-block: <style>-element skip
  • label-content-name-mismatch: wink-porter2 stemming, whitespace/case-insensitive matching, mismatch reviewPayload

All tests are classic-style karma (no ESM), runnable isolated via npm run test:unit -- testFiles=... and in the full suite.

Why land this before any merge

These are the regression guard for every subsequent slice. Landing them first means the guard exists before any upstream content moves (plan: docs/tech-specs/AXE-3659-incremental-release-plan.md in the a11y-engine repo; the one-shot merge PR #249 remains as the end-state reference).

Validation

  • Cherry-picked from the reviewed merge branch (7532cb51); pinned lib files verified byte-identical between this base (c2feddeb) and the merge branch.
  • npm ci (current main lockfile, esbuild 0.28.1) + npm run build from main's lib (Node 22): green, axe.min.js 623.69 KB.
  • 13/13 SUCCESS against the main-built bundle.

Ref: AXE-3659

🤖 Generated with Claude Code

Adds isolated, classic-style karma tests characterizing fork behaviors that had zero coverage, so the deferred upstream grafts cannot silently regress them: color-contrast reviewPayload + try/catch/addCheckError; dq-element htmlHash + data-percy source strip + runTypeAOpt/targetFormat branches; get-ancestry Percy :nth-child skip; is-in-text-block STYLE-skip; label-content stemming + whitespace-insensitive match + reviewPayload. All 13 green on the fork baseline (target lib files byte-identical fcb6d96..HEAD). Ref: AXE-3659
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