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..2c987f68b5722e9f7f10b4774957730eb0827ffb |
| --- /dev/null |
| +++ b/third_party/WebKit/LayoutTests/fast/events/inputevents/inputevent-spellcheck.html |
| @@ -0,0 +1,66 @@ |
| +<!DOCTYPE html> |
| +<script src="../../../resources/testharness.js"></script> |
| +<script src="../../../resources/testharnessreport.js"></script> |
| +<script src="../../../editing/assert_selection.js"></script> |
| + |
| +<script> |
| +test(function () { |
| + assert_not_equals(window.eventSender, |
| + undefined, |
| + 'This test requires eventSender.'); |
| + assert_not_equals(window.internals, |
| + undefined, |
| + 'This test requires internals.'); |
| + |
| + assert_selection( |
| + '<div contenteditable="true" id="editable">|appla^ </div>', |
| + selection => { |
| + var document = selection.document; |
| + internals.setSpellingMarker(document); |
| + var editable = document.getElementById("editable"); |
| + |
| + var handler = function(event) { |
| + assert_equals(event.inputType, "insertReplacementText"); |
| + assert_equals(event.dataTransfer.getData("text/plain"), "apple"); |
| + assert_equals(event.getTargetRanges().length, 1); |
| + editable.removeEventListener('beforeinput', handler); |
| + }; |
| + editable.addEventListener('beforeinput', handler); |
| + |
| + internals.replaceMisspelled(document, "apple"); |
| + }, |
| + '<div contenteditable="true" id="editable">apple| </div>' |
| + ); |
| +}, "spellcheck-replace-in-contenteditable"); |
| + |
| +test(function () { |
| + assert_not_equals(window.eventSender, |
| + undefined, |
| + 'This test requires eventSender.'); |
| + assert_not_equals(window.internals, |
| + undefined, |
| + 'This test requires internals.'); |
| + |
| + assert_selection( |
| + '<textarea id="ta">^appla| </textarea>', |
| + selection => { |
| + console.log(selection.toString()); // selection is empty |
|
chaopeng
2016/11/02 20:45:25
Hi Yosin, I changed the test to assert selection.
chongz
2016/11/03 15:48:34
I'm not exactly sure how |assert_selection()| work
yosin_UTC9
2016/11/08 04:34:27
I'm now updating assert_selection() to support INP
yosin_UTC9
2016/11/09 05:25:54
assert_selection() with TEXTAREA http://crrev.com/
|
| + var document = selection.document; |
| + internals.setSpellingMarker(document); |
| + var textarea = document.getElementById("ta"); |
| + |
| + var handler = function(event) { |
| + assert_equals(event.inputType, "insertReplacementText"); |
| + assert_equals(event.data, "apple"); |
| + assert_equals(event.getTargetRanges().length, 0); |
| + textarea.removeEventListener('beforeinput', handler); |
| + }; |
| + textarea.addEventListener('beforeinput', handler); |
| + |
| + internals.replaceMisspelled(document, "apple"); |
| + }, |
| + '<textarea id="ta">apple| </textarea>' |
| + ); |
| +}, "spellcheck-replace-in-input"); |
| + |
| +</script> |