Chromium Code Reviews| 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> |