<!DOCTYPE html> <title>innerText getter test</title> <script src="/resources/testharness.js"></script> <script src="/resources/testharnessreport.js"></script> <style> .before::before { content:'abc'; } .table { display:table; } .itable { display:inline-table; } .row { display:table-row; } .cell { display:table-cell; } .first-line-uppercase::first-line { text-transform:uppercase; } .first-letter-uppercase::first-letter { text-transform:uppercase; } .first-letter-float::first-letter { float:left; } </style> <div id="container"></div> <svg id="svgContainer"></svg> <script> function testText(html, expectedPlain, msg) { textTextInContainer(container, html, expectedPlain, msg); } function testTextInSVG(html, expectedPlain, msg) { textTextInContainer(svgContainer, html, expectedPlain, msg); } function textTextInContainer(cont, html, expectedPlain, msg) { test(function() { container.innerHTML = html; if (cont != container) { while (container.firstChild) { cont.appendChild(container.firstChild); } } var e = document.getElementById('target'); if (!e) { e = cont.firstChild; } var pokes = document.getElementsByClassName('poke'); for (var i = 0; i < pokes.length; ++i) { pokes[i].textContent = 'abc'; } pokes = document.getElementsByClassName('poke-rp'); for (var i = 0; i < pokes.length; ++i) { var rp = document.createElement("rp"); rp.textContent = "abc"; pokes[i].appendChild(rp); } var shadows = document.getElementsByClassName('shadow'); for (var i = 0; i < shadows.length; ++i) { var s = shadows[i].createShadowRoot(); s.textContent = 'abc'; } while (e && e.nodeType != Node.ELEMENT_NODE) { e = e.nextSibling; } assert_equals(e.innerText, expectedPlain); cont.textContent = ''; }, msg + ' (' + format_value(html) + ')'); } </script> <script src="getter-tests.js"></script>