Revision 31a51c70f74e23dc52f2033e552990a03f3166a9 authored by Mike Pennisi on 29 June 2018, 15:27:58 UTC, committed by Ms2ger on 02 July 2018, 14:31:05 UTC
Today, the return value of functions provided to the global
`add_cleanup` function has no effect on the behavior of the test runner.
An upcoming feature addition to testharness.js will cause the return
value to influence test results [1].

Despite this, some existing tests have already been authored to return a
value: the result of `document.exitFullScreen`. Although this is
expected to be a Promise in conforming implementations, some browsers do
not yet implement this functionality.

To allow the new test harness feature to land without introducing
harness errors, refactor existing tests to omit a return value.

Additionally, use `Promise.prototype.catch` to avoid race conditions
resulting from unhandled Promise rejections (which trigger a harness
error in testharness.js today).

[1] https://github.com/web-platform-tests/wpt/issues/6075
1 parent 21369c1
Raw File
innerhtml-03.xhtml
<?xml version="1.0" encoding="UTF-8" ?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>innerHTML in XHTML</title>
<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com"/>
<link rel="help" href="http://html5.org/specs/dom-parsing.html#dom-innerhtml"/>
<link rel="help" href="http://www.whatwg.org/html5/#xml-fragment-serialization-algorithm"/>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
</head>
<body>
<div id="log"></div>
<script><![CDATA[
test(function() {
  var el = document.createElement("div");
  el.appendChild(document.createElement("xmp"))
    .appendChild(document.createElement("span"))
    .appendChild(document.createTextNode("<"));
  assert_equals(el.innerHTML, "<xmp xmlns=\"http://www.w3.org/1999/xhtml\"><span>&lt;<\/span><\/xmp>");
})
test(function() {
  var el = document.createElement("xmp");
  el.appendChild(document.createElement("span"))
    .appendChild(document.createTextNode("<"));
  assert_equals(el.innerHTML, "<span xmlns=\"http://www.w3.org/1999/xhtml\">&lt;<\/span>");
})
test(function() {
  var el = document.createElement("xmp");
  el.appendChild(document.createTextNode("<"));
  assert_equals(el.innerHTML, "&lt;");
})
test(function() {
  var el = document.createElement("div");
  el.appendChild(document.createElement("br"));
  assert_equals(el.innerHTML, "<br xmlns=\"http://www.w3.org/1999/xhtml\" />");
})
test(function() {
  var el = document.createElement("div");
  el.appendChild(document.createElementNS("http://www.w3.org/1999/xhtml", "html:br"));
  assert_equals(el.innerHTML, "<html:br xmlns:html=\"http://www.w3.org/1999/xhtml\" />");
})
test(function() {
  var el = document.createElement("div");
  el.appendChild(document.createTextNode("<>\"'&"));
  assert_equals(el.innerHTML, "&lt;&gt;\"'&amp;");
})
test(function() {
  var el = document.createElement("div");
  el.appendChild(document.createTextNode("&lt;&gt;&quot;&apos;&amp;"));
  assert_equals(el.innerHTML, "&amp;lt;&amp;gt;&amp;quot;&amp;apos;&amp;amp;");
})
test(function() {
  var el = document.createElement("div");
  el.appendChild(document.createTextNode("àו…\u00A0"));
  assert_equals(el.innerHTML, "àו…\u00A0");
})
]]></script>
</body>
</html>
back to top