<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=PL link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal><span lang=EN-US>Hi all,<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>Some time ago there was a conversation
about importing W3C tests into LayoutTests for WebKit (<a
href="https://lists.webkit.org/pipermail/webkit-dev/2013-November/025876.html">https://lists.webkit.org/pipermail/webkit-dev/2013-November/025876.html</a>).
This conversation was paused in November with conclusion, that it may be
a good idea.<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>A brief research showed, that number of
editing tests available in <a href="https://github.com/w3c/web-platform-tests">https://github.com/w3c/web-platform-tests</a>
is very small. However, there are a lot of editing tests placed directly in W3C
"HTML Editing APIs" specification (<a
href="https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#conformance-tests">https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#conformance-tests</a>).
It may be a good idea to import those tests instead.<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>There are 90412 tests covering all aspects
of W3C specification. Those tests can be divided into test cases containing
several tests with structure similar to this:<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>PASS
[["stylewithcss","true"]] "foo[bar]baz":
execCommand("stylewithcss", false, "true") return value <o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>PASS
[["stylewithcss","true"]] "foo[bar]baz" checks
for modifications to non-editable content <o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>PASS
[["stylewithcss","true"]] "foo[bar]baz" compare
innerHTML <o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>PASS
[["stylewithcss","true"]] "foo[bar]baz" queryCommandIndeterm("stylewithcss")
before <o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>PASS
[["stylewithcss","true"]] "foo[bar]baz"
queryCommandState("stylewithcss") before <o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>FAIL
[["stylewithcss","true"]] "foo[bar]baz"
queryCommandValue("stylewithcss") before assert_equals: Wrong result
returned expected "" but got "false"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>PASS
[["stylewithcss","true"]] "foo[bar]baz"
queryCommandIndeterm("stylewithcss") after <o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>PASS
[["stylewithcss","true"]] "foo[bar]baz"
queryCommandState("stylewithcss") after <o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>FAIL
[["stylewithcss","true"]] "foo[bar]baz"
queryCommandValue("stylewithcss") after assert_equals: Wrong result
returned expected "" but got "true"<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>As a result, we would have 5536 new test
files divided into 36 categories:<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- backcolor: 70<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- bold: 210<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- createlink: 48<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- defaultparagraphseparator: 11<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- delete: 494<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- fontname: 141<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- fontsize: 156<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- forecolor: 147<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- formatblock: 362<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- forwarddelete: 471<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- hilitecolor: 82<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- indent: 143<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- inserthorizontalrule: 117<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- inserthtml: 104<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- insertimage: 70<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- insertlinebreak: 166<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- insertorderedlist: 135<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- insertparagraph: 320<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- inserttext: 238<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- insertunorderedlist: 148<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- italic: 143<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- justifycenter: 294<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- justifyfull: 233<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- justifyleft: 149<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- justifyright: 233<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- outdent: 175<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- quasit: 1<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- removeformat: 143<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- selectall: 1<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- strikethrough: 145<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- stylewithcss: 17<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- subscript: 85<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- superscript: 87<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- underline: 145<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- unlink: 35<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US>- usecss: 17<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>Furthermore, newly created tests has been
run and results showed, that 1120/5536 tests run as expected (all sub-tests
returned PASS) and 4416/5536 did not. There are 4 WebProcess crushes; 12 tests
have some stderr output. Rest of failures are because of one or more sub-tests
failing. Running all 5536 tests takes 32 min 51.978 sec.<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US>What do you think about it? Is it worth
paying some time for importing those tests and then aligning WebKit with W3C
specification?<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>
<p class=MsoNormal>Best regards,<o:p></o:p></p>
<p class=MsoNormal>Lukasz Bialek<o:p></o:p></p>
</div>
</body>
</html>