|
1 | | -// Audit fixture — translated test cases from peer plugins to measure |
2 | | -// behavioral parity of `ember/template-no-invalid-link-href` against the |
3 | | -// `invalidHref` aspect of jsx-a11y/anchor-is-valid and lit-a11y/anchor-is-valid. |
| 1 | +// Audit fixture — translates peer-plugin test cases into assertions against |
| 2 | +// our rule. Runs as part of the default Vitest suite (via the `tests/**/*.js` |
| 3 | +// include glob) and serves double-duty: (1) auditable record of peer-parity |
| 4 | +// divergences, (2) regression coverage pinning CURRENT behavior. Each case |
| 5 | +// encodes what OUR rule does today; divergences from upstream plugins are |
| 6 | +// annotated as `DIVERGENCE —`. Peer-only constructs that can't be translated |
| 7 | +// to Ember templates (JSX spread props, Vue v-bind, Angular `$event`, |
| 8 | +// undefined-handler expression analysis) are marked `AUDIT-SKIP`. |
| 9 | +// |
| 10 | +// Peers covered: the `invalidHref` aspect of jsx-a11y/anchor-is-valid and |
| 11 | +// lit-a11y/anchor-is-valid. |
4 | 12 | // |
5 | 13 | // SCOPE — `invalidHref` aspect ONLY. The upstream jsx-a11y rule has three |
6 | 14 | // aspects: `noHref` (missing href), `invalidHref` (placeholder/js-protocol), |
7 | 15 | // and `preferButton` (anchor used with onClick instead of navigation). We only |
8 | 16 | // port the `invalidHref` aspect; `noHref` and `preferButton` are out of scope |
9 | 17 | // for this rule (and for this fixture). |
10 | 18 | // |
11 | | -// These tests are NOT part of the main suite's contract and do not run in CI |
12 | | -// as a parity gate. They encode the CURRENT behavior of our rule so that |
13 | | -// running this file reports pass. Each divergence from an upstream plugin is |
14 | | -// annotated as "DIVERGENCE —". |
15 | | -// |
16 | 19 | // Source files (context/ checkouts): |
17 | 20 | // - eslint-plugin-jsx-a11y-main/__tests__/src/rules/anchor-is-valid-test.js |
18 | 21 | // - eslint-plugin-lit-a11y/tests/lib/rules/anchor-is-valid.js |
|
0 commit comments