<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[210751] trunk/LayoutTests/imported/w3c</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/210751">210751</a></dd>
<dt>Author</dt> <dd>cdumez@apple.com</dd>
<dt>Date</dt> <dd>2017-01-13 16:46:12 -0800 (Fri, 13 Jan 2017)</dd>
</dl>

<h3>Log Message</h3>
<pre>Import innerText/ w3c web-platform-tests
https://bugs.webkit.org/show_bug.cgi?id=167024

Reviewed by Alex Christensen.

Import innerText/ w3c web-platform-tests from upstream 4b4b2eeb.

* web-platform-tests/innerText/getter-expected.txt: Added.
* web-platform-tests/innerText/getter-tests.js: Added.
(CSS.supports):
* web-platform-tests/innerText/getter.html: Added.
* web-platform-tests/innerText/setter-expected.txt: Added.
* web-platform-tests/innerText/setter-tests.js: Added.
(string_appeared_here.forEach):
* web-platform-tests/innerText/setter.html: Added.
* web-platform-tests/innerText/w3c-import.log: Added.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsimportedw3cChangeLog">trunk/LayoutTests/imported/w3c/ChangeLog</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li>trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/</li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsinnerTextgetterexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/getter-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsinnerTextgettertestsjs">trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/getter-tests.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsinnerTextgetterhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/getter.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsinnerTextsetterexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/setter-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsinnerTextsettertestsjs">trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/setter-tests.js</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsinnerTextsetterhtml">trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/setter.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsinnerTextw3cimportlog">trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/w3c-import.log</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsimportedw3cChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/ChangeLog (210750 => 210751)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/ChangeLog        2017-01-14 00:36:53 UTC (rev 210750)
+++ trunk/LayoutTests/imported/w3c/ChangeLog        2017-01-14 00:46:12 UTC (rev 210751)
</span><span class="lines">@@ -1,5 +1,24 @@
</span><span class="cx"> 2017-01-13  Chris Dumez  &lt;cdumez@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Import innerText/ w3c web-platform-tests
+        https://bugs.webkit.org/show_bug.cgi?id=167024
+
+        Reviewed by Alex Christensen.
+
+        Import innerText/ w3c web-platform-tests from upstream 4b4b2eeb.
+
+        * web-platform-tests/innerText/getter-expected.txt: Added.
+        * web-platform-tests/innerText/getter-tests.js: Added.
+        (CSS.supports):
+        * web-platform-tests/innerText/getter.html: Added.
+        * web-platform-tests/innerText/setter-expected.txt: Added.
+        * web-platform-tests/innerText/setter-tests.js: Added.
+        (string_appeared_here.forEach):
+        * web-platform-tests/innerText/setter.html: Added.
+        * web-platform-tests/innerText/w3c-import.log: Added.
+
+2017-01-13  Chris Dumez  &lt;cdumez@apple.com&gt;
+
</ins><span class="cx">         Resync domparsing/ web-platform-tests from upstream
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=167023
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsinnerTextgetterexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/getter-expected.txt (0 => 210751)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/getter-expected.txt                                (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/getter-expected.txt        2017-01-14 00:46:12 UTC (rev 210751)
</span><span class="lines">@@ -0,0 +1,207 @@
</span><ins>+1
+2
+
+PASS Simplest possible test (&quot;&lt;div&gt;abc&quot;) 
+PASS Leading whitespace removed (&quot;&lt;div&gt; abc&quot;) 
+PASS Trailing whitespace removed (&quot;&lt;div&gt;abc &quot;) 
+PASS Internal whitespace compressed (&quot;&lt;div&gt;abc  def&quot;) 
+PASS \n converted to space (&quot;&lt;div&gt;abc\ndef&quot;) 
+PASS \r converted to space (&quot;&lt;div&gt;abc\rdef&quot;) 
+PASS \t converted to space (&quot;&lt;div&gt;abc\tdef&quot;) 
+FAIL Trailing whitespace before hard line break removed (&quot;&lt;div&gt;abc &lt;br&gt;def&quot;) assert_equals: expected &quot;abc\ndef&quot; but got &quot;abc \ndef&quot;
+PASS Leading whitespace preserved (&quot;&lt;pre&gt; abc&quot;) 
+PASS Trailing whitespace preserved (&quot;&lt;pre&gt;abc &quot;) 
+PASS Internal whitespace preserved (&quot;&lt;pre&gt;abc  def&quot;) 
+PASS \n preserved (&quot;&lt;pre&gt;abc\ndef&quot;) 
+PASS \r converted to newline (&quot;&lt;pre&gt;abc\rdef&quot;) 
+PASS \t preserved (&quot;&lt;pre&gt;abc\tdef&quot;) 
+PASS Leading whitespace preserved (&quot;&lt;div style='white-space:pre'&gt; abc&quot;) 
+PASS Trailing whitespace preserved (&quot;&lt;div style='white-space:pre'&gt;abc &quot;) 
+PASS Internal whitespace preserved (&quot;&lt;div style='white-space:pre'&gt;abc  def&quot;) 
+PASS \n preserved (&quot;&lt;div style='white-space:pre'&gt;abc\ndef&quot;) 
+PASS \r converted to newline (&quot;&lt;div style='white-space:pre'&gt;abc\rdef&quot;) 
+PASS \t preserved (&quot;&lt;div style='white-space:pre'&gt;abc\tdef&quot;) 
+PASS Leading whitespace preserved (&quot;&lt;span style='white-space:pre'&gt; abc&quot;) 
+PASS Trailing whitespace preserved (&quot;&lt;span style='white-space:pre'&gt;abc &quot;) 
+PASS Internal whitespace preserved (&quot;&lt;span style='white-space:pre'&gt;abc  def&quot;) 
+PASS \n preserved (&quot;&lt;span style='white-space:pre'&gt;abc\ndef&quot;) 
+PASS \r converted to newline (&quot;&lt;span style='white-space:pre'&gt;abc\rdef&quot;) 
+PASS \t preserved (&quot;&lt;span style='white-space:pre'&gt;abc\tdef&quot;) 
+PASS Leading whitespace removed (&quot;&lt;div style='white-space:pre-line'&gt; abc&quot;) 
+PASS Trailing whitespace removed (&quot;&lt;div style='white-space:pre-line'&gt;abc &quot;) 
+PASS Internal whitespace collapsed (&quot;&lt;div style='white-space:pre-line'&gt;abc  def&quot;) 
+FAIL \n preserved (&quot;&lt;div style='white-space:pre-line'&gt;abc\ndef&quot;) assert_equals: expected &quot;abc\ndef&quot; but got &quot;abcdef&quot;
+FAIL \r converted to newline (&quot;&lt;div style='white-space:pre-line'&gt;abc\rdef&quot;) assert_equals: expected &quot;abc\ndef&quot; but got &quot;abcdef&quot;
+PASS \t converted to space (&quot;&lt;div style='white-space:pre-line'&gt;abc\tdef&quot;) 
+PASS Whitespace collapses across element boundaries (&quot;&lt;div&gt;&lt;span&gt;abc &lt;/span&gt; def&quot;) 
+PASS Whitespace collapses across element boundaries (&quot;&lt;div&gt;&lt;span&gt;abc &lt;/span&gt;&lt;span&gt;&lt;/span&gt; def&quot;) 
+FAIL Whitespace collapses across element boundaries (&quot;&lt;div&gt;&lt;span&gt;abc &lt;/span&gt;&lt;span style='white-space:pre'&gt;&lt;/span&gt; def&quot;) assert_equals: expected &quot;abc def&quot; but got &quot;abc  def&quot;
+PASS Soft line breaks ignored (&quot;&lt;div style='width:0'&gt;abc def&quot;) 
+FAIL ::first-line styles applied (&quot;&lt;div class='first-line-uppercase' style='width:0'&gt;abc def&quot;) assert_equals: expected &quot;ABC def&quot; but got &quot;abc def&quot;
+PASS ::first-letter styles applied (&quot;&lt;div class='first-letter-uppercase' style='width:0'&gt;abc def&quot;) 
+PASS ::first-letter float ignored (&quot;&lt;div class='first-letter-float' style='width:0'&gt;abc def&quot;) 
+PASS &amp;nbsp; preserved (&quot;&lt;div&gt;&amp;nbsp;&quot;) 
+PASS display:none container (&quot;&lt;div style='display:none'&gt;abc&quot;) 
+PASS No whitespace compression in display:none container (&quot;&lt;div style='display:none'&gt;abc  def&quot;) 
+PASS No removal of leading/trailing whitespace in display:none container (&quot;&lt;div style='display:none'&gt; abc def &quot;) 
+PASS display:none child not rendered (&quot;&lt;div&gt;123&lt;span style='display:none'&gt;abc&quot;) 
+PASS display:none container with non-display-none target child (&quot;&lt;div style='display:none'&gt;&lt;span id='target'&gt;abc&quot;) 
+FAIL non-display-none child of svg (&quot;&lt;div id='target'&gt;abc&quot;) assert_equals: expected &quot;&quot; but got &quot;abc&quot;
+PASS display:none child of svg (&quot;&lt;div style='display:none' id='target'&gt;abc&quot;) 
+PASS child of display:none child of svg (&quot;&lt;div style='display:none'&gt;&lt;div id='target'&gt;abc&quot;) 
+PASS display:contents container (&quot;&lt;div style='display:contents'&gt;abc&quot;) 
+PASS display:contents container (&quot;&lt;div&gt;&lt;div style='display:contents'&gt;abc&quot;) 
+PASS display:contents rendered (&quot;&lt;div&gt;123&lt;span style='display:contents'&gt;abc&quot;) 
+PASS display:contents not processed via textContent (&quot;&lt;div style='display:contents'&gt;   &quot;) 
+PASS display:contents not processed via textContent (&quot;&lt;div&gt;&lt;div style='display:contents'&gt;   &quot;) 
+PASS visibility:hidden container (&quot;&lt;div style='visibility:hidden'&gt;abc&quot;) 
+PASS visibility:hidden child not rendered (&quot;&lt;div&gt;123&lt;span style='visibility:hidden'&gt;abc&quot;) 
+PASS visibility:visible child rendered (&quot;&lt;div style='visibility:hidden'&gt;123&lt;span style='visibility:visible'&gt;abc&quot;) 
+PASS visibility:collapse row-group (&quot;&lt;table&gt;&lt;tbody style='visibility:collapse'&gt;&lt;tr&gt;&lt;td&gt;abc&quot;) 
+PASS visibility:collapse row (&quot;&lt;table&gt;&lt;tr style='visibility:collapse'&gt;&lt;td&gt;abc&quot;) 
+PASS visibility:collapse cell (&quot;&lt;table&gt;&lt;tr&gt;&lt;td style='visibility:collapse'&gt;abc&quot;) 
+FAIL visibility:collapse row-group with visible cell (&quot;&lt;table&gt;&lt;tbody style='visibility:collapse'&gt;&lt;tr&gt;&lt;td style='visibility:visible'&gt;abc&quot;) assert_equals: expected &quot;abc&quot; but got &quot;abc\n&quot;
+FAIL visibility:collapse row with visible cell (&quot;&lt;table&gt;&lt;tr style='visibility:collapse'&gt;&lt;td style='visibility:visible'&gt;abc&quot;) assert_equals: expected &quot;abc&quot; but got &quot;abc\n&quot;
+FAIL visibility:collapse honored on flex item (&quot;&lt;div style='display:flex'&gt;&lt;span style='visibility:collapse'&gt;1&lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;/div&gt;&quot;) assert_equals: expected &quot;2&quot; but got &quot;2\n&quot;
+FAIL visibility:collapse honored on grid item (&quot;&lt;div style='display:grid'&gt;&lt;span style='visibility:collapse'&gt;1&lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;/div&gt;&quot;) assert_equals: expected &quot;2&quot; but got &quot;2\n&quot;
+PASS opacity:0 container (&quot;&lt;div style='opacity:0'&gt;abc&quot;) 
+PASS Whitespace compression in opacity:0 container (&quot;&lt;div style='opacity:0'&gt;abc  def&quot;) 
+PASS Remove leading/trailing whitespace in opacity:0 container (&quot;&lt;div style='opacity:0'&gt; abc def &quot;) 
+PASS opacity:0 child rendered (&quot;&lt;div&gt;123&lt;span style='opacity:0'&gt;abc&quot;) 
+PASS Generated content not included (&quot;&lt;div class='before'&gt;&quot;) 
+PASS Generated content on child not included (&quot;&lt;div&gt;&lt;div class='before'&gt;&quot;) 
+PASS &lt;button&gt; contents preserved (&quot;&lt;button&gt;abc&quot;) 
+PASS &lt;fieldset&gt; contents preserved (&quot;&lt;fieldset&gt;abc&quot;) 
+FAIL &lt;fieldset&gt; &lt;legend&gt; contents preserved (&quot;&lt;fieldset&gt;&lt;legend&gt;abc&quot;) assert_equals: expected &quot;abc&quot; but got &quot;abc\n&quot;
+PASS &lt;input&gt; contents ignored (&quot;&lt;input type='text' value='abc'&gt;&quot;) 
+PASS &lt;textarea&gt; contents ignored (&quot;&lt;textarea&gt;abc&quot;) 
+PASS &lt;iframe&gt; contents ignored (&quot;&lt;iframe&gt;abc&quot;) 
+PASS &lt;iframe&gt; contents ignored (&quot;&lt;iframe&gt;&lt;div id='target'&gt;abc&quot;) 
+PASS &lt;iframe&gt; subdocument ignored (&quot;&lt;iframe src='data:text/html,abc'&gt;&quot;) 
+FAIL &lt;audio&gt; contents ignored (&quot;&lt;audio style='display:block'&gt;abc&quot;) assert_equals: expected &quot;&quot; but got &quot;abc&quot;
+FAIL &lt;audio&gt; contents ignored (&quot;&lt;audio style='display:block'&gt;&lt;source id='target' class='poke' style='display:block'&gt;&quot;) assert_equals: expected &quot;&quot; but got &quot;abc&quot;
+PASS &lt;audio&gt; contents ok if display:none (&quot;&lt;audio style='display:block'&gt;&lt;source id='target' class='poke' style='display:none'&gt;&quot;) 
+PASS &lt;video&gt; contents ignored (&quot;&lt;video&gt;abc&quot;) 
+FAIL &lt;video&gt; contents ignored (&quot;&lt;video style='display:block'&gt;&lt;source id='target' class='poke' style='display:block'&gt;&quot;) assert_equals: expected &quot;&quot; but got &quot;abc&quot;
+PASS &lt;video&gt; contents ok if display:none (&quot;&lt;video style='display:block'&gt;&lt;source id='target' class='poke' style='display:none'&gt;&quot;) 
+PASS &lt;canvas&gt; contents ignored (&quot;&lt;canvas&gt;abc&quot;) 
+FAIL &lt;canvas&gt;&lt;div id='target'&gt; contents ignored (&quot;&lt;canvas&gt;&lt;div id='target'&gt;abc&quot;) assert_equals: expected &quot;&quot; but got &quot;abc&quot;
+PASS &lt;img&gt; alt text ignored (&quot;&lt;img alt='abc'&gt;&quot;) 
+PASS &lt;img&gt; contents ignored (&quot;&lt;img src='about:blank' class='poke'&gt;&quot;) 
+FAIL &lt;select size='1'&gt; contents of options preserved (&quot;&lt;select size='1'&gt;&lt;option&gt;abc&lt;/option&gt;&lt;option&gt;def&quot;) assert_equals: expected &quot;abc\ndef&quot; but got &quot;&quot;
+FAIL &lt;select size='2'&gt; contents of options preserved (&quot;&lt;select size='2'&gt;&lt;option&gt;abc&lt;/option&gt;&lt;option&gt;def&quot;) assert_equals: expected &quot;abc\ndef&quot; but got &quot;&quot;
+PASS &lt;select size='1'&gt; contents of target option preserved (&quot;&lt;select size='1'&gt;&lt;option id='target'&gt;abc&lt;/option&gt;&lt;option&gt;def&quot;) 
+PASS &lt;select size='2'&gt; contents of target option preserved (&quot;&lt;select size='2'&gt;&lt;option id='target'&gt;abc&lt;/option&gt;&lt;option&gt;def&quot;) 
+PASS empty &lt;select&gt; (&quot;&lt;div&gt;a&lt;select&gt;&lt;/select&gt;bc&quot;) 
+FAIL empty &lt;optgroup&gt; in &lt;select&gt; (&quot;&lt;div&gt;a&lt;select&gt;&lt;optgroup&gt;&lt;/select&gt;bc&quot;) assert_equals: expected &quot;a\nbc&quot; but got &quot;abc&quot;
+FAIL empty &lt;option&gt; in &lt;select&gt; (&quot;&lt;div&gt;a&lt;select&gt;&lt;option&gt;&lt;/select&gt;bc&quot;) assert_equals: expected &quot;a\nbc&quot; but got &quot;abc&quot;
+PASS &lt;select&gt; containing text node child (&quot;&lt;select class='poke'&gt;&lt;/select&gt;&quot;) 
+PASS &lt;optgroup&gt; containing &lt;optgroup&gt; (&quot;&lt;select&gt;&lt;optgroup class='poke-optgroup'&gt;&lt;/select&gt;&quot;) 
+FAIL &lt;optgroup&gt; containing &lt;option&gt; (&quot;&lt;select&gt;&lt;optgroup&gt;&lt;option&gt;abc&lt;/select&gt;&quot;) assert_equals: expected &quot;abc&quot; but got &quot;&quot;
+FAIL &lt;div&gt; in &lt;option&gt; (&quot;&lt;select&gt;&lt;option class='poke-div'&gt;123&lt;/select&gt;&quot;) assert_equals: expected &quot;123\nabc&quot; but got &quot;&quot;
+FAIL empty &lt;optgroup&gt; in &lt;div&gt; (&quot;&lt;div&gt;a&lt;optgroup&gt;&lt;/optgroup&gt;bc&quot;) assert_equals: expected &quot;a\nbc&quot; but got &quot;abc&quot;
+FAIL &lt;optgroup&gt; in &lt;div&gt; (&quot;&lt;div&gt;a&lt;optgroup&gt;123&lt;/optgroup&gt;bc&quot;) assert_equals: expected &quot;a\nbc&quot; but got &quot;abc&quot;
+FAIL empty &lt;option&gt; in &lt;div&gt; (&quot;&lt;div&gt;a&lt;option&gt;&lt;/option&gt;bc&quot;) assert_equals: expected &quot;a\nbc&quot; but got &quot;abc&quot;
+FAIL &lt;option&gt; in &lt;div&gt; (&quot;&lt;div&gt;a&lt;option&gt;123&lt;/option&gt;bc&quot;) assert_equals: expected &quot;a\n123\nbc&quot; but got &quot;abc&quot;
+PASS &lt;button&gt; contents preserved (&quot;&lt;div&gt;&lt;button&gt;abc&quot;) 
+FAIL &lt;fieldset&gt; contents preserved (&quot;&lt;div&gt;&lt;fieldset&gt;abc&quot;) assert_equals: expected &quot;abc&quot; but got &quot;abc\n&quot;
+FAIL &lt;fieldset&gt; &lt;legend&gt; contents preserved (&quot;&lt;div&gt;&lt;fieldset&gt;&lt;legend&gt;abc&quot;) assert_equals: expected &quot;abc&quot; but got &quot;abc\n&quot;
+PASS &lt;input&gt; contents ignored (&quot;&lt;div&gt;&lt;input type='text' value='abc'&gt;&quot;) 
+PASS &lt;textarea&gt; contents ignored (&quot;&lt;div&gt;&lt;textarea&gt;abc&quot;) 
+FAIL &lt;select size='1'&gt; contents of options preserved (&quot;&lt;div&gt;&lt;select size='1'&gt;&lt;option&gt;abc&lt;/option&gt;&lt;option&gt;def&quot;) assert_equals: expected &quot;abc\ndef&quot; but got &quot;&quot;
+FAIL &lt;select size='2'&gt; contents of options preserved (&quot;&lt;div&gt;&lt;select size='2'&gt;&lt;option&gt;abc&lt;/option&gt;&lt;option&gt;def&quot;) assert_equals: expected &quot;abc\ndef&quot; but got &quot;&quot;
+PASS &lt;iframe&gt; contents ignored (&quot;&lt;div&gt;&lt;iframe&gt;abc&quot;) 
+PASS  &lt;iframe&gt; subdocument ignored (&quot;&lt;div&gt;&lt;iframe src='data:text/html,abc'&gt;&quot;) 
+PASS &lt;audio&gt; contents ignored (&quot;&lt;div&gt;&lt;audio&gt;abc&quot;) 
+PASS &lt;video&gt; contents ignored (&quot;&lt;div&gt;&lt;video&gt;abc&quot;) 
+PASS &lt;canvas&gt; contents ignored (&quot;&lt;div&gt;&lt;canvas&gt;abc&quot;) 
+PASS &lt;img&gt; alt text ignored (&quot;&lt;div&gt;&lt;img alt='abc'&gt;&quot;) 
+PASS Newline at block boundary (&quot;&lt;div&gt;123&lt;div&gt;abc&lt;/div&gt;def&quot;) 
+PASS Newline at display:block boundary (&quot;&lt;div&gt;123&lt;span style='display:block'&gt;abc&lt;/span&gt;def&quot;) 
+PASS Empty block induces single line break (&quot;&lt;div&gt;abc&lt;div&gt;&lt;/div&gt;def&quot;) 
+PASS Consecutive empty blocks ignored (&quot;&lt;div&gt;abc&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;def&quot;) 
+FAIL No blank lines around &lt;p&gt; alone (&quot;&lt;div&gt;&lt;p&gt;abc&quot;) assert_equals: expected &quot;abc&quot; but got &quot;abc\n\n&quot;
+FAIL No blank lines around &lt;p&gt; followed by only collapsible whitespace (&quot;&lt;div&gt;&lt;p&gt;abc&lt;/p&gt; &quot;) assert_equals: expected &quot;abc&quot; but got &quot;abc\n\n&quot;
+FAIL No blank lines around &lt;p&gt; preceded by only collapsible whitespace (&quot;&lt;div&gt; &lt;p&gt;abc&lt;/p&gt;&quot;) assert_equals: expected &quot;abc&quot; but got &quot;abc\n\n&quot;
+FAIL Blank line between consecutive &lt;p&gt;s (&quot;&lt;div&gt;&lt;p&gt;abc&lt;p&gt;def&quot;) assert_equals: expected &quot;abc\n\ndef&quot; but got &quot;abc\n\ndef\n\n&quot;
+FAIL Blank line between consecutive &lt;p&gt;s separated only by collapsible whitespace (&quot;&lt;div&gt;&lt;p&gt;abc&lt;/p&gt; &lt;p&gt;def&quot;) assert_equals: expected &quot;abc\n\ndef&quot; but got &quot;abc\n\ndef\n\n&quot;
+FAIL Blank line between consecutive &lt;p&gt;s separated only by empty block (&quot;&lt;div&gt;&lt;p&gt;abc&lt;/p&gt;&lt;div&gt;&lt;/div&gt;&lt;p&gt;def&quot;) assert_equals: expected &quot;abc\n\ndef&quot; but got &quot;abc\n\ndef\n\n&quot;
+FAIL Blank lines between &lt;p&gt;s separated by non-empty block (&quot;&lt;div&gt;&lt;p&gt;abc&lt;/p&gt;&lt;div&gt;123&lt;/div&gt;&lt;p&gt;def&quot;) assert_equals: expected &quot;abc\n\n123\n\ndef&quot; but got &quot;abc\n\n123\ndef\n\n&quot;
+FAIL Blank lines around a &lt;p&gt; in its own block (&quot;&lt;div&gt;abc&lt;div&gt;&lt;p&gt;123&lt;/p&gt;&lt;/div&gt;def&quot;) assert_equals: expected &quot;abc\n\n123\n\ndef&quot; but got &quot;abc\n123\n\ndef&quot;
+FAIL Blank line before &lt;p&gt; (&quot;&lt;div&gt;abc&lt;p&gt;def&quot;) assert_equals: expected &quot;abc\n\ndef&quot; but got &quot;abc\ndef\n\n&quot;
+PASS Blank line after &lt;p&gt; (&quot;&lt;div&gt;&lt;p&gt;abc&lt;/p&gt;def&quot;) 
+FAIL One blank line between &lt;p&gt;s, ignoring empty &lt;p&gt;s (&quot;&lt;div&gt;&lt;p&gt;abc&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;def&quot;) assert_equals: expected &quot;abc\n\ndef&quot; but got &quot;abc\n\ndef\n\n&quot;
+FAIL Invisible &lt;p&gt; doesn't induce extra line breaks (&quot;&lt;div style='visibility:hidden'&gt;&lt;p&gt;&lt;span style='visibility:visible'&gt;abc&lt;/span&gt;&lt;/p&gt;\n&lt;div style='visibility:visible'&gt;def&lt;/div&gt;&quot;) assert_equals: expected &quot;abc\ndef&quot; but got &quot;abc\n\ndef\n&quot;
+FAIL No blank lines around &lt;div&gt; with margin (&quot;&lt;div&gt;abc&lt;div style='margin:2em'&gt;def&quot;) assert_equals: expected &quot;abc\ndef&quot; but got &quot;abc\ndef\n&quot;
+PASS No newlines at display:inline-block boundary (&quot;&lt;div&gt;123&lt;span style='display:inline-block'&gt;abc&lt;/span&gt;def&quot;) 
+FAIL Leading/trailing space removal at display:inline-block boundary (&quot;&lt;div&gt;123&lt;span style='display:inline-block'&gt; abc &lt;/span&gt;def&quot;) assert_equals: expected &quot;123abcdef&quot; but got &quot;123abc def&quot;
+PASS &lt;span&gt; boundaries are irrelevant (&quot;&lt;div&gt;123&lt;span&gt;abc&lt;/span&gt;def&quot;) 
+PASS &lt;span&gt; boundaries are irrelevant (&quot;&lt;div&gt;123 &lt;span&gt;abc&lt;/span&gt; def&quot;) 
+PASS &lt;span&gt; boundaries are irrelevant (&quot;&lt;div style='width:0'&gt;123 &lt;span&gt;abc&lt;/span&gt; def&quot;) 
+PASS &lt;em&gt; gets no special treatment (&quot;&lt;div&gt;123&lt;em&gt;abc&lt;/em&gt;def&quot;) 
+PASS &lt;b&gt; gets no special treatment (&quot;&lt;div&gt;123&lt;b&gt;abc&lt;/b&gt;def&quot;) 
+PASS &lt;i&gt; gets no special treatment (&quot;&lt;div&gt;123&lt;i&gt;abc&lt;/i&gt;def&quot;) 
+PASS &lt;strong&gt; gets no special treatment (&quot;&lt;div&gt;123&lt;strong&gt;abc&lt;/strong&gt;def&quot;) 
+PASS &lt;tt&gt; gets no special treatment (&quot;&lt;div&gt;123&lt;tt&gt;abc&lt;/tt&gt;def&quot;) 
+PASS &lt;code&gt; gets no special treatment (&quot;&lt;div&gt;123&lt;code&gt;abc&lt;/code&gt;def&quot;) 
+PASS soft hyphen preserved (&quot;&lt;div&gt;abc&amp;shy;def&quot;) 
+PASS soft hyphen preserved (&quot;&lt;div style='width:0'&gt;abc&amp;shy;def&quot;) 
+FAIL Ignoring non-rendered table whitespace (&quot;&lt;div&gt;&lt;table style='white-space:pre'&gt;  &lt;td&gt;abc&lt;/td&gt;  &lt;/table&gt;&quot;) assert_equals: expected &quot;abc&quot; but got &quot;abc\n&quot;
+FAIL Tab-separated table cells (&quot;&lt;div&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;abc&lt;td&gt;def&lt;/table&gt;&quot;) assert_equals: expected &quot;abc\tdef&quot; but got &quot;abc\tdef\n&quot;
+FAIL Tab-separated table cells including empty cells (&quot;&lt;div&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;abc&lt;td&gt;&lt;td&gt;def&lt;/table&gt;&quot;) assert_equals: expected &quot;abc\t\tdef&quot; but got &quot;abc\t\tdef\n&quot;
+FAIL Tab-separated table cells including trailing empty cells (&quot;&lt;div&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;abc&lt;td&gt;&lt;td&gt;&lt;/table&gt;&quot;) assert_equals: expected &quot;abc\t\t&quot; but got &quot;abc\t\t\n&quot;
+FAIL Newline-separated table rows (&quot;&lt;div&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;abc&lt;tr&gt;&lt;td&gt;def&lt;/table&gt;&quot;) assert_equals: expected &quot;abc\ndef&quot; but got &quot;abc\ndef\n&quot;
+PASS Newlines around table (&quot;&lt;div&gt;abc&lt;table&gt;&lt;td&gt;def&lt;/table&gt;ghi&quot;) 
+FAIL Tab-separated table cells in a border-collapse table (&quot;&lt;div&gt;&lt;table style='border-collapse:collapse'&gt;&lt;tr&gt;&lt;td&gt;abc&lt;td&gt;def&lt;/table&gt;&quot;) assert_equals: expected &quot;abc\tdef&quot; but got &quot;abc\tdef\n&quot;
+FAIL tfoot not reordered (&quot;&lt;div&gt;&lt;table&gt;&lt;tfoot&gt;x&lt;/tfoot&gt;&lt;tbody&gt;y&lt;/tbody&gt;&lt;/table&gt;&quot;) assert_equals: expected &quot;xy&quot; but got &quot;xy\n&quot;
+FAIL  (&quot;&lt;table&gt;&lt;tfoot&gt;&lt;tr&gt;&lt;td&gt;footer&lt;/tfoot&gt;&lt;thead&gt;&lt;tr&gt;&lt;td style='visibility:collapse'&gt;thead&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;tbody&lt;/tbody&gt;&lt;/table&gt;&quot;) assert_equals: expected &quot;footer\n\ntbody&quot; but got &quot;footer\ntbody\n&quot;
+FAIL Newline between cells and caption (&quot;&lt;div&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;abc&lt;caption&gt;def&lt;/caption&gt;&lt;/table&gt;&quot;) assert_equals: expected &quot;abc\ndef&quot; but got &quot;abc\ndef\n&quot;
+FAIL Tab-separated table cells (&quot;&lt;div&gt;&lt;div class='table'&gt;&lt;span class='cell'&gt;abc&lt;/span&gt;\n&lt;span class='cell'&gt;def&lt;/span&gt;&lt;/div&gt;&quot;) assert_equals: expected &quot;abc\tdef&quot; but got &quot;abc\tdef\n&quot;
+FAIL Newline-separated table rows (&quot;&lt;div&gt;&lt;div class='table'&gt;&lt;span class='row'&gt;&lt;span class='cell'&gt;abc&lt;/span&gt;&lt;/span&gt;\n&lt;span class='row'&gt;&lt;span class='cell'&gt;def&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&quot;) assert_equals: expected &quot;abc\ndef&quot; but got &quot;abc\ndef\n&quot;
+PASS Newlines around table (&quot;&lt;div&gt;abc&lt;div class='table'&gt;&lt;span class='cell'&gt;def&lt;/span&gt;&lt;/div&gt;ghi&quot;) 
+FAIL Tab-separated table cells (&quot;&lt;div&gt;&lt;div class='itable'&gt;&lt;span class='cell'&gt;abc&lt;/span&gt;\n&lt;span class='cell'&gt;def&lt;/span&gt;&lt;/div&gt;&quot;) assert_equals: expected &quot;abc\tdef&quot; but got &quot;abc\tdef \n&quot;
+FAIL Newline-separated table rows (&quot;&lt;div&gt;&lt;div class='itable'&gt;&lt;span class='row'&gt;&lt;span class='cell'&gt;abc&lt;/span&gt;&lt;/span&gt;\n&lt;span class='row'&gt;&lt;span class='cell'&gt;def&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&quot;) assert_equals: expected &quot;abc\ndef&quot; but got &quot;abc\tdef \n&quot;
+FAIL No newlines around inline-table (&quot;&lt;div&gt;abc&lt;div class='itable'&gt;&lt;span class='cell'&gt;def&lt;/span&gt;&lt;/div&gt;ghi&quot;) assert_equals: expected &quot;abcdefghi&quot; but got &quot;abc def ghi&quot;
+FAIL Single newline in two-row inline-table (&quot;&lt;div&gt;abc&lt;div class='itable'&gt;&lt;span class='row'&gt;&lt;span class='cell'&gt;def&lt;/span&gt;&lt;/span&gt;\n&lt;span class='row'&gt;&lt;span class='cell'&gt;123&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;ghi&quot;) assert_equals: expected &quot;abcdef\n123ghi&quot; but got &quot;abc def\t123 ghi&quot;
+FAIL &lt;ol&gt; list items get no special treatment (&quot;&lt;div&gt;&lt;ol&gt;&lt;li&gt;abc&quot;) assert_equals: expected &quot;abc&quot; but got &quot;abc\n&quot;
+FAIL &lt;ul&gt; list items get no special treatment (&quot;&lt;div&gt;&lt;ul&gt;&lt;li&gt;abc&quot;) assert_equals: expected &quot;abc&quot; but got &quot;abc\n&quot;
+FAIL display:block &lt;script&gt; is rendered (&quot;&lt;div&gt;&lt;script style='display:block'&gt;abc&quot;) assert_equals: expected &quot;abc&quot; but got &quot;abc\n&quot;
+FAIL display:block &lt;style&gt; is rendered (&quot;&lt;div&gt;&lt;style style='display:block'&gt;abc&quot;) assert_equals: expected &quot;abc&quot; but got &quot;abc\n&quot;
+PASS display:block &lt;noscript&gt; is not rendered (it's not parsed!) (&quot;&lt;div&gt;&lt;noscript style='display:block'&gt;abc&quot;) 
+PASS display:block &lt;template&gt; contents are not rendered (the contents are in a different document) (&quot;&lt;div&gt;&lt;template style='display:block'&gt;abc&quot;) 
+PASS &lt;br&gt; induces line break (&quot;&lt;div&gt;abc&lt;br&gt;def&quot;) 
+PASS &lt;br&gt; induces line break even at end of block (&quot;&lt;div&gt;abc&lt;br&gt;&quot;) 
+PASS &lt;br&gt; content ignored (&quot;&lt;div&gt;&lt;br class='poke'&gt;&quot;) 
+PASS &lt;hr&gt; induces line break (&quot;&lt;div&gt;abc&lt;hr&gt;def&quot;) 
+PASS &lt;hr&gt;&lt;hr&gt; induces just one line break (&quot;&lt;div&gt;abc&lt;hr&gt;&lt;hr&gt;def&quot;) 
+PASS &lt;hr&gt;&lt;hr&gt;&lt;hr&gt; induces just one line break (&quot;&lt;div&gt;abc&lt;hr&gt;&lt;hr&gt;&lt;hr&gt;def&quot;) 
+FAIL &lt;hr&gt; content rendered (&quot;&lt;div&gt;&lt;hr class='poke'&gt;&quot;) assert_equals: expected &quot;abc&quot; but got &quot;abc\n&quot;
+PASS comment ignored (&quot;&lt;div&gt;abc&lt;!--comment--&gt;def&quot;) 
+FAIL text-transform is applied (&quot;&lt;div&gt;&lt;div style='text-transform:uppercase'&gt;abc&quot;) assert_equals: expected &quot;ABC&quot; but got &quot;ABC\n&quot;
+FAIL text-transform handles es-zet (&quot;&lt;div&gt;&lt;div style='text-transform:uppercase'&gt;Maß&quot;) assert_equals: expected &quot;MASS&quot; but got &quot;MASS\n&quot;
+FAIL text-transform handles Turkish casing (&quot;&lt;div&gt;&lt;div lang='tr' style='text-transform:uppercase'&gt;i ı&quot;) assert_equals: expected &quot;İ I&quot; but got &quot;İ I\n&quot;
+PASS block-in-inline doesn't add unnecessary newlines (&quot;&lt;div&gt;abc&lt;span&gt;123&lt;div&gt;456&lt;/div&gt;789&lt;/span&gt;def&quot;) 
+FAIL floats induce a block boundary (&quot;&lt;div&gt;abc&lt;div style='float:left'&gt;123&lt;/div&gt;def&quot;) assert_equals: expected &quot;abc\n123\ndef&quot; but got &quot;abc123def&quot;
+FAIL floats induce a block boundary (&quot;&lt;div&gt;abc&lt;span style='float:left'&gt;123&lt;/span&gt;def&quot;) assert_equals: expected &quot;abc\n123\ndef&quot; but got &quot;abc123def&quot;
+FAIL position:absolute induces a block boundary (&quot;&lt;div&gt;abc&lt;div style='position:absolute'&gt;123&lt;/div&gt;def&quot;) assert_equals: expected &quot;abc\n123\ndef&quot; but got &quot;abc123def&quot;
+FAIL position:absolute induces a block boundary (&quot;&lt;div&gt;abc&lt;span style='position:absolute'&gt;123&lt;/span&gt;def&quot;) assert_equals: expected &quot;abc\n123\ndef&quot; but got &quot;abc123def&quot;
+PASS position:relative has no effect (&quot;&lt;div&gt;abc&lt;div style='position:relative'&gt;123&lt;/div&gt;def&quot;) 
+PASS position:relative has no effect (&quot;&lt;div&gt;abc&lt;span style='position:relative'&gt;123&lt;/span&gt;def&quot;) 
+PASS overflow:hidden ignored (&quot;&lt;div style='overflow:hidden'&gt;abc&quot;) 
+FAIL overflow:hidden ignored even with zero width (&quot;&lt;div style='width:0; overflow:hidden'&gt;abc&quot;) assert_equals: expected &quot;abc&quot; but got &quot;&quot;
+FAIL overflow:hidden ignored even with zero height (&quot;&lt;div style='height:0; overflow:hidden'&gt;abc&quot;) assert_equals: expected &quot;abc&quot; but got &quot;&quot;
+FAIL text-overflow:ellipsis ignored (&quot;&lt;div style='width:0; overflow:hidden; text-overflow:ellipsis'&gt;abc&quot;) assert_equals: expected &quot;abc&quot; but got &quot;&quot;
+PASS innerText not supported on SVG elements (&quot;&lt;svg&gt;abc&quot;) 
+PASS innerText not supported on MathML elements (&quot;&lt;math&gt;abc&quot;) 
+PASS &lt;rt&gt; and no &lt;rp&gt; (&quot;&lt;div&gt;&lt;ruby&gt;abc&lt;rt&gt;def&lt;/rt&gt;&lt;/ruby&gt;&quot;) 
+FAIL &lt;rp&gt; (&quot;&lt;div&gt;&lt;ruby&gt;abc&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;def&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&quot;) assert_equals: expected &quot;abcdef&quot; but got &quot;abcdef\n&quot;
+FAIL Lone &lt;rp&gt; (&quot;&lt;div&gt;&lt;rp&gt;abc&lt;/rp&gt;&quot;) assert_equals: expected &quot;&quot; but got &quot;abc&quot;
+PASS visibility:hidden &lt;rp&gt; (&quot;&lt;div&gt;&lt;rp style='visibility:hidden'&gt;abc&lt;/rp&gt;&quot;) 
+PASS display:block &lt;rp&gt; (&quot;&lt;div&gt;&lt;rp style='display:block'&gt;abc&lt;/rp&gt;def&quot;) 
+PASS display:block &lt;rp&gt; with whitespace (&quot;&lt;div&gt;&lt;rp style='display:block'&gt; abc &lt;/rp&gt;def&quot;) 
+PASS &lt;rp&gt; in a &lt;select&gt; (&quot;&lt;div&gt;&lt;select class='poke-rp'&gt;&lt;/select&gt;&quot;) 
+FAIL CSS 'order' property ignored (&quot;&lt;div style='display:flex'&gt;&lt;div style='order:1'&gt;1&lt;/div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&quot;) assert_equals: expected &quot;1\n2&quot; but got &quot;1\n2\n&quot;
+FAIL Flex items blockified (&quot;&lt;div style='display:flex'&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;/div&gt;&quot;) assert_equals: expected &quot;1\n2&quot; but got &quot;1\n2\n&quot;
+FAIL CSS 'order' property ignored (&quot;&lt;div style='display:grid'&gt;&lt;div style='order:1'&gt;1&lt;/div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&quot;) assert_equals: expected &quot;1\n2&quot; but got &quot;1\n2\n&quot;
+FAIL Grid items blockified (&quot;&lt;div style='display:grid'&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;/div&gt;&quot;) assert_equals: expected &quot;1\n2&quot; but got &quot;1\n2\n&quot;
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsinnerTextgettertestsjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/getter-tests.js (0 => 210751)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/getter-tests.js                                (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/getter-tests.js        2017-01-14 00:46:12 UTC (rev 210751)
</span><span class="lines">@@ -0,0 +1,342 @@
</span><ins>+testText(&quot;&lt;div&gt;abc&quot;, &quot;abc&quot;, &quot;Simplest possible test&quot;);
+
+/**** white-space:normal ****/
+
+testText(&quot;&lt;div&gt; abc&quot;, &quot;abc&quot;, &quot;Leading whitespace removed&quot;);
+testText(&quot;&lt;div&gt;abc &quot;, &quot;abc&quot;, &quot;Trailing whitespace removed&quot;);
+testText(&quot;&lt;div&gt;abc  def&quot;, &quot;abc def&quot;, &quot;Internal whitespace compressed&quot;);
+testText(&quot;&lt;div&gt;abc\ndef&quot;, &quot;abc def&quot;, &quot;\\n converted to space&quot;);
+testText(&quot;&lt;div&gt;abc\rdef&quot;, &quot;abc def&quot;, &quot;\\r converted to space&quot;);
+testText(&quot;&lt;div&gt;abc\tdef&quot;, &quot;abc def&quot;, &quot;\\t converted to space&quot;);
+testText(&quot;&lt;div&gt;abc &lt;br&gt;def&quot;, &quot;abc\ndef&quot;, &quot;Trailing whitespace before hard line break removed&quot;);
+
+/**** &lt;pre&gt; ****/
+
+testText(&quot;&lt;pre&gt; abc&quot;, &quot; abc&quot;, &quot;Leading whitespace preserved&quot;);
+testText(&quot;&lt;pre&gt;abc &quot;, &quot;abc &quot;, &quot;Trailing whitespace preserved&quot;);
+testText(&quot;&lt;pre&gt;abc  def&quot;, &quot;abc  def&quot;, &quot;Internal whitespace preserved&quot;);
+testText(&quot;&lt;pre&gt;abc\ndef&quot;, &quot;abc\ndef&quot;, &quot;\\n preserved&quot;);
+testText(&quot;&lt;pre&gt;abc\rdef&quot;, &quot;abc\ndef&quot;, &quot;\\r converted to newline&quot;);
+testText(&quot;&lt;pre&gt;abc\tdef&quot;, &quot;abc\tdef&quot;, &quot;\\t preserved&quot;);
+
+/**** &lt;div style=&quot;white-space:pre&quot;&gt; ****/
+
+testText(&quot;&lt;div style='white-space:pre'&gt; abc&quot;, &quot; abc&quot;, &quot;Leading whitespace preserved&quot;);
+testText(&quot;&lt;div style='white-space:pre'&gt;abc &quot;, &quot;abc &quot;, &quot;Trailing whitespace preserved&quot;);
+testText(&quot;&lt;div style='white-space:pre'&gt;abc  def&quot;, &quot;abc  def&quot;, &quot;Internal whitespace preserved&quot;);
+testText(&quot;&lt;div style='white-space:pre'&gt;abc\ndef&quot;, &quot;abc\ndef&quot;, &quot;\\n preserved&quot;);
+testText(&quot;&lt;div style='white-space:pre'&gt;abc\rdef&quot;, &quot;abc\ndef&quot;, &quot;\\r converted to newline&quot;);
+testText(&quot;&lt;div style='white-space:pre'&gt;abc\tdef&quot;, &quot;abc\tdef&quot;, &quot;\\t preserved&quot;);
+
+/**** &lt;span style=&quot;white-space:pre&quot;&gt; ****/
+
+testText(&quot;&lt;span style='white-space:pre'&gt; abc&quot;, &quot; abc&quot;, &quot;Leading whitespace preserved&quot;);
+testText(&quot;&lt;span style='white-space:pre'&gt;abc &quot;, &quot;abc &quot;, &quot;Trailing whitespace preserved&quot;);
+testText(&quot;&lt;span style='white-space:pre'&gt;abc  def&quot;, &quot;abc  def&quot;, &quot;Internal whitespace preserved&quot;);
+testText(&quot;&lt;span style='white-space:pre'&gt;abc\ndef&quot;, &quot;abc\ndef&quot;, &quot;\\n preserved&quot;);
+testText(&quot;&lt;span style='white-space:pre'&gt;abc\rdef&quot;, &quot;abc\ndef&quot;, &quot;\\r converted to newline&quot;);
+testText(&quot;&lt;span style='white-space:pre'&gt;abc\tdef&quot;, &quot;abc\tdef&quot;, &quot;\\t preserved&quot;);
+
+/**** &lt;div style=&quot;white-space:pre-line&quot;&gt; ****/
+
+testText(&quot;&lt;div style='white-space:pre-line'&gt; abc&quot;, &quot;abc&quot;, &quot;Leading whitespace removed&quot;);
+testText(&quot;&lt;div style='white-space:pre-line'&gt;abc &quot;, &quot;abc&quot;, &quot;Trailing whitespace removed&quot;);
+testText(&quot;&lt;div style='white-space:pre-line'&gt;abc  def&quot;, &quot;abc def&quot;, &quot;Internal whitespace collapsed&quot;);
+testText(&quot;&lt;div style='white-space:pre-line'&gt;abc\ndef&quot;, &quot;abc\ndef&quot;, &quot;\\n preserved&quot;);
+testText(&quot;&lt;div style='white-space:pre-line'&gt;abc\rdef&quot;, &quot;abc\ndef&quot;, &quot;\\r converted to newline&quot;);
+testText(&quot;&lt;div style='white-space:pre-line'&gt;abc\tdef&quot;, &quot;abc def&quot;, &quot;\\t converted to space&quot;);
+
+/**** Collapsing whitespace across element boundaries ****/
+
+testText(&quot;&lt;div&gt;&lt;span&gt;abc &lt;/span&gt; def&quot;, &quot;abc def&quot;, &quot;Whitespace collapses across element boundaries&quot;);
+testText(&quot;&lt;div&gt;&lt;span&gt;abc &lt;/span&gt;&lt;span&gt;&lt;/span&gt; def&quot;, &quot;abc def&quot;, &quot;Whitespace collapses across element boundaries&quot;);
+testText(&quot;&lt;div&gt;&lt;span&gt;abc &lt;/span&gt;&lt;span style='white-space:pre'&gt;&lt;/span&gt; def&quot;, &quot;abc def&quot;, &quot;Whitespace collapses across element boundaries&quot;);
+
+/**** Soft line breaks ****/
+
+testText(&quot;&lt;div style='width:0'&gt;abc def&quot;, &quot;abc def&quot;, &quot;Soft line breaks ignored&quot;);
+
+/**** first-line/first-letter ****/
+
+testText(&quot;&lt;div class='first-line-uppercase' style='width:0'&gt;abc def&quot;, &quot;ABC def&quot;, &quot;::first-line styles applied&quot;);
+testText(&quot;&lt;div class='first-letter-uppercase' style='width:0'&gt;abc def&quot;, &quot;Abc def&quot;, &quot;::first-letter styles applied&quot;);
+testText(&quot;&lt;div class='first-letter-float' style='width:0'&gt;abc def&quot;, &quot;abc def&quot;, &quot;::first-letter float ignored&quot;);
+
+/**** &amp;nbsp; ****/
+
+testText(&quot;&lt;div&gt;&amp;nbsp;&quot;, &quot;\xA0&quot;, &quot;&amp;nbsp; preserved&quot;);
+
+/**** display:none ****/
+
+testText(&quot;&lt;div style='display:none'&gt;abc&quot;, &quot;abc&quot;, &quot;display:none container&quot;);
+testText(&quot;&lt;div style='display:none'&gt;abc  def&quot;, &quot;abc  def&quot;, &quot;No whitespace compression in display:none container&quot;);
+testText(&quot;&lt;div style='display:none'&gt; abc def &quot;, &quot; abc def &quot;, &quot;No removal of leading/trailing whitespace in display:none container&quot;);
+testText(&quot;&lt;div&gt;123&lt;span style='display:none'&gt;abc&quot;, &quot;123&quot;, &quot;display:none child not rendered&quot;);
+testText(&quot;&lt;div style='display:none'&gt;&lt;span id='target'&gt;abc&quot;, &quot;abc&quot;, &quot;display:none container with non-display-none target child&quot;);
+testTextInSVG(&quot;&lt;div id='target'&gt;abc&quot;, &quot;&quot;, &quot;non-display-none child of svg&quot;);
+testTextInSVG(&quot;&lt;div style='display:none' id='target'&gt;abc&quot;, &quot;abc&quot;, &quot;display:none child of svg&quot;);
+testTextInSVG(&quot;&lt;div style='display:none'&gt;&lt;div id='target'&gt;abc&quot;, &quot;abc&quot;, &quot;child of display:none child of svg&quot;);
+
+/**** display:contents ****/
+
+if (CSS.supports(&quot;display&quot;, &quot;contents&quot;)) {
+  testText(&quot;&lt;div style='display:contents'&gt;abc&quot;, &quot;abc&quot;, &quot;display:contents container&quot;);
+  testText(&quot;&lt;div&gt;&lt;div style='display:contents'&gt;abc&quot;, &quot;abc&quot;, &quot;display:contents container&quot;);
+  testText(&quot;&lt;div&gt;123&lt;span style='display:contents'&gt;abc&quot;, &quot;123abc&quot;, &quot;display:contents rendered&quot;);
+  testText(&quot;&lt;div style='display:contents'&gt;   &quot;, &quot;&quot;, &quot;display:contents not processed via textContent&quot;);
+  testText(&quot;&lt;div&gt;&lt;div style='display:contents'&gt;   &quot;, &quot;&quot;, &quot;display:contents not processed via textContent&quot;);
+}
+
+/**** visibility:hidden ****/
+
+testText(&quot;&lt;div style='visibility:hidden'&gt;abc&quot;, &quot;&quot;, &quot;visibility:hidden container&quot;);
+testText(&quot;&lt;div&gt;123&lt;span style='visibility:hidden'&gt;abc&quot;, &quot;123&quot;, &quot;visibility:hidden child not rendered&quot;);
+testText(&quot;&lt;div style='visibility:hidden'&gt;123&lt;span style='visibility:visible'&gt;abc&quot;, &quot;abc&quot;, &quot;visibility:visible child rendered&quot;);
+
+/**** visibility:collapse ****/
+
+testText(&quot;&lt;table&gt;&lt;tbody style='visibility:collapse'&gt;&lt;tr&gt;&lt;td&gt;abc&quot;, &quot;&quot;, &quot;visibility:collapse row-group&quot;);
+testText(&quot;&lt;table&gt;&lt;tr style='visibility:collapse'&gt;&lt;td&gt;abc&quot;, &quot;&quot;, &quot;visibility:collapse row&quot;);
+testText(&quot;&lt;table&gt;&lt;tr&gt;&lt;td style='visibility:collapse'&gt;abc&quot;, &quot;&quot;, &quot;visibility:collapse cell&quot;);
+testText(&quot;&lt;table&gt;&lt;tbody style='visibility:collapse'&gt;&lt;tr&gt;&lt;td style='visibility:visible'&gt;abc&quot;, &quot;abc&quot;,
+         &quot;visibility:collapse row-group with visible cell&quot;);
+testText(&quot;&lt;table&gt;&lt;tr style='visibility:collapse'&gt;&lt;td style='visibility:visible'&gt;abc&quot;, &quot;abc&quot;,
+         &quot;visibility:collapse row with visible cell&quot;);
+testText(&quot;&lt;div style='display:flex'&gt;&lt;span style='visibility:collapse'&gt;1&lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;/div&gt;&quot;,
+         &quot;2&quot;, &quot;visibility:collapse honored on flex item&quot;);
+testText(&quot;&lt;div style='display:grid'&gt;&lt;span style='visibility:collapse'&gt;1&lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;/div&gt;&quot;,
+         &quot;2&quot;, &quot;visibility:collapse honored on grid item&quot;);
+
+/**** opacity:0 ****/
+
+testText(&quot;&lt;div style='opacity:0'&gt;abc&quot;, &quot;abc&quot;, &quot;opacity:0 container&quot;);
+testText(&quot;&lt;div style='opacity:0'&gt;abc  def&quot;, &quot;abc def&quot;, &quot;Whitespace compression in opacity:0 container&quot;);
+testText(&quot;&lt;div style='opacity:0'&gt; abc def &quot;, &quot;abc def&quot;, &quot;Remove leading/trailing whitespace in opacity:0 container&quot;);
+testText(&quot;&lt;div&gt;123&lt;span style='opacity:0'&gt;abc&quot;, &quot;123abc&quot;, &quot;opacity:0 child rendered&quot;);
+
+/**** generated content ****/
+
+testText(&quot;&lt;div class='before'&gt;&quot;, &quot;&quot;, &quot;Generated content not included&quot;);
+testText(&quot;&lt;div&gt;&lt;div class='before'&gt;&quot;, &quot;&quot;, &quot;Generated content on child not included&quot;);
+
+/**** innerText on replaced elements ****/
+
+testText(&quot;&lt;button&gt;abc&quot;, &quot;abc&quot;, &quot;&lt;button&gt; contents preserved&quot;);
+testText(&quot;&lt;fieldset&gt;abc&quot;, &quot;abc&quot;, &quot;&lt;fieldset&gt; contents preserved&quot;);
+testText(&quot;&lt;fieldset&gt;&lt;legend&gt;abc&quot;, &quot;abc&quot;, &quot;&lt;fieldset&gt; &lt;legend&gt; contents preserved&quot;);
+testText(&quot;&lt;input type='text' value='abc'&gt;&quot;, &quot;&quot;, &quot;&lt;input&gt; contents ignored&quot;);
+testText(&quot;&lt;textarea&gt;abc&quot;, &quot;&quot;, &quot;&lt;textarea&gt; contents ignored&quot;);
+testText(&quot;&lt;iframe&gt;abc&quot;, &quot;&quot;, &quot;&lt;iframe&gt; contents ignored&quot;);
+testText(&quot;&lt;iframe&gt;&lt;div id='target'&gt;abc&quot;, &quot;&quot;, &quot;&lt;iframe&gt; contents ignored&quot;);
+testText(&quot;&lt;iframe src='data:text/html,abc'&gt;&quot;, &quot;&quot;,&quot;&lt;iframe&gt; subdocument ignored&quot;);
+testText(&quot;&lt;audio style='display:block'&gt;abc&quot;, &quot;&quot;, &quot;&lt;audio&gt; contents ignored&quot;);
+testText(&quot;&lt;audio style='display:block'&gt;&lt;source id='target' class='poke' style='display:block'&gt;&quot;, &quot;&quot;, &quot;&lt;audio&gt; contents ignored&quot;);
+testText(&quot;&lt;audio style='display:block'&gt;&lt;source id='target' class='poke' style='display:none'&gt;&quot;, &quot;abc&quot;, &quot;&lt;audio&gt; contents ok if display:none&quot;);
+testText(&quot;&lt;video&gt;abc&quot;, &quot;&quot;, &quot;&lt;video&gt; contents ignored&quot;);
+testText(&quot;&lt;video style='display:block'&gt;&lt;source id='target' class='poke' style='display:block'&gt;&quot;, &quot;&quot;, &quot;&lt;video&gt; contents ignored&quot;);
+testText(&quot;&lt;video style='display:block'&gt;&lt;source id='target' class='poke' style='display:none'&gt;&quot;, &quot;abc&quot;, &quot;&lt;video&gt; contents ok if display:none&quot;);
+testText(&quot;&lt;canvas&gt;abc&quot;, &quot;&quot;, &quot;&lt;canvas&gt; contents ignored&quot;);
+testText(&quot;&lt;canvas&gt;&lt;div id='target'&gt;abc&quot;, &quot;&quot;, &quot;&lt;canvas&gt;&lt;div id='target'&gt; contents ignored&quot;);
+testText(&quot;&lt;img alt='abc'&gt;&quot;, &quot;&quot;, &quot;&lt;img&gt; alt text ignored&quot;);
+testText(&quot;&lt;img src='about:blank' class='poke'&gt;&quot;, &quot;&quot;, &quot;&lt;img&gt; contents ignored&quot;);
+
+/**** &lt;select&gt;, &lt;optgroup&gt; &amp; &lt;option&gt; ****/
+
+testText(&quot;&lt;select size='1'&gt;&lt;option&gt;abc&lt;/option&gt;&lt;option&gt;def&quot;, &quot;abc\ndef&quot;, &quot;&lt;select size='1'&gt; contents of options preserved&quot;);
+testText(&quot;&lt;select size='2'&gt;&lt;option&gt;abc&lt;/option&gt;&lt;option&gt;def&quot;, &quot;abc\ndef&quot;, &quot;&lt;select size='2'&gt; contents of options preserved&quot;);
+testText(&quot;&lt;select size='1'&gt;&lt;option id='target'&gt;abc&lt;/option&gt;&lt;option&gt;def&quot;, &quot;abc&quot;, &quot;&lt;select size='1'&gt; contents of target option preserved&quot;);
+testText(&quot;&lt;select size='2'&gt;&lt;option id='target'&gt;abc&lt;/option&gt;&lt;option&gt;def&quot;, &quot;abc&quot;, &quot;&lt;select size='2'&gt; contents of target option preserved&quot;);
+testText(&quot;&lt;div&gt;a&lt;select&gt;&lt;/select&gt;bc&quot;, &quot;abc&quot;, &quot;empty &lt;select&gt;&quot;);
+testText(&quot;&lt;div&gt;a&lt;select&gt;&lt;optgroup&gt;&lt;/select&gt;bc&quot;, &quot;a\nbc&quot;, &quot;empty &lt;optgroup&gt; in &lt;select&gt;&quot;);
+testText(&quot;&lt;div&gt;a&lt;select&gt;&lt;option&gt;&lt;/select&gt;bc&quot;, &quot;a\nbc&quot;, &quot;empty &lt;option&gt; in &lt;select&gt;&quot;);
+testText(&quot;&lt;select class='poke'&gt;&lt;/select&gt;&quot;, &quot;&quot;, &quot;&lt;select&gt; containing text node child&quot;);
+testText(&quot;&lt;select&gt;&lt;optgroup class='poke-optgroup'&gt;&lt;/select&gt;&quot;, &quot;&quot;, &quot;&lt;optgroup&gt; containing &lt;optgroup&gt;&quot;);
+testText(&quot;&lt;select&gt;&lt;optgroup&gt;&lt;option&gt;abc&lt;/select&gt;&quot;, &quot;abc&quot;, &quot;&lt;optgroup&gt; containing &lt;option&gt;&quot;);
+testText(&quot;&lt;select&gt;&lt;option class='poke-div'&gt;123&lt;/select&gt;&quot;, &quot;123\nabc&quot;, &quot;&lt;div&gt; in &lt;option&gt;&quot;);
+testText(&quot;&lt;div&gt;a&lt;optgroup&gt;&lt;/optgroup&gt;bc&quot;, &quot;a\nbc&quot;, &quot;empty &lt;optgroup&gt; in &lt;div&gt;&quot;);
+testText(&quot;&lt;div&gt;a&lt;optgroup&gt;123&lt;/optgroup&gt;bc&quot;, &quot;a\nbc&quot;, &quot;&lt;optgroup&gt; in &lt;div&gt;&quot;);
+testText(&quot;&lt;div&gt;a&lt;option&gt;&lt;/option&gt;bc&quot;, &quot;a\nbc&quot;, &quot;empty &lt;option&gt; in &lt;div&gt;&quot;);
+testText(&quot;&lt;div&gt;a&lt;option&gt;123&lt;/option&gt;bc&quot;, &quot;a\n123\nbc&quot;, &quot;&lt;option&gt; in &lt;div&gt;&quot;);
+
+/**** innerText on replaced element children ****/
+
+testText(&quot;&lt;div&gt;&lt;button&gt;abc&quot;, &quot;abc&quot;, &quot;&lt;button&gt; contents preserved&quot;);
+testText(&quot;&lt;div&gt;&lt;fieldset&gt;abc&quot;, &quot;abc&quot;, &quot;&lt;fieldset&gt; contents preserved&quot;);
+testText(&quot;&lt;div&gt;&lt;fieldset&gt;&lt;legend&gt;abc&quot;, &quot;abc&quot;, &quot;&lt;fieldset&gt; &lt;legend&gt; contents preserved&quot;);
+testText(&quot;&lt;div&gt;&lt;input type='text' value='abc'&gt;&quot;, &quot;&quot;, &quot;&lt;input&gt; contents ignored&quot;);
+testText(&quot;&lt;div&gt;&lt;textarea&gt;abc&quot;, &quot;&quot;, &quot;&lt;textarea&gt; contents ignored&quot;);
+testText(&quot;&lt;div&gt;&lt;select size='1'&gt;&lt;option&gt;abc&lt;/option&gt;&lt;option&gt;def&quot;, &quot;abc\ndef&quot;, &quot;&lt;select size='1'&gt; contents of options preserved&quot;);
+testText(&quot;&lt;div&gt;&lt;select size='2'&gt;&lt;option&gt;abc&lt;/option&gt;&lt;option&gt;def&quot;, &quot;abc\ndef&quot;, &quot;&lt;select size='2'&gt; contents of options preserved&quot;);
+testText(&quot;&lt;div&gt;&lt;iframe&gt;abc&quot;, &quot;&quot;, &quot;&lt;iframe&gt; contents ignored&quot;);
+testText(&quot;&lt;div&gt;&lt;iframe src='data:text/html,abc'&gt;&quot;, &quot;&quot;,&quot; &lt;iframe&gt; subdocument ignored&quot;);
+testText(&quot;&lt;div&gt;&lt;audio&gt;abc&quot;, &quot;&quot;, &quot;&lt;audio&gt; contents ignored&quot;);
+testText(&quot;&lt;div&gt;&lt;video&gt;abc&quot;, &quot;&quot;, &quot;&lt;video&gt; contents ignored&quot;);
+testText(&quot;&lt;div&gt;&lt;canvas&gt;abc&quot;, &quot;&quot;, &quot;&lt;canvas&gt; contents ignored&quot;);
+testText(&quot;&lt;div&gt;&lt;img alt='abc'&gt;&quot;, &quot;&quot;, &quot;&lt;img&gt; alt text ignored&quot;);
+
+/**** Lines around blocks ****/
+
+testText(&quot;&lt;div&gt;123&lt;div&gt;abc&lt;/div&gt;def&quot;, &quot;123\nabc\ndef&quot;, &quot;Newline at block boundary&quot;);
+testText(&quot;&lt;div&gt;123&lt;span style='display:block'&gt;abc&lt;/span&gt;def&quot;, &quot;123\nabc\ndef&quot;, &quot;Newline at display:block boundary&quot;);
+testText(&quot;&lt;div&gt;abc&lt;div&gt;&lt;/div&gt;def&quot;, &quot;abc\ndef&quot;, &quot;Empty block induces single line break&quot;);
+testText(&quot;&lt;div&gt;abc&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;def&quot;, &quot;abc\ndef&quot;, &quot;Consecutive empty blocks ignored&quot;);
+testText(&quot;&lt;div&gt;&lt;p&gt;abc&quot;, &quot;abc&quot;, &quot;No blank lines around &lt;p&gt; alone&quot;);
+testText(&quot;&lt;div&gt;&lt;p&gt;abc&lt;/p&gt; &quot;, &quot;abc&quot;, &quot;No blank lines around &lt;p&gt; followed by only collapsible whitespace&quot;);
+testText(&quot;&lt;div&gt; &lt;p&gt;abc&lt;/p&gt;&quot;, &quot;abc&quot;, &quot;No blank lines around &lt;p&gt; preceded by only collapsible whitespace&quot;);
+testText(&quot;&lt;div&gt;&lt;p&gt;abc&lt;p&gt;def&quot;, &quot;abc\n\ndef&quot;, &quot;Blank line between consecutive &lt;p&gt;s&quot;);
+testText(&quot;&lt;div&gt;&lt;p&gt;abc&lt;/p&gt; &lt;p&gt;def&quot;, &quot;abc\n\ndef&quot;, &quot;Blank line between consecutive &lt;p&gt;s separated only by collapsible whitespace&quot;);
+testText(&quot;&lt;div&gt;&lt;p&gt;abc&lt;/p&gt;&lt;div&gt;&lt;/div&gt;&lt;p&gt;def&quot;, &quot;abc\n\ndef&quot;, &quot;Blank line between consecutive &lt;p&gt;s separated only by empty block&quot;);
+testText(&quot;&lt;div&gt;&lt;p&gt;abc&lt;/p&gt;&lt;div&gt;123&lt;/div&gt;&lt;p&gt;def&quot;, &quot;abc\n\n123\n\ndef&quot;, &quot;Blank lines between &lt;p&gt;s separated by non-empty block&quot;);
+testText(&quot;&lt;div&gt;abc&lt;div&gt;&lt;p&gt;123&lt;/p&gt;&lt;/div&gt;def&quot;, &quot;abc\n\n123\n\ndef&quot;, &quot;Blank lines around a &lt;p&gt; in its own block&quot;);
+testText(&quot;&lt;div&gt;abc&lt;p&gt;def&quot;, &quot;abc\n\ndef&quot;, &quot;Blank line before &lt;p&gt;&quot;);
+testText(&quot;&lt;div&gt;&lt;p&gt;abc&lt;/p&gt;def&quot;, &quot;abc\n\ndef&quot;, &quot;Blank line after &lt;p&gt;&quot;);
+testText(&quot;&lt;div&gt;&lt;p&gt;abc&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;def&quot;, &quot;abc\n\ndef&quot;, &quot;One blank line between &lt;p&gt;s, ignoring empty &lt;p&gt;s&quot;);
+testText(&quot;&lt;div style='visibility:hidden'&gt;&lt;p&gt;&lt;span style='visibility:visible'&gt;abc&lt;/span&gt;&lt;/p&gt;\n&lt;div style='visibility:visible'&gt;def&lt;/div&gt;&quot;,
+     &quot;abc\ndef&quot;, &quot;Invisible &lt;p&gt; doesn't induce extra line breaks&quot;);
+testText(&quot;&lt;div&gt;abc&lt;div style='margin:2em'&gt;def&quot;, &quot;abc\ndef&quot;, &quot;No blank lines around &lt;div&gt; with margin&quot;);
+testText(&quot;&lt;div&gt;123&lt;span style='display:inline-block'&gt;abc&lt;/span&gt;def&quot;, &quot;123abcdef&quot;, &quot;No newlines at display:inline-block boundary&quot;);
+testText(&quot;&lt;div&gt;123&lt;span style='display:inline-block'&gt; abc &lt;/span&gt;def&quot;, &quot;123abcdef&quot;, &quot;Leading/trailing space removal at display:inline-block boundary&quot;);
+
+/**** Spans ****/
+
+testText(&quot;&lt;div&gt;123&lt;span&gt;abc&lt;/span&gt;def&quot;, &quot;123abcdef&quot;, &quot;&lt;span&gt; boundaries are irrelevant&quot;);
+testText(&quot;&lt;div&gt;123 &lt;span&gt;abc&lt;/span&gt; def&quot;, &quot;123 abc def&quot;, &quot;&lt;span&gt; boundaries are irrelevant&quot;);
+testText(&quot;&lt;div style='width:0'&gt;123 &lt;span&gt;abc&lt;/span&gt; def&quot;, &quot;123 abc def&quot;, &quot;&lt;span&gt; boundaries are irrelevant&quot;);
+testText(&quot;&lt;div&gt;123&lt;em&gt;abc&lt;/em&gt;def&quot;, &quot;123abcdef&quot;, &quot;&lt;em&gt; gets no special treatment&quot;);
+testText(&quot;&lt;div&gt;123&lt;b&gt;abc&lt;/b&gt;def&quot;, &quot;123abcdef&quot;, &quot;&lt;b&gt; gets no special treatment&quot;);
+testText(&quot;&lt;div&gt;123&lt;i&gt;abc&lt;/i&gt;def&quot;, &quot;123abcdef&quot;, &quot;&lt;i&gt; gets no special treatment&quot;);
+testText(&quot;&lt;div&gt;123&lt;strong&gt;abc&lt;/strong&gt;def&quot;, &quot;123abcdef&quot;, &quot;&lt;strong&gt; gets no special treatment&quot;);
+testText(&quot;&lt;div&gt;123&lt;tt&gt;abc&lt;/tt&gt;def&quot;, &quot;123abcdef&quot;, &quot;&lt;tt&gt; gets no special treatment&quot;);
+testText(&quot;&lt;div&gt;123&lt;code&gt;abc&lt;/code&gt;def&quot;, &quot;123abcdef&quot;, &quot;&lt;code&gt; gets no special treatment&quot;);
+
+/**** Soft hyphen ****/
+
+testText(&quot;&lt;div&gt;abc&amp;shy;def&quot;, &quot;abc\xADdef&quot;, &quot;soft hyphen preserved&quot;);
+testText(&quot;&lt;div style='width:0'&gt;abc&amp;shy;def&quot;, &quot;abc\xADdef&quot;, &quot;soft hyphen preserved&quot;);
+
+/**** Tables ****/
+
+testText(&quot;&lt;div&gt;&lt;table style='white-space:pre'&gt;  &lt;td&gt;abc&lt;/td&gt;  &lt;/table&gt;&quot;, &quot;abc&quot;, &quot;Ignoring non-rendered table whitespace&quot;);
+testText(&quot;&lt;div&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;abc&lt;td&gt;def&lt;/table&gt;&quot;, &quot;abc\tdef&quot;, &quot;Tab-separated table cells&quot;);
+testText(&quot;&lt;div&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;abc&lt;td&gt;&lt;td&gt;def&lt;/table&gt;&quot;, &quot;abc\t\tdef&quot;, &quot;Tab-separated table cells including empty cells&quot;);
+testText(&quot;&lt;div&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;abc&lt;td&gt;&lt;td&gt;&lt;/table&gt;&quot;, &quot;abc\t\t&quot;, &quot;Tab-separated table cells including trailing empty cells&quot;);
+testText(&quot;&lt;div&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;abc&lt;tr&gt;&lt;td&gt;def&lt;/table&gt;&quot;, &quot;abc\ndef&quot;, &quot;Newline-separated table rows&quot;);
+testText(&quot;&lt;div&gt;abc&lt;table&gt;&lt;td&gt;def&lt;/table&gt;ghi&quot;, &quot;abc\ndef\nghi&quot;, &quot;Newlines around table&quot;);
+testText(&quot;&lt;div&gt;&lt;table style='border-collapse:collapse'&gt;&lt;tr&gt;&lt;td&gt;abc&lt;td&gt;def&lt;/table&gt;&quot;, &quot;abc\tdef&quot;,
+         &quot;Tab-separated table cells in a border-collapse table&quot;);
+testText(&quot;&lt;div&gt;&lt;table&gt;&lt;tfoot&gt;x&lt;/tfoot&gt;&lt;tbody&gt;y&lt;/tbody&gt;&lt;/table&gt;&quot;, &quot;xy&quot;, &quot;tfoot not reordered&quot;);
+testText(&quot;&lt;table&gt;&lt;tfoot&gt;&lt;tr&gt;&lt;td&gt;footer&lt;/tfoot&gt;&lt;thead&gt;&lt;tr&gt;&lt;td style='visibility:collapse'&gt;thead&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;tbody&lt;/tbody&gt;&lt;/table&gt;&quot;,
+         &quot;footer\n\ntbody&quot;, &quot;&quot;);
+
+/**** Table captions ****/
+
+testText(&quot;&lt;div&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt;abc&lt;caption&gt;def&lt;/caption&gt;&lt;/table&gt;&quot;, &quot;abc\ndef&quot;, &quot;Newline between cells and caption&quot;);
+
+/**** display:table ****/
+
+testText(&quot;&lt;div&gt;&lt;div class='table'&gt;&lt;span class='cell'&gt;abc&lt;/span&gt;\n&lt;span class='cell'&gt;def&lt;/span&gt;&lt;/div&gt;&quot;,
+         &quot;abc\tdef&quot;, &quot;Tab-separated table cells&quot;);
+testText(&quot;&lt;div&gt;&lt;div class='table'&gt;&lt;span class='row'&gt;&lt;span class='cell'&gt;abc&lt;/span&gt;&lt;/span&gt;\n&lt;span class='row'&gt;&lt;span class='cell'&gt;def&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&quot;,
+         &quot;abc\ndef&quot;, &quot;Newline-separated table rows&quot;);
+testText(&quot;&lt;div&gt;abc&lt;div class='table'&gt;&lt;span class='cell'&gt;def&lt;/span&gt;&lt;/div&gt;ghi&quot;, &quot;abc\ndef\nghi&quot;, &quot;Newlines around table&quot;);
+
+/**** display:inline-table ****/
+
+testText(&quot;&lt;div&gt;&lt;div class='itable'&gt;&lt;span class='cell'&gt;abc&lt;/span&gt;\n&lt;span class='cell'&gt;def&lt;/span&gt;&lt;/div&gt;&quot;, &quot;abc\tdef&quot;, &quot;Tab-separated table cells&quot;);
+testText(&quot;&lt;div&gt;&lt;div class='itable'&gt;&lt;span class='row'&gt;&lt;span class='cell'&gt;abc&lt;/span&gt;&lt;/span&gt;\n&lt;span class='row'&gt;&lt;span class='cell'&gt;def&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&quot;,
+         &quot;abc\ndef&quot;, &quot;Newline-separated table rows&quot;);
+testText(&quot;&lt;div&gt;abc&lt;div class='itable'&gt;&lt;span class='cell'&gt;def&lt;/span&gt;&lt;/div&gt;ghi&quot;, &quot;abcdefghi&quot;, &quot;No newlines around inline-table&quot;);
+testText(&quot;&lt;div&gt;abc&lt;div class='itable'&gt;&lt;span class='row'&gt;&lt;span class='cell'&gt;def&lt;/span&gt;&lt;/span&gt;\n&lt;span class='row'&gt;&lt;span class='cell'&gt;123&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;ghi&quot;,
+         &quot;abcdef\n123ghi&quot;, &quot;Single newline in two-row inline-table&quot;);
+
+/**** Lists ****/
+
+testText(&quot;&lt;div&gt;&lt;ol&gt;&lt;li&gt;abc&quot;, &quot;abc&quot;, &quot;&lt;ol&gt; list items get no special treatment&quot;);
+testText(&quot;&lt;div&gt;&lt;ul&gt;&lt;li&gt;abc&quot;, &quot;abc&quot;, &quot;&lt;ul&gt; list items get no special treatment&quot;);
+
+/**** Misc elements ****/
+
+testText(&quot;&lt;div&gt;&lt;script style='display:block'&gt;abc&quot;, &quot;abc&quot;, &quot;display:block &lt;script&gt; is rendered&quot;);
+testText(&quot;&lt;div&gt;&lt;style style='display:block'&gt;abc&quot;, &quot;abc&quot;, &quot;display:block &lt;style&gt; is rendered&quot;);
+testText(&quot;&lt;div&gt;&lt;noscript style='display:block'&gt;abc&quot;, &quot;&quot;, &quot;display:block &lt;noscript&gt; is not rendered (it's not parsed!)&quot;);
+testText(&quot;&lt;div&gt;&lt;template style='display:block'&gt;abc&quot;, &quot;&quot;,
+         &quot;display:block &lt;template&gt; contents are not rendered (the contents are in a different document)&quot;);
+testText(&quot;&lt;div&gt;abc&lt;br&gt;def&quot;, &quot;abc\ndef&quot;, &quot;&lt;br&gt; induces line break&quot;);
+testText(&quot;&lt;div&gt;abc&lt;br&gt;&quot;, &quot;abc\n&quot;, &quot;&lt;br&gt; induces line break even at end of block&quot;);
+testText(&quot;&lt;div&gt;&lt;br class='poke'&gt;&quot;, &quot;\n&quot;, &quot;&lt;br&gt; content ignored&quot;);
+testText(&quot;&lt;div&gt;abc&lt;hr&gt;def&quot;, &quot;abc\ndef&quot;, &quot;&lt;hr&gt; induces line break&quot;);
+testText(&quot;&lt;div&gt;abc&lt;hr&gt;&lt;hr&gt;def&quot;, &quot;abc\ndef&quot;, &quot;&lt;hr&gt;&lt;hr&gt; induces just one line break&quot;);
+testText(&quot;&lt;div&gt;abc&lt;hr&gt;&lt;hr&gt;&lt;hr&gt;def&quot;, &quot;abc\ndef&quot;, &quot;&lt;hr&gt;&lt;hr&gt;&lt;hr&gt; induces just one line break&quot;);
+testText(&quot;&lt;div&gt;&lt;hr class='poke'&gt;&quot;, &quot;abc&quot;, &quot;&lt;hr&gt; content rendered&quot;);
+testText(&quot;&lt;div&gt;abc&lt;!--comment--&gt;def&quot;, &quot;abcdef&quot;, &quot;comment ignored&quot;);
+
+/**** text-transform ****/
+
+testText(&quot;&lt;div&gt;&lt;div style='text-transform:uppercase'&gt;abc&quot;, &quot;ABC&quot;, &quot;text-transform is applied&quot;);
+testText(&quot;&lt;div&gt;&lt;div style='text-transform:uppercase'&gt;Ma\xDF&quot;, &quot;MASS&quot;, &quot;text-transform handles es-zet&quot;);
+testText(&quot;&lt;div&gt;&lt;div lang='tr' style='text-transform:uppercase'&gt;i \u0131&quot;, &quot;\u0130 I&quot;, &quot;text-transform handles Turkish casing&quot;);
+
+/**** block-in-inline ****/
+
+testText(&quot;&lt;div&gt;abc&lt;span&gt;123&lt;div&gt;456&lt;/div&gt;789&lt;/span&gt;def&quot;, &quot;abc123\n456\n789def&quot;, &quot;block-in-inline doesn't add unnecessary newlines&quot;);
+
+/**** floats ****/
+
+testText(&quot;&lt;div&gt;abc&lt;div style='float:left'&gt;123&lt;/div&gt;def&quot;, &quot;abc\n123\ndef&quot;, &quot;floats induce a block boundary&quot;);
+testText(&quot;&lt;div&gt;abc&lt;span style='float:left'&gt;123&lt;/span&gt;def&quot;, &quot;abc\n123\ndef&quot;, &quot;floats induce a block boundary&quot;);
+
+/**** position ****/
+
+testText(&quot;&lt;div&gt;abc&lt;div style='position:absolute'&gt;123&lt;/div&gt;def&quot;, &quot;abc\n123\ndef&quot;, &quot;position:absolute induces a block boundary&quot;);
+testText(&quot;&lt;div&gt;abc&lt;span style='position:absolute'&gt;123&lt;/span&gt;def&quot;, &quot;abc\n123\ndef&quot;, &quot;position:absolute induces a block boundary&quot;);
+testText(&quot;&lt;div&gt;abc&lt;div style='position:relative'&gt;123&lt;/div&gt;def&quot;, &quot;abc\n123\ndef&quot;, &quot;position:relative has no effect&quot;);
+testText(&quot;&lt;div&gt;abc&lt;span style='position:relative'&gt;123&lt;/span&gt;def&quot;, &quot;abc123def&quot;, &quot;position:relative has no effect&quot;);
+
+/**** text-overflow:ellipsis ****/
+
+testText(&quot;&lt;div style='overflow:hidden'&gt;abc&quot;, &quot;abc&quot;, &quot;overflow:hidden ignored&quot;);
+// XXX Chrome skips content with width:0 or height:0 and overflow:hidden;
+// should we spec that?
+testText(&quot;&lt;div style='width:0; overflow:hidden'&gt;abc&quot;, &quot;abc&quot;, &quot;overflow:hidden ignored even with zero width&quot;);
+testText(&quot;&lt;div style='height:0; overflow:hidden'&gt;abc&quot;, &quot;abc&quot;, &quot;overflow:hidden ignored even with zero height&quot;);
+testText(&quot;&lt;div style='width:0; overflow:hidden; text-overflow:ellipsis'&gt;abc&quot;, &quot;abc&quot;, &quot;text-overflow:ellipsis ignored&quot;);
+
+/**** Support on non-HTML elements ****/
+
+testText(&quot;&lt;svg&gt;abc&quot;, undefined, &quot;innerText not supported on SVG elements&quot;);
+testText(&quot;&lt;math&gt;abc&quot;, undefined, &quot;innerText not supported on MathML elements&quot;);
+
+/**** Ruby ****/
+
+testText(&quot;&lt;div&gt;&lt;ruby&gt;abc&lt;rt&gt;def&lt;/rt&gt;&lt;/ruby&gt;&quot;, &quot;abcdef&quot;, &quot;&lt;rt&gt; and no &lt;rp&gt;&quot;);
+testText(&quot;&lt;div&gt;&lt;ruby&gt;abc&lt;rp&gt;(&lt;/rp&gt;&lt;rt&gt;def&lt;/rt&gt;&lt;rp&gt;)&lt;/rp&gt;&lt;/ruby&gt;&quot;, &quot;abcdef&quot;, &quot;&lt;rp&gt;&quot;);
+testText(&quot;&lt;div&gt;&lt;rp&gt;abc&lt;/rp&gt;&quot;, &quot;&quot;, &quot;Lone &lt;rp&gt;&quot;);
+testText(&quot;&lt;div&gt;&lt;rp style='visibility:hidden'&gt;abc&lt;/rp&gt;&quot;, &quot;&quot;, &quot;visibility:hidden &lt;rp&gt;&quot;);
+testText(&quot;&lt;div&gt;&lt;rp style='display:block'&gt;abc&lt;/rp&gt;def&quot;, &quot;abc\ndef&quot;, &quot;display:block &lt;rp&gt;&quot;);
+testText(&quot;&lt;div&gt;&lt;rp style='display:block'&gt; abc &lt;/rp&gt;def&quot;, &quot;abc\ndef&quot;, &quot;display:block &lt;rp&gt; with whitespace&quot;);
+testText(&quot;&lt;div&gt;&lt;select class='poke-rp'&gt;&lt;/select&gt;&quot;, &quot;&quot;, &quot;&lt;rp&gt; in a &lt;select&gt;&quot;);
+
+/**** Shadow DOM ****/
+
+if (&quot;createShadowRoot&quot; in document.body) {
+  testText(&quot;&lt;div class='shadow'&gt;&quot;, &quot;&quot;, &quot;Shadow DOM contents ignored&quot;);
+  testText(&quot;&lt;div&gt;&lt;div class='shadow'&gt;&quot;, &quot;&quot;, &quot;Shadow DOM contents ignored&quot;);
+}
+
+/**** Flexbox ****/
+
+if (CSS.supports('display', 'flex')) {
+  testText(&quot;&lt;div style='display:flex'&gt;&lt;div style='order:1'&gt;1&lt;/div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&quot;,
+           &quot;1\n2&quot;, &quot;CSS 'order' property ignored&quot;);
+  testText(&quot;&lt;div style='display:flex'&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;/div&gt;&quot;,
+           &quot;1\n2&quot;, &quot;Flex items blockified&quot;);
+}
+
+/**** Grid ****/
+
+if (CSS.supports('display', 'grid')) {
+  testText(&quot;&lt;div style='display:grid'&gt;&lt;div style='order:1'&gt;1&lt;/div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&quot;,
+           &quot;1\n2&quot;, &quot;CSS 'order' property ignored&quot;);
+  testText(&quot;&lt;div style='display:grid'&gt;&lt;span&gt;1&lt;/span&gt;&lt;span&gt;2&lt;/span&gt;&lt;/div&gt;&quot;,
+           &quot;1\n2&quot;, &quot;Grid items blockified&quot;);
+}
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsinnerTextgetterhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/getter.html (0 => 210751)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/getter.html                                (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/getter.html        2017-01-14 00:46:12 UTC (rev 210751)
</span><span class="lines">@@ -0,0 +1,61 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;title&gt;innerText getter test&lt;/title&gt;
+&lt;script src=&quot;/resources/testharness.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/resources/testharnessreport.js&quot;&gt;&lt;/script&gt;
+&lt;style&gt;
+.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; }
+&lt;/style&gt;
+&lt;div id=&quot;container&quot;&gt;&lt;/div&gt;
+&lt;svg id=&quot;svgContainer&quot;&gt;&lt;/svg&gt;
+&lt;script&gt;
+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 &lt; pokes.length; ++i) {
+      pokes[i].textContent = 'abc';
+    }
+    ['rp', 'optgroup', 'div'].forEach(function(tag) {
+      pokes = document.getElementsByClassName('poke-' + tag);
+      for (var i = 0; i &lt; pokes.length; ++i) {
+        var el = document.createElement(tag);
+        el.textContent = &quot;abc&quot;;
+        pokes[i].appendChild(el);
+      }
+    });
+    var shadows = document.getElementsByClassName('shadow');
+    for (var i = 0; i &lt; shadows.length; ++i) {
+      var s = shadows[i].createShadowRoot();
+      s.textContent = 'abc';
+    }
+    while (e &amp;&amp; e.nodeType != Node.ELEMENT_NODE) {
+      e = e.nextSibling;
+    }
+    assert_equals(e.innerText, expectedPlain);
+    cont.textContent = '';
+  }, msg + ' (' + format_value(html) + ')');
+}
+&lt;/script&gt;
+&lt;script src=&quot;getter-tests.js&quot;&gt;&lt;/script&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsinnerTextsetterexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/setter-expected.txt (0 => 210751)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/setter-expected.txt                                (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/setter-expected.txt        2017-01-14 00:46:12 UTC (rev 210751)
</span><span class="lines">@@ -0,0 +1,58 @@
</span><ins>+
+PASS Simplest possible test 
+PASS Newlines convert to &lt;br&gt; in non-white-space:pre elements 
+PASS Newlines convert to &lt;br&gt; in &lt;pre&gt; element 
+PASS Newlines convert to &lt;br&gt; in white-space:pre element 
+PASS CRs convert to &lt;br&gt; in non-white-space:pre elements 
+PASS CRs convert to &lt;br&gt; in &lt;pre&gt; element 
+PASS Newline/CR pair converts to &lt;br&gt; in non-white-space:pre element 
+PASS Newline/newline pair converts to two &lt;br&gt;s in non-white-space:pre element 
+PASS CR/CR pair converts to two &lt;br&gt;s in non-white-space:pre element 
+PASS CRs convert to &lt;br&gt; in white-space:pre element 
+PASS &lt; preserved 
+PASS &gt; preserved 
+PASS &amp; preserved 
+PASS &quot; preserved 
+PASS ' preserved 
+PASS innerText not supported on SVG elements 
+PASS innerText not supported on MathML elements 
+PASS Null characters preserved 
+PASS Tabs preserved 
+PASS Leading whitespace preserved 
+PASS Trailing whitespace preserved 
+PASS Whitespace not compressed 
+PASS Existing text deleted 
+PASS Existing &lt;br&gt; deleted 
+PASS Assigning the empty string 
+PASS Assigning null 
+PASS Assigning undefined 
+FAIL innerText on &lt;area&gt; element The object can not be modified.
+FAIL innerText on &lt;base&gt; element The object can not be modified.
+FAIL innerText on &lt;basefont&gt; element The object can not be modified.
+PASS innerText on &lt;bgsound&gt; element 
+FAIL innerText on &lt;br&gt; element The object can not be modified.
+FAIL innerText on &lt;col&gt; element The object can not be modified.
+FAIL innerText on &lt;embed&gt; element The object can not be modified.
+FAIL innerText on &lt;frame&gt; element The object can not be modified.
+FAIL innerText on &lt;hr&gt; element The object can not be modified.
+FAIL innerText on &lt;image&gt; element The object can not be modified.
+FAIL innerText on &lt;img&gt; element The object can not be modified.
+FAIL innerText on &lt;input&gt; element The object can not be modified.
+PASS innerText on &lt;keygen&gt; element 
+FAIL innerText on &lt;link&gt; element The object can not be modified.
+PASS innerText on &lt;menuitem&gt; element 
+FAIL innerText on &lt;meta&gt; element The object can not be modified.
+FAIL innerText on &lt;param&gt; element The object can not be modified.
+FAIL innerText on &lt;source&gt; element The object can not be modified.
+PASS innerText on &lt;track&gt; element 
+FAIL innerText on &lt;wbr&gt; element The object can not be modified.
+FAIL innerText on &lt;colgroup&gt; element The object can not be modified.
+FAIL innerText on &lt;frameset&gt; element The object can not be modified.
+FAIL innerText on &lt;head&gt; element The object can not be modified.
+FAIL innerText on &lt;html&gt; element The object can not be modified.
+FAIL innerText on &lt;table&gt; element The object can not be modified.
+FAIL innerText on &lt;tbody&gt; element The object can not be modified.
+FAIL innerText on &lt;tfoot&gt; element The object can not be modified.
+FAIL innerText on &lt;thead&gt; element The object can not be modified.
+FAIL innerText on &lt;tr&gt; element The object can not be modified.
+
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsinnerTextsettertestsjs"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/setter-tests.js (0 => 210751)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/setter-tests.js                                (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/setter-tests.js        2017-01-14 00:46:12 UTC (rev 210751)
</span><span class="lines">@@ -0,0 +1,35 @@
</span><ins>+testText(&quot;&lt;div&gt;&quot;, &quot;abc&quot;, &quot;abc&quot;, &quot;Simplest possible test&quot;);
+testHTML(&quot;&lt;div&gt;&quot;, &quot;abc\ndef&quot;, &quot;abc&lt;br&gt;def&quot;, &quot;Newlines convert to &lt;br&gt; in non-white-space:pre elements&quot;);
+testHTML(&quot;&lt;pre&gt;&quot;, &quot;abc\ndef&quot;, &quot;abc&lt;br&gt;def&quot;, &quot;Newlines convert to &lt;br&gt; in &lt;pre&gt; element&quot;);
+testHTML(&quot;&lt;div style='white-space:pre'&gt;&quot;, &quot;abc\ndef&quot;, &quot;abc&lt;br&gt;def&quot;, &quot;Newlines convert to &lt;br&gt; in white-space:pre element&quot;);
+testHTML(&quot;&lt;div&gt;&quot;, &quot;abc\rdef&quot;, &quot;abc&lt;br&gt;def&quot;, &quot;CRs convert to &lt;br&gt; in non-white-space:pre elements&quot;);
+testHTML(&quot;&lt;pre&gt;&quot;, &quot;abc\rdef&quot;, &quot;abc&lt;br&gt;def&quot;, &quot;CRs convert to &lt;br&gt; in &lt;pre&gt; element&quot;);
+testHTML(&quot;&lt;div&gt;&quot;, &quot;abc\r\ndef&quot;, &quot;abc&lt;br&gt;def&quot;, &quot;Newline/CR pair converts to &lt;br&gt; in non-white-space:pre element&quot;);
+testHTML(&quot;&lt;div&gt;&quot;, &quot;abc\n\ndef&quot;, &quot;abc&lt;br&gt;&lt;br&gt;def&quot;, &quot;Newline/newline pair converts to two &lt;br&gt;s in non-white-space:pre element&quot;);
+testHTML(&quot;&lt;div&gt;&quot;, &quot;abc\r\rdef&quot;, &quot;abc&lt;br&gt;&lt;br&gt;def&quot;, &quot;CR/CR pair converts to two &lt;br&gt;s in non-white-space:pre element&quot;);
+testHTML(&quot;&lt;div style='white-space:pre'&gt;&quot;, &quot;abc\rdef&quot;, &quot;abc&lt;br&gt;def&quot;, &quot;CRs convert to &lt;br&gt; in white-space:pre element&quot;);
+testText(&quot;&lt;div&gt;&quot;, &quot;abc&lt;def&quot;, &quot;abc&lt;def&quot;, &quot;&lt; preserved&quot;);
+testText(&quot;&lt;div&gt;&quot;, &quot;abc&gt;def&quot;, &quot;abc&gt;def&quot;, &quot;&gt; preserved&quot;);
+testText(&quot;&lt;div&gt;&quot;, &quot;abc&amp;&quot;, &quot;abc&amp;&quot;, &quot;&amp; preserved&quot;);
+testText(&quot;&lt;div&gt;&quot;, &quot;abc\&quot;def&quot;, &quot;abc\&quot;def&quot;, &quot;\&quot; preserved&quot;);
+testText(&quot;&lt;div&gt;&quot;, &quot;abc\'def&quot;, &quot;abc\'def&quot;, &quot;\' preserved&quot;);
+testHTML(&quot;&lt;svg&gt;&quot;, &quot;abc&quot;, &quot;&quot;, &quot;innerText not supported on SVG elements&quot;);
+testHTML(&quot;&lt;math&gt;&quot;, &quot;abc&quot;, &quot;&quot;, &quot;innerText not supported on MathML elements&quot;);
+testText(&quot;&lt;div&gt;&quot;, &quot;abc\0def&quot;, &quot;abc\0def&quot;, &quot;Null characters preserved&quot;);
+testText(&quot;&lt;div&gt;&quot;, &quot;abc\tdef&quot;, &quot;abc\tdef&quot;, &quot;Tabs preserved&quot;);
+testText(&quot;&lt;div&gt;&quot;, &quot; abc&quot;, &quot; abc&quot;, &quot;Leading whitespace preserved&quot;);
+testText(&quot;&lt;div&gt;&quot;, &quot;abc &quot;, &quot;abc &quot;, &quot;Trailing whitespace preserved&quot;);
+testText(&quot;&lt;div&gt;&quot;, &quot;abc  def&quot;, &quot;abc  def&quot;, &quot;Whitespace not compressed&quot;);
+testHTML(&quot;&lt;div&gt;abc\n\n&quot;, &quot;abc&quot;, &quot;abc&quot;, &quot;Existing text deleted&quot;);
+testHTML(&quot;&lt;div&gt;&lt;br&gt;&quot;, &quot;abc&quot;, &quot;abc&quot;, &quot;Existing &lt;br&gt; deleted&quot;);
+testHTML(&quot;&lt;div&gt;&quot;, &quot;&quot;, &quot;&quot;, &quot;Assigning the empty string&quot;);
+testHTML(&quot;&lt;div&gt;&quot;, null, &quot;&quot;, &quot;Assigning null&quot;);
+testHTML(&quot;&lt;div&gt;&quot;, undefined, &quot;undefined&quot;, &quot;Assigning undefined&quot;);
+
+// Setting innerText on these should not throw
+[&quot;area&quot;, &quot;base&quot;, &quot;basefont&quot;, &quot;bgsound&quot;, &quot;br&quot;, &quot;col&quot;, &quot;embed&quot;, &quot;frame&quot;, &quot;hr&quot;,
+&quot;image&quot;, &quot;img&quot;, &quot;input&quot;, &quot;keygen&quot;, &quot;link&quot;, &quot;menuitem&quot;, &quot;meta&quot;, &quot;param&quot;,
+&quot;source&quot;, &quot;track&quot;, &quot;wbr&quot;, &quot;colgroup&quot;, &quot;frameset&quot;, &quot;head&quot;, &quot;html&quot;, &quot;table&quot;,
+&quot;tbody&quot;, &quot;tfoot&quot;, &quot;thead&quot;, &quot;tr&quot;].forEach(function(tag) {
+  testText(document.createElement(tag), &quot;abc&quot;, &quot;abc&quot;, &quot;innerText on &lt;&quot; + tag + &quot;&gt; element&quot;);
+});
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsinnerTextsetterhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/setter.html (0 => 210751)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/setter.html                                (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/setter.html        2017-01-14 00:46:12 UTC (rev 210751)
</span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+&lt;!DOCTYPE html&gt;
+&lt;title&gt;innerText setter test&lt;/title&gt;
+&lt;script src=&quot;/resources/testharness.js&quot;&gt;&lt;/script&gt;
+&lt;script src=&quot;/resources/testharnessreport.js&quot;&gt;&lt;/script&gt;
+&lt;div id=&quot;container&quot;&gt;&lt;/div&gt;
+&lt;script&gt;
+function setupTest(context, plain) {
+  // context is either a string or an element node
+  if (typeof context === &quot;string&quot;) {
+    container.innerHTML = context;
+  } else {
+    container.innerHTML = &quot;&quot;;
+    container.appendChild(context);
+  }
+  var e = container.firstChild;
+  while (e &amp;&amp; e.nodeType != Node.ELEMENT_NODE) {
+    e = e.nextSibling;
+  }
+  e.innerText = plain;
+  return e;
+}
+function testText(context, plain, expectedText, msg) {
+  test(function(){
+    var e = setupTest(context, plain);
+    assert_not_equals(e.firstChild, null, &quot;Should have a child&quot;);
+    assert_equals(e.firstChild.nodeType, Node.TEXT_NODE, &quot;Child should be a text node&quot;);
+    assert_equals(e.firstChild.nextSibling, null, &quot;Should have only one child&quot;);
+    assert_equals(e.firstChild.data, expectedText);
+  }, msg);
+}
+function testHTML(context, plain, expectedHTML, msg) {
+  test(function(){
+    var e = setupTest(context, plain);
+    assert_equals(e.innerHTML, expectedHTML);
+  }, msg);
+}
+&lt;/script&gt;
+&lt;script src=&quot;setter-tests.js&quot;&gt;&lt;/script&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsinnerTextw3cimportlog"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/w3c-import.log (0 => 210751)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/w3c-import.log                                (rev 0)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/innerText/w3c-import.log        2017-01-14 00:46:12 UTC (rev 210751)
</span><span class="lines">@@ -0,0 +1,21 @@
</span><ins>+The tests in this directory were imported from the W3C repository.
+Do NOT modify these tests directly in WebKit.
+Instead, create a pull request on the W3C CSS or WPT github:
+        https://github.com/w3c/csswg-test
+        https://github.com/w3c/web-platform-tests
+
+Then run the Tools/Scripts/import-w3c-tests in WebKit to reimport
+
+Do NOT modify or remove this file.
+
+------------------------------------------------------------------------
+Properties requiring vendor prefixes:
+None
+Property values requiring vendor prefixes:
+None
+------------------------------------------------------------------------
+List of files:
+/LayoutTests/imported/w3c/web-platform-tests/innerText/getter-tests.js
+/LayoutTests/imported/w3c/web-platform-tests/innerText/getter.html
+/LayoutTests/imported/w3c/web-platform-tests/innerText/setter-tests.js
+/LayoutTests/imported/w3c/web-platform-tests/innerText/setter.html
</ins></span></pre>
</div>
</div>

</body>
</html>