<!DOCTYPE html>
<html>
<head>
<title>Test that setHTML parses as HTML even in an XML document</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="support/html5lib-testcase-support.js"></script>
</head>
<body>
<script type="html5lib-tests">
#data
Hello!
#document
| "Hello!"

#data
<br>
#document
| <br>

#data
<p>Hi</p>
#document
| <p>
|   "Hi"

#data
<iframe></iframe><p>text</p>
#document
| <p>
|   "text"

</script>
<script>
html5lib_testcases_from_script().forEach((testcase, index) => {
  test(_ => {
    const doc = document.implementation.createDocument("application/xml", "xml");
    const context = doc.documentElement;
    context.setHTML(testcase.data);
    assert_testcase(context, testcase);
  }, `Testcase #${index} with xmlDoc.setHTML("${testcase.data}")`);
});
</script>
</body>
</html>
