CLAUDE WATERMARK REMOVER · MARKDOWN TEST
Can U+200B stop a Markdown CDATA block from ending?
Removing U+200B from the CDATA closing sequence let the subsequent paragraph render.
What changed in the preview
The parser recognizes the CDATA block from its opening sequence and waits for the exact closing sequence. The safe HTML renderer omits the block. A blank line did not rescue the following paragraph before cleanup; inspect the closing brackets and angle bracket in the source.
What this test covers
This Markdown preview does not test XML parsing or tell whether a publishing system accepts CDATA. Compare the two rendered outputs below with the original and cleaned source.
Measured source and preview
Original Markdown
<![CDATA[note]]\u200B> Next section
Cleaned Markdown
<![CDATA[note]]> Next section
The original source and its preview contain a literal U+200B, displayed below as \u200B. The HTML is shown as text.
Before cleanup
<!-- raw HTML omitted -->
After cleanup
<!-- raw HTML omitted --> <p>Next section</p>
Reproduce locally
Save reproduce.cjs and tested-app.js together. Run npm install --no-save commonmark@0.31.2, then node reproduce.cjs. Compare with the recorded input, output and HTML. The test uses the homepage callback with a minimal DOM. It does not use Claude output or test statistical watermark detection.
See the CommonMark specification and another measured Markdown case.