summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/domparsing/outerhtml-02.html
blob: 1ce5df03e4be558abb137847092e31fa884096f8 (plain)
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>