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