WPT
wpt / domparsing / insert_adjacent_html.html
Spec: DOM Parsing and Serialization ↗
Runs: Chrome 155.0.8043.0 (wpt@d317428a6, 2026-09-05) | Firefox 157.0a1 (wpt@d317428a6, 2026-09-05) | Safari 251 preview (wpt@c29bd2aee, 2026-09-05) | Ladybird 1.0-62d2b (wpt@6f9e382f6, 2026-09-05) | Servo Servo 0.6 (wpt@2c385f65e, 2026-09-04) | Blitz a50cb8971 (wpt@a95401e4e, 2026-09-03)
View on the Blitz WPT dashboard | Open test on wpt.live | wpt.fyi
| Chrome | Firefox | Safari | Ladybird | Servo | Blitz | |
|---|---|---|---|---|---|---|
| Total | 31/31 | 31/31 | 31/31 | 31/31 | 31/31 | NOT RUN |
| Subtest | Chrome | Firefox | Safari | Ladybird | Servo | Blitz |
|---|---|---|---|---|---|---|
| beforeBegin content without next sibling | PASS | PASS | PASS | PASS | PASS | — |
| Afterbegin content without next sibling | PASS | PASS | PASS | PASS | PASS | — |
| BeforeEnd content without next sibling | PASS | PASS | PASS | PASS | PASS | — |
| afterend content without next sibling | PASS | PASS | PASS | PASS | PASS | — |
| beforeBegin content again, with next sibling | PASS | PASS | PASS | PASS | PASS | — |
| Afterbegin content again, with next sibling | PASS | PASS | PASS | PASS | PASS | — |
| BeforeEnd content again, with next sibling | PASS | PASS | PASS | PASS | PASS | — |
| afterend content again, with next sibling | PASS | PASS | PASS | PASS | PASS | — |
| Should throw when inserting with invalid position string | PASS | PASS | PASS | PASS | PASS | — |
| When the parent node is null, insertAdjacentHTML should throw for beforebegin and afterend (text) | PASS | PASS | PASS | PASS | PASS | — |
| When the parent node is null, insertAdjacentHTML should throw for beforebegin and afterend (comments) | PASS | PASS | PASS | PASS | PASS | — |
| When the parent node is null, insertAdjacentHTML should throw for beforebegin and afterend (elements) | PASS | PASS | PASS | PASS | PASS | — |
| When the parent node is a document, insertAdjacentHTML should throw for beforebegin and afterend (text) | PASS | PASS | PASS | PASS | PASS | — |
| When the parent node is a document, insertAdjacentHTML should throw for beforebegin and afterend (comments) | PASS | PASS | PASS | PASS | PASS | — |
| When the parent node is a document, insertAdjacentHTML should throw for beforebegin and afterend (elements) | PASS | PASS | PASS | PASS | PASS | — |
| Inserting after being and before end should order things correctly | PASS | PASS | PASS | PASS | PASS | — |
| beforeBegin child node not in tree but has parent | PASS | PASS | PASS | PASS | PASS | — |
| Afterbegin child node not in tree but has parent | PASS | PASS | PASS | PASS | PASS | — |
| BeforeEnd child node not in tree but has parent | PASS | PASS | PASS | PASS | PASS | — |
| afterend child node not in tree but has parent | PASS | PASS | PASS | PASS | PASS | — |
| Should not run script when appending things which have descendant <script> inserted via insertAdjacentHTML | PASS | PASS | PASS | PASS | PASS | — |
| beforeBegin content2 without next sibling | PASS | PASS | PASS | PASS | PASS | — |
| Afterbegin content2 without next sibling | PASS | PASS | PASS | PASS | PASS | — |
| BeforeEnd content2 without next sibling | PASS | PASS | PASS | PASS | PASS | — |
| afterend content2 without next sibling | PASS | PASS | PASS | PASS | PASS | — |
| beforeBegin content2 test again, now that there's a next sibling | PASS | PASS | PASS | PASS | PASS | — |
| Afterbegin content2 test again, now that there's a next sibling | PASS | PASS | PASS | PASS | PASS | — |
| BeforeEnd content2 test again, now that there's a next sibling | PASS | PASS | PASS | PASS | PASS | — |
| afterend content2 test again, now that there's a next sibling | PASS | PASS | PASS | PASS | PASS | — |
| Inserting kids of the <html> element should not do weird things with implied <body>/<head> tags | PASS | PASS | PASS | PASS | PASS | — |
| A text node inserted via insertAdjacentHTML should not be merged with a sibling text node. | PASS | PASS | PASS | PASS | PASS | — |