blob: 1ce5df03e4be558abb137847092e31fa884096f8 [file] [log] [blame]
James Grahamc81317a2016-05-09 20:46:521<!DOCTYPE html>
2<title>outerHTML and string conversion</title>
3<link rel="author" title="Ms2ger" href="mailto:ms2ger@gmail.com">
Kafjidf7f8962017-10-16 15:05:104<link rel="help" href="https://w3c.github.io/DOM-Parsing/#extensions-to-the-element-interface">
James Grahamc81317a2016-05-09 20:46:525<script src="/resources/testharness.js"></script>
6<script src="/resources/testharnessreport.js"></script>
7<div id="log"></div>
8<script>
9test(function() {
10 var div = document.createElement("div");
11 var p = div.appendChild(document.createElement("p"));
12 p.outerHTML = null;
13 assert_equals(div.innerHTML, "");
14 assert_equals(div.textContent, "");
15}, "outerHTML and string conversion: null.")
16
17test(function() {
18 var div = document.createElement("div");
19 var p = div.appendChild(document.createElement("p"));
20 p.outerHTML = undefined;
21 assert_equals(div.innerHTML, "undefined");
22 assert_equals(div.textContent, "undefined");
23}, "outerHTML and string conversion: undefined.")
24
25test(function() {
26 var div = document.createElement("div");
27 var p = div.appendChild(document.createElement("p"));
28 p.outerHTML = 42;
29 assert_equals(div.innerHTML, "42");
30 assert_equals(div.textContent, "42");
31}, "outerHTML and string conversion: number.")
32
33test(function() {
34 var div = document.createElement("div");
35 var p = div.appendChild(document.createElement("p"));
36 p.outerHTML = {
37 toString: function() { return "pass"; },
38 valueOf: function() { return "fail"; }
39 };
40 assert_equals(div.innerHTML, "pass");
41 assert_equals(div.textContent, "pass");
42}, "outerHTML and string conversion: toString.")
43
44test(function() {
45 var div = document.createElement("div");
46 var p = div.appendChild(document.createElement("p"));
47 p.outerHTML = {
48 toString: undefined,
49 valueOf: function() { return "pass"; }
50 };
51 assert_equals(div.innerHTML, "pass");
52 assert_equals(div.textContent, "pass");
53}, "outerHTML and string conversion: valueOf.")
54</script>