From 1d0f3e754ef591a87310e05a1700d445fea564b8 Mon Sep 17 00:00:00 2001 From: mscherer Date: Wed, 20 May 2026 19:56:41 +0200 Subject: [PATCH] chore: bump spec submodule (ASCII heading-ids corpus + new examples) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - spec submodule bumped to markup-carve/carve#16 (Adopt ASCII-safe heading id slugs spec + corpus + re-vendor). The corpus fixture for 19-heading-ids now matches the ASCII slugs the impl emits. - Un-skips '19-heading-ids' in IMPLEMENTED — the TODO PR #13 left pending the corpus bump. - Adds the 17 new corpus entries (25-41) the spec now ships: table doubled alignment marker, fenced-code shorter inner fence, blockquote caption after blank line, escaped/code-span pipes in table cells, abbreviation/mention/tag word-boundary rules, stacked rowspan, reference-link / collapsed / unresolved cases, three smart-typography splits, multi-line cell continuation, and rowspan with multi-line content. All 17 pass byte-for-byte against the current impl. - Adds vitest.config.ts to scope test discovery to test/**/*.test.ts. The bumped spec submodule carries spec/tests/*.test.mjs files (node:test runners for the carve repo's own CI) that vitest would otherwise try to load and fail on as 'no test suite found'. Suite: 217/217 (was 187). Typecheck clean. --- spec | 2 +- test/corpus.test.ts | 22 ++++++++++++++++++---- vitest.config.ts | 12 ++++++++++++ 3 files changed, 31 insertions(+), 5 deletions(-) create mode 100644 vitest.config.ts diff --git a/spec b/spec index d5247f56..0e05cc39 160000 --- a/spec +++ b/spec @@ -1 +1 @@ -Subproject commit d5247f563277d9b018c62175a354fa1a68cf56d4 +Subproject commit 0e05cc39ac23da65712d82a0decc1c6084d7647a diff --git a/test/corpus.test.ts b/test/corpus.test.ts index 5003ed8a..34885bbd 100644 --- a/test/corpus.test.ts +++ b/test/corpus.test.ts @@ -51,15 +51,29 @@ const IMPLEMENTED = new Set([ '16-inline-extensions', '17-attributes', '18-frontmatter', - // '19-heading-ids' — temporarily skipped while the carve spec corpus - // updates its fixture from the Unicode-preserving slugs (café-notes) - // to the new ASCII-safe slugs (cafe-notes). Re-add once the spec - // submodule bumps past that corpus update. + '19-heading-ids', '20-table-column-alignment', '21-table-per-cell-alignment-override', '22-headerless-table-alignment', '23-table-without-alignment', '24-table-alignment-with-colspan', + '25-table-doubled-alignment-marker', + '26-fenced-code-shorter-inner-fence', + '27-blockquote-caption-after-a-blank-line', + '28-table-cell-escaped-pipe', + '29-table-cell-pipe-inside-code-span', + '30-abbreviation-matches-on-word-boundaries-only', + '31-mention-ignores-email-addresses', + '32-tag-requires-a-word-boundary', + '33-table-stacked-rowspan', + '34-reference-link', + '35-collapsed-reference-link', + '36-unresolved-reference-link', + '37-smart-typography-dashes-and-quotes', + '38-smart-typography-arrows-and-symbols', + '39-smart-typography-escapes-and-code', + '40-table-multi-line-cell-continuation', + '41-table-rowspan-with-multi-line-content', ]) /** diff --git a/vitest.config.ts b/vitest.config.ts new file mode 100644 index 00000000..11655581 --- /dev/null +++ b/vitest.config.ts @@ -0,0 +1,12 @@ +import { defineConfig } from 'vitest/config' + +// Limit vitest discovery to this repo's own `test/` suite. +// The vendored `spec/` submodule (markup-carve/carve) carries its own +// `node:test` runners (spec/tests/corpus.test.mjs, normativity.test.mjs) +// used by the carve repo's CI; those have no Vitest API and would fail +// here as "no test suite found" if vitest tried to load them. +export default defineConfig({ + test: { + include: ['test/**/*.test.ts'], + }, +})