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

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 chongz's nit 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 () {
14 assert_not_equals(window.eventSender,
15 undefined,
16 'This test requires eventSender.');
17 assert_not_equals(window.internals,
18 undefined,
19 'This test requires internals.');
20
21 var editable = document.getElementById("editable");
22
23 var handler = function(event) {
24 assert_equals(event.inputType, "insertReplacementText");
25 assert_equals(event.dataTransfer.getData("text/plain"), "apple");
26 assert_equals(event.getTargetRanges().length, 1);
27 editable.removeEventListener('beforeinput', handler);
28 };
29 editable.addEventListener('beforeinput', handler);
30
31 eventSender.mouseMoveTo(editable.offsetLeft+5, editable.offsetTop+5);
32 eventSender.mouseDown();
33 eventSender.mouseUp();
34 eventSender.mouseDown();
35 eventSender.mouseUp();
36
37 assert_equals(window.getSelection().toString(), "appla");
38 internals.setSpellingMarker(document);
39 assert_equals(internals.hasSpellingMarker(
40 document, 0, 5), true);
41 internals.replaceMisspelled(document, "apple");
42 assert_equals(editable.innerText, "apple");
yosin_UTC9 2016/10/28 04:06:14 Could you utilize assert_selection()?
chaopeng 2016/10/28 14:28:31 Do you mean utilize assert_selection in testharnes
43 assert_equals(window.getSelection().isCollapsed, true);
44 assert_equals(window.getSelection().focusOffset , 5);
45 }, "spellcheck-replace-in-contenteditable");
46
47 test(function () {
48 assert_not_equals(window.eventSender,
49 undefined,
50 'This test requires eventSender.');
51 assert_not_equals(window.internals,
52 undefined,
53 'This test requires internals.');
54
55 var input = document.getElementById("input");
56
57 var handler = function(event) {
58 assert_equals(event.inputType, "insertReplacementText");
59 assert_equals(event.data, "orange");
60 assert_equals(event.getTargetRanges().length, 0);
61 input.removeEventListener('beforeinput', handler);
62 };
63 input.addEventListener('beforeinput', handler);
64
65 eventSender.mouseMoveTo(input.offsetLeft+5, input.offsetTop+5);
66 eventSender.mouseDown();
67 eventSender.mouseUp();
68 eventSender.mouseDown();
69 eventSender.mouseUp();
70
71 assert_equals(window.getSelection().toString(), "oranga");
72 internals.setSpellingMarker(document);
73 internals.replaceMisspelled(document, "orange");
74 assert_equals(input.value, "orange");
75 assert_equals(window.getSelection().isCollapsed, true);
76 }, "spellcheck-replace-in-input");
77
78 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698