<!DOCTYPE html> <title>outerHTML and string conversion</title> <link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com"> <link rel="help" href="http://domparsing.spec.whatwg.org/#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>