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

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

Issue 2186923002: Remove grammar checking from layout tests, and MockGrammarCheck (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@RemoveGrammarTests
Patch Set: Rebased 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 and grammar markers for misspellings."); 17 description("Tests spelling 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
44 var elementWithSpellingIssue = createEditableElement(container); 41 var elementWithSpellingIssue = createEditableElement(container);
45 typeText(elementWithSpellingIssue, 'zz.'); 42 typeText(elementWithSpellingIssue, 'zz.');
46 43
47 var elementWithGrammarAndSpellingIssue = createEditableElement(container); 44 var elementAlsoWithSpellingIssue = createEditableElement(container);
48 typeText(elementWithGrammarAndSpellingIssue, 'orange,zz,apple.'); 45 typeText(elementAlsoWithSpellingIssue, 'orange,zz,apple.');
49 46
50 var element; 47 var element;
51 var next; 48 var next;
52 49
53 function verifyMarkers(e, misspellings) { 50 function verifyMarkers(e, misspellings) {
54 if (!window.internals) 51 if (!window.internals)
55 return done(); 52 return done();
56 53
57 var n = misspellings.shift(); 54 var n = misspellings.shift();
58 element = e; 55 element = e;
59 next = n; 56 next = n;
60 if (next) { 57 if (next) {
61 shouldBecomeEqual('internals.markerCountForNode(element.firstChild, next .marker)', '1', function() { 58 shouldBecomeEqual('internals.markerCountForNode(element.firstChild, next .marker)', '1', function() {
62 range = internals.markerRangeForNode(element.firstChild, next.marker , 0); 59 range = internals.markerRangeForNode(element.firstChild, next.marker , 0);
63 shouldBe('range.toString()', 'next.issue'); 60 shouldBe('range.toString()', 'next.issue');
64 verifyMarkers(element, misspellings); 61 verifyMarkers(element, misspellings);
65 }); 62 });
66 } else 63 } else
67 done(); 64 done();
68 } 65 }
69 66
70 var misspellings = [ 67 var misspellings = [
71 { marker:'grammar', issue:'a' },
72 { marker:'spelling', issue:'zz' }, 68 { marker:'spelling', issue:'zz' },
73 { marker:'grammar', issue:'orange,zz,apple.' }
74 ]; 69 ];
75 70
76 var tests = [ 71 var tests = [
77 function() { verifyMarkers(elementWithGrammarIssue, misspellings.slice(0, 1) ) }, 72 function() { verifyMarkers(elementWithSpellingIssue, misspellings.slice(0, 1 )) },
78 function() { verifyMarkers(elementWithSpellingIssue, misspellings.slice(1, 2 )) }, 73 function() { verifyMarkers(elementAlsoWithSpellingIssue, misspellings.slice( 0, 1)) },
79 function() { verifyMarkers(elementWithGrammarAndSpellingIssue, misspellings. slice(1, 3)) },
80 ]; 74 ];
81 75
82 function done() 76 function done()
83 { 77 {
84 var next = tests.shift(); 78 var next = tests.shift();
85 if (next) 79 if (next)
86 return window.setTimeout(next, 0); 80 return window.setTimeout(next, 0);
87 81
88 finishJSTest(); 82 finishJSTest();
89 } 83 }
90 done(); 84 done();
91 </script> 85 </script>
92 </body> 86 </body>
93 </html> 87 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698