| <!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> |