<!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>[169629] trunk/LayoutTests</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/169629">169629</a></dd>
<dt>Author</dt> <dd>g.czajkowski@samsung.com</dd>
<dt>Date</dt> <dd>2014-06-05 16:19:54 -0700 (Thu, 05 Jun 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Share platform/mac/editing/spelling/move-cursor-around-misspelled-word.html with other platforms
https://bugs.webkit.org/show_bug.cgi?id=133208

Reviewed by Darin Adler.

Move the test to common editing/spelling since it just verifies spelling
markers and other platforms might be interested in running it as well.

Due to bug 125688, the test starts using asynchronous spellchecking.
Add additional test case which checks spelling marker after typing
the text, before any caret change.

* editing/spelling/move-cursor-around-misspelled-word-expected.txt:
Renamed from platform/mac/editing/spelling/move-cursor-around-misspelled-word-expected.txt
* editing/spelling/move-cursor-around-misspelled-word.html:
Renamed from platform/mac/editing/spelling/move-cursor-around-misspelled-word.html

* platform/gtk/TestExpectations:
* platform/mac-wk2/TestExpectations:
* platform/win/TestExpectations:
Add failing expectation for platforms which didn't switch to
asynchronous spellchecking.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsChangeLog">trunk/LayoutTests/ChangeLog</a></li>
<li><a href="#trunkLayoutTestsplatformgtkTestExpectations">trunk/LayoutTests/platform/gtk/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformmacwk2TestExpectations">trunk/LayoutTests/platform/mac-wk2/TestExpectations</a></li>
<li><a href="#trunkLayoutTestsplatformwinTestExpectations">trunk/LayoutTests/platform/win/TestExpectations</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkLayoutTestseditingspellingmovecursoraroundmisspelledwordexpectedtxt">trunk/LayoutTests/editing/spelling/move-cursor-around-misspelled-word-expected.txt</a></li>
<li><a href="#trunkLayoutTestseditingspellingmovecursoraroundmisspelledwordhtml">trunk/LayoutTests/editing/spelling/move-cursor-around-misspelled-word.html</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsplatformmaceditingspellingmovecursoraroundmisspelledwordexpectedtxt">trunk/LayoutTests/platform/mac/editing/spelling/move-cursor-around-misspelled-word-expected.txt</a></li>
<li><a href="#trunkLayoutTestsplatformmaceditingspellingmovecursoraroundmisspelledwordhtml">trunk/LayoutTests/platform/mac/editing/spelling/move-cursor-around-misspelled-word.html</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/ChangeLog (169628 => 169629)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/ChangeLog        2014-06-05 22:54:49 UTC (rev 169628)
+++ trunk/LayoutTests/ChangeLog        2014-06-05 23:19:54 UTC (rev 169629)
</span><span class="lines">@@ -1,3 +1,28 @@
</span><ins>+2014-06-05  Grzegorz Czajkowski  &lt;g.czajkowski@samsung.com&gt;
+
+        Share platform/mac/editing/spelling/move-cursor-around-misspelled-word.html with other platforms
+        https://bugs.webkit.org/show_bug.cgi?id=133208
+
+        Reviewed by Darin Adler.
+
+        Move the test to common editing/spelling since it just verifies spelling
+        markers and other platforms might be interested in running it as well.
+
+        Due to bug 125688, the test starts using asynchronous spellchecking.
+        Add additional test case which checks spelling marker after typing
+        the text, before any caret change.
+
+        * editing/spelling/move-cursor-around-misspelled-word-expected.txt:
+        Renamed from platform/mac/editing/spelling/move-cursor-around-misspelled-word-expected.txt
+        * editing/spelling/move-cursor-around-misspelled-word.html:
+        Renamed from platform/mac/editing/spelling/move-cursor-around-misspelled-word.html
+
+        * platform/gtk/TestExpectations:
+        * platform/mac-wk2/TestExpectations:
+        * platform/win/TestExpectations:
+        Add failing expectation for platforms which didn't switch to
+        asynchronous spellchecking.
+
</ins><span class="cx"> 2014-06-05  Alexey Proskuryakov  &lt;ap@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         media/video-rtl.html is flaky
</span></span></pre></div>
<a id="trunkLayoutTestseditingspellingmovecursoraroundmisspelledwordexpectedtxt"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/editing/spelling/move-cursor-around-misspelled-word-expected.txt (0 => 169629)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/editing/spelling/move-cursor-around-misspelled-word-expected.txt                                (rev 0)
+++ trunk/LayoutTests/editing/spelling/move-cursor-around-misspelled-word-expected.txt        2014-06-05 23:19:54 UTC (rev 169629)
</span><span class="lines">@@ -0,0 +1,16 @@
</span><ins>+The test verifies if the misspelled underline remains when the caret is moved to the beginning, end and in middle of a word that is marked as misspelled. The test succeeds if the word 'meagesga' has red underline.
+
+On success, you will see a series of &quot;PASS&quot; messages, followed by &quot;TEST COMPLETE&quot;.
+
+
+PASS internals.hasSpellingMarker(7,8) became true
+execMoveSelectionBackwardByCharacterCommand()
+PASS internals.hasSpellingMarker(7,8) became true
+execMoveSelectionBackwardByWordCommand()
+PASS internals.hasSpellingMarker(7,8) became true
+execMoveSelectionForwardByCharacterCommand()
+PASS internals.hasSpellingMarker(7,8) became true
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
</ins></span></pre></div>
<a id="trunkLayoutTestseditingspellingmovecursoraroundmisspelledwordhtml"></a>
<div class="addfile"><h4>Added: trunk/LayoutTests/editing/spelling/move-cursor-around-misspelled-word.html (0 => 169629)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/editing/spelling/move-cursor-around-misspelled-word.html                                (rev 0)
+++ trunk/LayoutTests/editing/spelling/move-cursor-around-misspelled-word.html        2014-06-05 23:19:54 UTC (rev 169629)
</span><span class="lines">@@ -0,0 +1,67 @@
</span><ins>+&lt;html&gt;
+&lt;head&gt;
+&lt;script src=&quot;../editing.js&quot;&gt;&lt;/script&gt;
+&lt;/head&gt;
+&lt;body&gt;
+&lt;textarea id=&quot;test&quot;&gt;&lt;/textarea&gt;
+&lt;script src=&quot;../../resources/js-test-pre.js&quot;&gt;&lt;/script&gt;
+&lt;script&gt;
+description(&quot;The test verifies if the misspelled underline remains &quot;
+    + &quot;when the caret is moved to the beginning, end and in middle of a word &quot;
+    + &quot;that is marked as misspelled. The test succeeds if the word 'meagesga' &quot;
+    + &quot;has red underline.&quot;);
+
+jsTestIsAsync = true;
+
+if (window.internals) {
+    internals.settings.setUnifiedTextCheckerEnabled(true);
+    internals.settings.setAsynchronousSpellCheckingEnabled(true);
+}
+
+document.getElementById('test').focus();
+typeCharacterCommand('i');
+typeCharacterCommand('t');
+typeCharacterCommand('\'');
+typeCharacterCommand('s');
+typeCharacterCommand(' ');
+typeCharacterCommand('a');
+typeCharacterCommand(' ');
+typeCharacterCommand('m');
+typeCharacterCommand('e');
+typeCharacterCommand('a');
+typeCharacterCommand('g');
+typeCharacterCommand('e');
+typeCharacterCommand('s');
+typeCharacterCommand('g');
+typeCharacterCommand('a');
+typeCharacterCommand(' ');
+
+function checkSpellingMarkerAfterCaretChange(updateCaretPosition)
+{
+    updateCaretPosition();
+    if (window.internals)
+        shouldBecomeEqual(&quot;internals.hasSpellingMarker(7,8)&quot;, &quot;true&quot;, done);
+    else
+        done();
+}
+
+var updateCaretTestCases = [
+    function() { }, // doesn't change caret at all, just checks spelling after typing  meagesga ^
+    function() { evalAndLog(&quot;execMoveSelectionBackwardByCharacterCommand()&quot;); },    // meagesga^
+    function() { evalAndLog(&quot;execMoveSelectionBackwardByWordCommand()&quot;); },         // ^meagesga
+    function() { evalAndLog(&quot;execMoveSelectionForwardByCharacterCommand()&quot;); }      // m^eagesga
+];
+
+function done()
+{
+    var updateCaretPosition = updateCaretTestCases.shift();
+    if (updateCaretPosition)
+        return setTimeout(checkSpellingMarkerAfterCaretChange(updateCaretPosition), 0);
+
+    finishJSTest();
+}
+done();
+&lt;/script&gt;
+&lt;script src=&quot;../../resources/js-test-post.js&quot;&gt;&lt;/script&gt;
+&lt;/body&gt;
+&lt;/html&gt;
</ins></span></pre></div>
<a id="trunkLayoutTestsplatformgtkTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/gtk/TestExpectations (169628 => 169629)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/gtk/TestExpectations        2014-06-05 22:54:49 UTC (rev 169628)
+++ trunk/LayoutTests/platform/gtk/TestExpectations        2014-06-05 23:19:54 UTC (rev 169629)
</span><span class="lines">@@ -1133,6 +1133,7 @@
</span><span class="cx"> # Missing TextChecker::requestCheckingOfString() implementation for Gtk.
</span><span class="cx"> webkit.org/b/73003 editing/spelling/delete-into-misspelled-word.html [ Skip ]
</span><span class="cx"> webkit.org/b/73003 editing/spelling/editing-multiple-words-with-markers.html [ Skip ]
</span><ins>+webkit.org/b/73003 editing/spelling/move-cursor-around-misspelled-word.html [ Skip ]
</ins><span class="cx"> webkit.org/b/73003 editing/spelling/spellcheck-async-mutation.html [ Skip ]
</span><span class="cx"> webkit.org/b/73003 editing/spelling/spellcheck-async-remove-frame.html [ Skip ]
</span><span class="cx"> webkit.org/b/73003 editing/spelling/spellcheck-async.html [ Skip ]
</span></span></pre></div>
<a id="trunkLayoutTestsplatformmaceditingspellingmovecursoraroundmisspelledwordexpectedtxt"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/platform/mac/editing/spelling/move-cursor-around-misspelled-word-expected.txt (169628 => 169629)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/editing/spelling/move-cursor-around-misspelled-word-expected.txt        2014-06-05 22:54:49 UTC (rev 169628)
+++ trunk/LayoutTests/platform/mac/editing/spelling/move-cursor-around-misspelled-word-expected.txt        2014-06-05 23:19:54 UTC (rev 169629)
</span><span class="lines">@@ -1,7 +0,0 @@
</span><del>-The test verified that if the caret is move to the beginning, end, and middle of a word that is marked as misspelled, the misspell underline will remain. You should see phrase &quot;it's a meagesga&quot;, in which the word 'meagesga' has red underline.
-
-
-SUCCESS
-SUCCESS
-SUCCESS
-
</del></span></pre></div>
<a id="trunkLayoutTestsplatformmaceditingspellingmovecursoraroundmisspelledwordhtml"></a>
<div class="delfile"><h4>Deleted: trunk/LayoutTests/platform/mac/editing/spelling/move-cursor-around-misspelled-word.html (169628 => 169629)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac/editing/spelling/move-cursor-around-misspelled-word.html        2014-06-05 22:54:49 UTC (rev 169628)
+++ trunk/LayoutTests/platform/mac/editing/spelling/move-cursor-around-misspelled-word.html        2014-06-05 23:19:54 UTC (rev 169629)
</span><span class="lines">@@ -1,67 +0,0 @@
</span><del>-&lt;html&gt;
-&lt;head&gt;
-&lt;script src=../../../../editing/editing.js language=&quot;javascript&quot; type=&quot;text/javascript&quot;&gt;&lt;/script&gt;
-&lt;title&gt;Editing Test&lt;/title&gt; 
-&lt;/head&gt; 
-&lt;body&gt;
-&lt;p&gt;The test verified that if the caret is move to the beginning, end, and middle of a word that is 
-marked as misspelled, the misspell underline will remain. You should see phrase &quot;it's a meagesga&quot;, 
-in which the word 'meagesga' has red underline.&lt;/p&gt;
-&lt;textarea id=&quot;test&quot; cols=&quot;80&quot; rows=&quot;10&quot;&gt;&lt;/textarea&gt;
-&lt;div id=&quot;console&quot;&gt;&lt;/div&gt;
-&lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&gt;
-if (window.testRunner) {
-    testRunner.dumpAsText();
-}
-
-document.getElementById('test').focus();
-typeCharacterCommand('i');
-typeCharacterCommand('t');
-typeCharacterCommand('\'');
-typeCharacterCommand('s');
-typeCharacterCommand(' ');
-typeCharacterCommand('a');
-typeCharacterCommand(' ');
-typeCharacterCommand('m');
-typeCharacterCommand('e');
-typeCharacterCommand('a');
-typeCharacterCommand('g');
-typeCharacterCommand('e');
-typeCharacterCommand('s');
-typeCharacterCommand('g');
-typeCharacterCommand('a');
-typeCharacterCommand(' ');
-execMoveSelectionBackwardByCharacterCommand();
-    
-if (window.internals &amp;&amp; window.internals.hasSpellingMarker) {
-    if (window.internals.hasSpellingMarker(7,8) == 1) {
-        document.getElementById('console').innerHTML = 'SUCCESS&lt;br&gt;';
-    } else {
-        document.getElementById('console').innerHTML = &quot;FAILURE. The word 'meagesga' does not have misspell underline.&lt;br&gt;&quot;;
-    }
-}
-
-textarea = document.getElementById('test');
-textarea.setSelectionRange(10, 10);
-textarea.focus();
-if (window.internals &amp;&amp; window.internals.hasSpellingMarker) {
-    if (window.internals.hasSpellingMarker(7,8) == 1) {
-        document.getElementById('console').innerHTML = document.getElementById('console').innerHTML + 'SUCCESS&lt;br&gt;';
-    } else {
-        document.getElementById('console').innerHTML = document.getElementById('console').innerHTML + &quot;FAILURE. The word 'meagesga' does not have misspell underline.&lt;br&gt;&quot;;
-    }
-}
-
-textarea.setSelectionRange(6, 6);
-textarea.focus();
-execMoveSelectionForwardByCharacterCommand();
-if (window.internals &amp;&amp; window.internals.hasSpellingMarker) {
-    if (window.internals.hasSpellingMarker(7,8) == 1) {
-        document.getElementById('console').innerHTML = document.getElementById('console').innerHTML + 'SUCCESS&lt;br&gt;';
-    } else {
-        document.getElementById('console').innerHTML = document.getElementById('console').innerHTML + &quot;FAILURE. The word 'meagesga' does not have misspell underline.&lt;br&gt;&quot;;
-    }
-}
-&lt;/script&gt;
-&lt;/body&gt;
-&lt;/html&gt;
</del></span></pre></div>
<a id="trunkLayoutTestsplatformmacwk2TestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (169628 => 169629)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/mac-wk2/TestExpectations        2014-06-05 22:54:49 UTC (rev 169628)
+++ trunk/LayoutTests/platform/mac-wk2/TestExpectations        2014-06-05 23:19:54 UTC (rev 169629)
</span><span class="lines">@@ -121,6 +121,7 @@
</span><span class="cx"> webkit.org/b/105616 editing/spelling/context-menu-suggestions-subword-selection.html
</span><span class="cx"> webkit.org/b/105616 editing/spelling/delete-into-misspelled-word.html
</span><span class="cx"> webkit.org/b/105616 editing/spelling/editing-multiple-words-with-markers.html
</span><ins>+webkit.org/b/105616 editing/spelling/move-cursor-around-misspelled-word.html
</ins><span class="cx"> webkit.org/b/105616 editing/inserting/inserting-slash-inside-url-with-smart-link.html
</span><span class="cx"> webkit.org/b/105616 editing/spelling/spelling-changed-text.html
</span><span class="cx"> webkit.org/b/105616 editing/spelling/spelling-backspace-between-lines.html
</span></span></pre></div>
<a id="trunkLayoutTestsplatformwinTestExpectations"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/platform/win/TestExpectations (169628 => 169629)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/platform/win/TestExpectations        2014-06-05 22:54:49 UTC (rev 169628)
+++ trunk/LayoutTests/platform/win/TestExpectations        2014-06-05 23:19:54 UTC (rev 169629)
</span><span class="lines">@@ -1937,6 +1937,7 @@
</span><span class="cx"> webkit.org/b/108370 editing/spelling/design-mode-spellcheck-off.html [ Failure ]
</span><span class="cx"> webkit.org/b/108370 editing/spelling/context-menu-suggestions-multiword-selection.html [ Failure ]
</span><span class="cx"> webkit.org/b/108370 editing/spelling/context-menu-suggestions-subword-selection.html [ Failure ]
</span><ins>+webkit.org/b/108370 editing/spelling/move-cursor-around-misspelled-word.html [ Failure ]
</ins><span class="cx"> webkit.org/b/108370 editing/spelling/spelling-backward.html [ Failure ]
</span><span class="cx"> webkit.org/b/108370 editing/spelling/spelling-double-clicked-word.html [ Failure ]
</span><span class="cx"> webkit.org/b/108370 editing/spelling/spelling-exactly-selected-word.html [ Failure ]
</span></span></pre>
</div>
</div>

</body>
</html>