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

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

Issue 2457523003: Support 'insertReplacementText' for spellcheck (Closed)
Patch Set: 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
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 if (window.internals)
11 internals.setSpellCheckingEnabled(true);
12
13 test(function () {
chongz 2016/10/27 16:41:24 Can you add ``` assert_not_equals(window.eventSend
14 var editable = document.getElementById("editable");
15
16 var handler = function(event) {
17 lastEvent = event;
chongz 2016/10/27 16:41:24 I'm not sure but why would we need |lastEvent|?
18 assert_equals(lastEvent.inputType, "insertReplacementText");
19 assert_equals(lastEvent.dataTransfer.getData("text/plain"), "apple");
20 assert_equals(lastEvent.getTargetRanges().length, 1);
21 editable.removeEventListener('beforeinput', handler);
22 };
23 editable.addEventListener('beforeinput', handler);
24
25 eventSender.mouseMoveTo(editable.offsetLeft+5, editable.offsetTop+5);
26 eventSender.mouseDown();
27 eventSender.mouseUp();
28 eventSender.mouseDown();
29 eventSender.mouseUp();
30
31 assert_equals(window.getSelection().toString(), "appla");
32 internals.setSpellingMarker(document);
33 assert_equals(internals.hasSpellingMarker(
34 document, 0, 5), true);
35 internals.replaceMisspelled(document, "apple");
36 assert_equals(editable.innerText, "apple");
37 assert_equals(window.getSelection().isCollapsed, true);
38 assert_equals(window.getSelection().focusOffset , 5);
39 }, "spellcheck-replace-in-contenteditable");
40
41 test(function () {
42 var input = document.getElementById("input");
43
44 var handler = function(event) {
45 lastEvent = event;
46 assert_equals(lastEvent.inputType, "insertReplacementText");
47 assert_equals(lastEvent.data, "orange");
48 assert_equals(lastEvent.getTargetRanges().length, 0);
49 input.removeEventListener('beforeinput', handler);
50 };
51 input.addEventListener('beforeinput', handler);
52
53 eventSender.mouseMoveTo(input.offsetLeft+5, input.offsetTop+5);
54 eventSender.mouseDown();
55 eventSender.mouseUp();
56 eventSender.mouseDown();
57 eventSender.mouseUp();
58
59 assert_equals(window.getSelection().toString(), "oranga");
60 internals.setSpellingMarker(document);
61 internals.replaceMisspelled(document, "orange");
62 assert_equals(input.value, "orange");
63 assert_equals(window.getSelection().isCollapsed, true);
64 }, "spellcheck-replace-in-input");
65
66 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698