1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
<!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>
|