Constructed test page

T01 — <script> element (expect: REMOVED)

T01 visible marker.

T02 — inline event handler onclick (expect: attribute REMOVED, element kept)

T03 — javascript: URL in a link (expect: href REMOVED / neutralised)

T03 javascript: link

T04 — <style> block in body (expect: usually REMOVED)

T04 paragraph (should it be red?)

T05 — <iframe> (expect TinyMCE 7: KEPT but sandbox="" ADDED)

T06 — <object> / <embed> (expect TinyMCE 7: CONVERTED via convert_unsafe_embeds)

T07 — <form> / <input> / <select> (expect: often REMOVED unless allowlisted)

T08 — SVG with inline script (expect: script neutralised; svg may or may not survive)

T08 marker.

T09 — details / summary (expect: config-dependent)

T09 summary

T09 hidden body text.

T10 — figure / figcaption (expect: usually KEPT)

T10 image
T10 caption

T11 — sectioning: article / aside / nav / header / footer (expect: usually KEPT)

T11 article
T11 header
T11 footer

T12 — description list dl / dt / dd (expect: usually KEPT)

T12 term
T12 definition

T13 — inline semantics: mark, abbr, time, kbd, samp, var, cite (expect: mixed)

T13 mark T13 abbr Ctrl T13 samp x T13 cite

T14 — sup / sub / s / del / ins / u (expect: mostly KEPT)

E=mc2, H2O, strike, del, ins, underline — T14

T15 — code / pre / blockquote (expect: KEPT)

const t15 = "keep whitespace   and indentation";
T15 blockquote

T16 — full table: thead/tbody/tfoot, caption, colgroup, colspan/rowspan (expect: KEPT, maybe normalised)

T16 caption
H1 H2
T16 spanning cell
T16 rowspan b
c
foot1 foot2

T17 — img with srcset, loading, referrerpolicy, data-* (expect: some attrs dropped)

T17

T18 — anchor with target, rel, download, data-* (expect: target/rel may be adjusted)

T18 link

T19 — audio / video / source / track (expect: config-dependent)

T20 — picture / source (expect: often flattened to img)

T20

T21 — class / id / title / dir / lang (expect: KEPT)

T21 attributes

T22 — data-* attributes (expect: usually KEPT in TinyMCE, verify)

T22 data-attributes

T23 — aria-* and role (expect: usually KEPT)

T23 aria

T24 — inline style properties (expect: some props dropped, e.g. position/display)

T24 inline styles

T25 — misc attributes: contenteditable / hidden / tabindex / spellcheck / draggable (expect: mixed)

T26 — custom element / web component (expect: unknown tag unwrapped unless custom_elements set)

T26 custom element content

T27 — unknown attribute on a known element (expect: attribute dropped)

T27 unknown attributes

T28 — HTML comment inside content (expect: often REMOVED)

T28 beforeafter

T29 — conditional comment / MSO (expect: REMOVED)

T29 marker.

T30 — entities & whitespace: &nbsp;, empty element, multiple spaces (expect: normalised)

T30   three nbsp spaces and three plain spaces

 

T30 empty <p> above — did it survive?

C01 — display:grid + grid-template-columns + minmax/auto-fit + gap

C01 cell A
C01 cell B

C02 — flex-wrap + justify-content + align-items + gap

C02 flex child (flex:1 1 200px)
C02 flex child

C03 — clamp() / min() / max() in font-size, padding, width

C03 fluid values

C04 — aspect-ratio + object-fit

C04 aspect-ratio box
C04

C05 — transform + transition + box-shadow + border-radius + opacity

C05 visual props

C06 — custom properties + var() + calc()

C06 variables + calc

C07 — position:sticky + top + z-index + overflow

C07 sticky container

C08 — background shorthand with gradient + background-size/position

C08 gradient background

C09 — logical properties + inset + gap on grid

C09 logical/inset props

C10 — class alongside inline (does the class attr survive AND does it style?)

C10 class + inline (class only styles if your site CSS defines .vc-card)