CLAUDE WATERMARK REMOVER · MARKDOWN TEST
Why does a numeric Markdown character reference print literally?
If the source contains a hexadecimal character reference, inspect the digits. Removing a zero-width space from inside our `$` reference restored the dollar sign in the preview.
What changed in the preview
The original HTML contained `&#x2` followed by the synthetic character and `4;15`, so the ampersand was escaped for display as text. The cleaned Markdown still contained the digits and semicolon. The renderer, rather than the cleaner, decoded the intact reference to `$`, yielding the visible price `$15`.
What this test covers
This fixture places a literal U+200B inside the digits of a reference for a visible character. It is separate from a reference whose decoded value is itself invisible. If you intend to teach the source syntax, keep it in a code span and verify the destination renders it literally.
Measured source and preview
Original Markdown
Price: \u200B4;15
Cleaned Markdown
Price: $15
The original source and its preview contain a literal U+200B, displayed below as \u200B. The HTML is shown as text.
Before cleanup
<p>Price: &#x2\u200B4;15</p>
After cleanup
<p>Price: $15</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.