Significant whitespace runs are wrapped in marker spans
All 13 scenarios hold
HTML output: sp spans carry space runs and tab spans carry each tab; the stylesheet draws the dots and arrows. Markup characters in the value are escaped before marking, so cell content can never inject HTML.
expected outcome
broken scenario
| Scenario | Value | Marked? |
|---|---|---|
| Plain word | Alice | Alice |
| Single internal space | Alice Smith | Alice Smith |
| Leading space | x | <span class="sp"> </span>x |
| Trailing space | x | x<span class="sp"> </span> |
| Run of two spaces | a b | a<span class="sp"> </span>b |
| Whitespace-only value | <span class="sp"> </span> | |
| Tab between words | a b | a<span class="tab"> </span>b |
| Run of two tabs | <span class="tab"> </span><span class="tab"> </span> | |
| Tab then space | <span class="tab"> </span><span class="sp"> </span> | |
| Spaces around interior tab | a b | a<span class="sp"> </span><span class="tab"> </span><span class="sp"> </span>b |
| Trailing space before newline | ab \ncd | ab<span class="sp"> </span>\ncd |
| Leading space on second line | ab\n cd | ab\n<span class="sp"> </span>cd |
| Markup characters escaped | a<b> & 'c' | a<b> & 'c' |