| <!DOCTYPE html> | 
 | <title>outerHTML and string conversion</title> | 
 | <link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com"> | 
 | <link rel="help" href="https://w3c.github.io/DOM-Parsing/#extensions-to-the-element-interface"> | 
 | <script src="/resources/testharness.js"></script> | 
 | <script src="/resources/testharnessreport.js"></script> | 
 | <div id="log"></div> | 
 | <script> | 
 | test(function() { | 
 |  var div = document.createElement("div"); | 
 |  var p = div.appendChild(document.createElement("p")); | 
 |  p.outerHTML = null; | 
 |  assert_equals(div.innerHTML, ""); | 
 |  assert_equals(div.textContent, ""); | 
 | }, "outerHTML and string conversion: null.") | 
 |  | 
 | test(function() { | 
 |  var div = document.createElement("div"); | 
 |  var p = div.appendChild(document.createElement("p")); | 
 |  p.outerHTML = undefined; | 
 |  assert_equals(div.innerHTML, "undefined"); | 
 |  assert_equals(div.textContent, "undefined"); | 
 | }, "outerHTML and string conversion: undefined.") | 
 |  | 
 | test(function() { | 
 |  var div = document.createElement("div"); | 
 |  var p = div.appendChild(document.createElement("p")); | 
 |  p.outerHTML = 42; | 
 |  assert_equals(div.innerHTML, "42"); | 
 |  assert_equals(div.textContent, "42"); | 
 | }, "outerHTML and string conversion: number.") | 
 |  | 
 | test(function() { | 
 |  var div = document.createElement("div"); | 
 |  var p = div.appendChild(document.createElement("p")); | 
 |  p.outerHTML = { | 
 |  toString: function() { return "pass"; }, | 
 |  valueOf: function() { return "fail"; } | 
 |  }; | 
 |  assert_equals(div.innerHTML, "pass"); | 
 |  assert_equals(div.textContent, "pass"); | 
 | }, "outerHTML and string conversion: toString.") | 
 |  | 
 | test(function() { | 
 |  var div = document.createElement("div"); | 
 |  var p = div.appendChild(document.createElement("p")); | 
 |  p.outerHTML = { | 
 |  toString: undefined, | 
 |  valueOf: function() { return "pass"; } | 
 |  }; | 
 |  assert_equals(div.innerHTML, "pass"); | 
 |  assert_equals(div.textContent, "pass"); | 
 | }, "outerHTML and string conversion: valueOf.") | 
 | </script> |