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

Side by Side Diff: third_party/WebKit/LayoutTests/fast/events/inputevents/inputevent-spellcheck.html

Issue 2457523003: Support 'insertReplacementText' for spellcheck (Closed)
Patch Set: fix for nit from Yosi_UTC9, Xiaocheng Created 4 years, 1 month 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
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/clipboard/DataObject.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 <!DOCTYPE html>
2
3 <div id="editable" contenteditable="true">appla</div>
4 <input id="input" type="text" value="oranga"/>
5
6 <script src="../../../resources/testharness.js"></script>
7 <script src="../../../resources/testharnessreport.js"></script>
8
9 <script>
10 function assert_selection(expected) {
yosin_UTC9 2016/11/02 09:14:34 Please use editing/assert_selection.js
11 assert_equals(window.getSelection().toString(), expected);
12 }
13
14 if (window.internals)
15 internals.setSpellCheckingEnabled(true);
yosin_UTC9 2016/11/02 09:14:34 Move this inside after checking |windows.internals
16
17 test(function () {
18 assert_not_equals(window.eventSender,
19 undefined,
20 'This test requires eventSender.');
21 assert_not_equals(window.internals,
22 undefined,
23 'This test requires internals.');
24
25 var editable = document.getElementById("editable");
26
27 var handler = function(event) {
28 assert_equals(event.inputType, "insertReplacementText");
29 assert_equals(event.dataTransfer.getData("text/plain"), "apple");
30 assert_equals(event.getTargetRanges().length, 1);
31 editable.removeEventListener('beforeinput', handler);
32 };
33 editable.addEventListener('beforeinput', handler);
34
35 eventSender.mouseMoveTo(editable.offsetLeft+5, editable.offsetTop+5);
36 eventSender.mouseDown();
37 eventSender.mouseUp();
38 eventSender.mouseDown();
39 eventSender.mouseUp();
40
41 assert_selection("appla");
42 internals.setSpellingMarker(document);
43 assert_equals(internals.hasSpellingMarker(
44 document, 0, 5), true);
45 internals.replaceMisspelled(document, "apple");
46 assert_equals(editable.innerText, "apple");
47 assert_equals(window.getSelection().isCollapsed, true);
48 assert_equals(window.getSelection().focusOffset , 5);
49 }, "spellcheck-replace-in-contenteditable");
50
51 test(function () {
52 assert_not_equals(window.eventSender,
53 undefined,
54 'This test requires eventSender.');
55 assert_not_equals(window.internals,
56 undefined,
57 'This test requires internals.');
58
59 var input = document.getElementById("input");
60
61 var handler = function(event) {
62 assert_equals(event.inputType, "insertReplacementText");
63 assert_equals(event.data, "orange");
64 assert_equals(event.getTargetRanges().length, 0);
65 input.removeEventListener('beforeinput', handler);
66 };
67 input.addEventListener('beforeinput', handler);
68
69 eventSender.mouseMoveTo(input.offsetLeft+5, input.offsetTop+5);
70 eventSender.mouseDown();
71 eventSender.mouseUp();
72 eventSender.mouseDown();
73 eventSender.mouseUp();
74
75 assert_selection("oranga");
76 internals.setSpellingMarker(document);
77 internals.replaceMisspelled(document, "orange");
78 assert_equals(input.value, "orange");
79 assert_equals(window.getSelection().isCollapsed, true);
80 }, "spellcheck-replace-in-input");
81
82 </script>
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/Source/core/clipboard/DataObject.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698