Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(9)

Side by Side Diff: third_party/WebKit/LayoutTests/editing/spelling/markers.html

Issue 2211813002: Revert removal of grammar checking and marking code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Minor fix Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 <!DOCTYPE html> 1 <!DOCTYPE html>
2 <html> 2 <html>
3 <head> 3 <head>
4 <style> 4 <style>
5 .editing { 5 .editing {
6 border: 2px solid red; 6 border: 2px solid red;
7 padding: 12px; 7 padding: 12px;
8 font-size: 24px; 8 font-size: 24px;
9 } 9 }
10 </style> 10 </style>
11 <script src="../editing.js" language="JavaScript" type="text/JavaScript" ></scri pt> 11 <script src="../editing.js" language="JavaScript" type="text/JavaScript" ></scri pt>
12 <script src="../../resources/js-test.js"></script> 12 <script src="../../resources/js-test.js"></script>
13 </head> 13 </head>
14 <body> 14 <body>
15 <div id="container"></div> 15 <div id="container"></div>
16 <script> 16 <script>
17 description("Tests spelling markers for misspellings."); 17 description("Tests spelling and grammar markers for misspellings.");
18 18
19 jsTestIsAsync = true; 19 jsTestIsAsync = true;
20 20
21 if (window.internals) 21 if (window.internals)
22 internals.settings.setUnifiedTextCheckerEnabled(true); 22 internals.settings.setUnifiedTextCheckerEnabled(true);
23 23
24 function createEditableElement(parent) { 24 function createEditableElement(parent) {
25 var e = document.createElement('div'); 25 var e = document.createElement('div');
26 e.setAttribute("contentEditable", "true"); 26 e.setAttribute("contentEditable", "true");
27 e.className = 'editing'; 27 e.className = 'editing';
28 28
29 parent.appendChild(e); 29 parent.appendChild(e);
30 return e; 30 return e;
31 } 31 }
32 32
33 function typeText(elem, text) { 33 function typeText(elem, text) {
34 elem.focus(); 34 elem.focus();
35 for (var i = 0; i < text.length; ++i) 35 for (var i = 0; i < text.length; ++i)
36 typeCharacterCommand(text[i]); 36 typeCharacterCommand(text[i]);
37 } 37 }
38 38
39 var container = document.getElementById('container'); 39 var container = document.getElementById('container');
40 40
41 var elementWithGrammarIssue = createEditableElement(container);
42 typeText(elementWithGrammarIssue, 'I have a issue.');
43
41 var elementWithSpellingIssue = createEditableElement(container); 44 var elementWithSpellingIssue = createEditableElement(container);
42 typeText(elementWithSpellingIssue, 'zz.'); 45 typeText(elementWithSpellingIssue, 'zz.');
43 46
44 var elementAlsoWithSpellingIssue = createEditableElement(container); 47 var elementWithGrammarAndSpellingIssue = createEditableElement(container);
45 typeText(elementAlsoWithSpellingIssue, 'orange,zz,apple.'); 48 typeText(elementWithGrammarAndSpellingIssue, 'orange,zz,apple.');
46 49
47 var element; 50 var element;
48 var next; 51 var next;
49 52
50 function verifyMarkers(e, misspellings) { 53 function verifyMarkers(e, misspellings) {
51 if (!window.internals) 54 if (!window.internals)
52 return done(); 55 return done();
53 56
54 var n = misspellings.shift(); 57 var n = misspellings.shift();
55 element = e; 58 element = e;
56 next = n; 59 next = n;
57 if (next) { 60 if (next) {
58 shouldBecomeEqual('internals.markerCountForNode(element.firstChild, next .marker)', '1', function() { 61 shouldBecomeEqual('internals.markerCountForNode(element.firstChild, next .marker)', '1', function() {
59 range = internals.markerRangeForNode(element.firstChild, next.marker , 0); 62 range = internals.markerRangeForNode(element.firstChild, next.marker , 0);
60 shouldBe('range.toString()', 'next.issue'); 63 shouldBe('range.toString()', 'next.issue');
61 verifyMarkers(element, misspellings); 64 verifyMarkers(element, misspellings);
62 }); 65 });
63 } else 66 } else
64 done(); 67 done();
65 } 68 }
66 69
67 var misspellings = [ 70 var misspellings = [
71 { marker:'grammar', issue:'a' },
68 { marker:'spelling', issue:'zz' }, 72 { marker:'spelling', issue:'zz' },
73 { marker:'grammar', issue:'orange,zz,apple.' }
69 ]; 74 ];
70 75
71 var tests = [ 76 var tests = [
72 function() { verifyMarkers(elementWithSpellingIssue, misspellings.slice(0, 1 )) }, 77 function() { verifyMarkers(elementWithGrammarIssue, misspellings.slice(0, 1) ) },
73 function() { verifyMarkers(elementAlsoWithSpellingIssue, misspellings.slice( 0, 1)) }, 78 function() { verifyMarkers(elementWithSpellingIssue, misspellings.slice(1, 2 )) },
79 function() { verifyMarkers(elementWithGrammarAndSpellingIssue, misspellings. slice(1, 3)) },
74 ]; 80 ];
75 81
76 function done() 82 function done()
77 { 83 {
78 var next = tests.shift(); 84 var next = tests.shift();
79 if (next) 85 if (next)
80 return window.setTimeout(next, 0); 86 return window.setTimeout(next, 0);
81 87
82 finishJSTest(); 88 finishJSTest();
83 } 89 }
84 done(); 90 done();
85 </script> 91 </script>
86 </body> 92 </body>
87 </html> 93 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698