History log of /dokuwiki/_test/tests/Parsing/Markdown/gfm-spec/spec.txt (Results 1 – 1 of 1)
Revision Date Author Comments
# 72b2703b 20-Apr-2026 Andreas Gohr <gohr@cosmocode.de>

add spec.txt-driven roundtrip test infrastructure for Markdown

Imports GitHub Flavored Markdown's test/spec.txt (671 examples combining
the CommonMark baseline with GFM extensions: tables, strikethr

add spec.txt-driven roundtrip test infrastructure for Markdown

Imports GitHub Flavored Markdown's test/spec.txt (671 examples combining
the CommonMark baseline with GFM extensions: tables, strikethrough, task
lists, autolink, disallowed raw HTML) and runs each example as a data-
provider-driven roundtrip test against DokuWiki's full parser + XHTML
renderer.

Files:

_test/tests/Parsing/Markdown/SpecReader.php
Parses the fenced-example format. Each example is ``` example
[optional-label] ... . ... ``` delimited by 10+ backticks with a
`.` separator; tracks most recent `## Heading` as section context
and numbers examples sequentially from 1 to match the spec's
rendered "Example N" labels.

_test/tests/Parsing/Markdown/SpecReaderTest.php
Hand-crafted fixtures covering ordinary examples, section tracking,
extension labels, multiline bodies, nested backticks, unclosed
fences (throws).

_test/tests/Parsing/Markdown/GfmSpecTest.php
Data-provider test. Renders each example's markdown through
p_get_instructions + p_render('xhtml') and compares to the expected
HTML with block-level-aware whitespace normalisation (DokuWiki
emits \n around block tags; inline-tag whitespace is preserved
because `<em>x</em> y` != `<em>x</em>y`).

_test/tests/Parsing/Markdown/gfm-spec/
spec.txt — verbatim from github/cmark-gfm, commit 587a12bb
LICENSE — CC-BY-SA 4.0 full legal text
README.md — upstream URL, pinned commit, resync notes
skip.php — map example-number => reason for SPEC-excluded
CommonMark behaviour (flanking-delimiter analysis,
multiple-of-3 rule, excess-drop). Unimplemented
features are NOT listed here — they show as real
failures so they remain the visible TODO list.

show more ...