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

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

Issue 2457523003: Support 'insertReplacementText' for spellcheck (Closed)
Patch Set: Created 4 years, 2 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/LayoutTests/fast/events/inputevents/inputevent-spellcheck.html
diff --git a/third_party/WebKit/LayoutTests/fast/events/inputevents/inputevent-spellcheck.html b/third_party/WebKit/LayoutTests/fast/events/inputevents/inputevent-spellcheck.html
new file mode 100644
index 0000000000000000000000000000000000000000..62c39c7500a198a3316b2df746a71e6c776496e4
--- /dev/null
+++ b/third_party/WebKit/LayoutTests/fast/events/inputevents/inputevent-spellcheck.html
@@ -0,0 +1,66 @@
+<!DOCTYPE html>
+
+<div id="editable" contenteditable="true">appla</div>
+<input id="input" type="text" value="oranga"/>
+
+<script src="../../../resources/testharness.js"></script>
+<script src="../../../resources/testharnessreport.js"></script>
+
+<script>
+if (window.internals)
+ internals.setSpellCheckingEnabled(true);
+
+test(function () {
chongz 2016/10/27 16:41:24 Can you add ``` assert_not_equals(window.eventSend
+ var editable = document.getElementById("editable");
+
+ var handler = function(event) {
+ lastEvent = event;
chongz 2016/10/27 16:41:24 I'm not sure but why would we need |lastEvent|?
+ assert_equals(lastEvent.inputType, "insertReplacementText");
+ assert_equals(lastEvent.dataTransfer.getData("text/plain"), "apple");
+ assert_equals(lastEvent.getTargetRanges().length, 1);
+ editable.removeEventListener('beforeinput', handler);
+ };
+ editable.addEventListener('beforeinput', handler);
+
+ eventSender.mouseMoveTo(editable.offsetLeft+5, editable.offsetTop+5);
+ eventSender.mouseDown();
+ eventSender.mouseUp();
+ eventSender.mouseDown();
+ eventSender.mouseUp();
+
+ assert_equals(window.getSelection().toString(), "appla");
+ internals.setSpellingMarker(document);
+ assert_equals(internals.hasSpellingMarker(
+ document, 0, 5), true);
+ internals.replaceMisspelled(document, "apple");
+ assert_equals(editable.innerText, "apple");
+ assert_equals(window.getSelection().isCollapsed, true);
+ assert_equals(window.getSelection().focusOffset , 5);
+}, "spellcheck-replace-in-contenteditable");
+
+test(function () {
+ var input = document.getElementById("input");
+
+ var handler = function(event) {
+ lastEvent = event;
+ assert_equals(lastEvent.inputType, "insertReplacementText");
+ assert_equals(lastEvent.data, "orange");
+ assert_equals(lastEvent.getTargetRanges().length, 0);
+ input.removeEventListener('beforeinput', handler);
+ };
+ input.addEventListener('beforeinput', handler);
+
+ eventSender.mouseMoveTo(input.offsetLeft+5, input.offsetTop+5);
+ eventSender.mouseDown();
+ eventSender.mouseUp();
+ eventSender.mouseDown();
+ eventSender.mouseUp();
+
+ assert_equals(window.getSelection().toString(), "oranga");
+ internals.setSpellingMarker(document);
+ internals.replaceMisspelled(document, "orange");
+ assert_equals(input.value, "orange");
+ assert_equals(window.getSelection().isCollapsed, true);
+}, "spellcheck-replace-in-input");
+
+</script>

Powered by Google App Engine
This is Rietveld 408576698