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

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

Issue 2768303003: [InputEvent] Allow transpose and yank in plain-text field (Closed)
Patch Set: Created 3 years, 9 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 unified diff | Download patch
OLDNEW
1 <title>InputEvent: macOS Transpose</title> 1 <title>InputEvent: macOS Transpose</title>
2 <script src="../../../resources/testharness.js"></script> 2 <script src="../../../resources/testharness.js"></script>
3 <script src="../../../resources/testharnessreport.js"></script> 3 <script src="../../../resources/testharnessreport.js"></script>
4 <div id="editable" contenteditable></div> 4 <div id="editable" contenteditable></div>
5 <textarea id="txt"></textarea>
5 <script> 6 <script>
6 test(() => { 7 test(() => {
7 assert_not_equals(window.testRunner, undefined, 'This test requires testRunn er.'); 8 assert_not_equals(window.testRunner, undefined, 'This test requires testRunn er.');
8 9
9 let eventRecorder = ''; 10 let eventRecorder = '';
10 document.addEventListener('beforeinput', event => { 11 document.addEventListener('beforeinput', event => {
11 eventRecorder += `beforeinput-${event.inputType}-${event.data}-`; 12 eventRecorder += `beforeinput-${event.inputType}-${event.data}-`;
12 }); 13 });
13 document.addEventListener('input', event => { 14 document.addEventListener('input', event => {
14 eventRecorder += `input-${event.inputType}`; 15 eventRecorder += `input-${event.inputType}`;
15 }); 16 });
16 17
17 const editable = document.getElementById('editable'); 18 const editable = document.getElementById('editable');
18 editable.innerHTML = 'abc'; 19 editable.innerHTML = 'abc';
19 editable.focus(); 20 editable.focus();
20 const selection = window.getSelection(); 21 const selection = window.getSelection();
21 selection.collapse(editable, 1); // End of first line. 22 selection.collapse(editable, 1); // End of first line.
22 23
23 // Test Transpose. 24 // Test Transpose.
24 eventRecorder = ''; 25 eventRecorder = '';
25 testRunner.execCommand('transpose'); 26 testRunner.execCommand('transpose');
26 assert_equals(editable.innerHTML, 'acb'); 27 assert_equals(editable.innerHTML, 'acb');
27 assert_equals(eventRecorder, 'beforeinput-insertTranspose-cb-input-insertTra nspose'); 28 assert_equals(eventRecorder, 'beforeinput-insertTranspose-cb-input-insertTra nspose');
28 }); 29 }, 'Transpose on contenteditable');
30
31 test(() => {
32 assert_not_equals(window.testRunner, undefined, 'This test requires testRunn er.');
33
34 let eventRecorder = '';
35 document.addEventListener('beforeinput', event => {
36 eventRecorder += `beforeinput-${event.inputType}-${event.data}-`;
37 });
38 document.addEventListener('input', event => {
39 eventRecorder += `input-${event.inputType}`;
40 });
41
42 const txt = document.getElementById('txt');
43 txt.value = 'abc';
44 txt.focus();
45 txt.setSelectionRange(3, 3); // End of first line.
46
47 // Test Transpose.
48 eventRecorder = '';
49 testRunner.execCommand('transpose');
50 assert_equals(txt.value, 'acb');
51 assert_equals(eventRecorder, 'beforeinput-insertTranspose-cb-input-insertTra nspose');
52 }, 'Transpose on <textarea>');
29 </script> 53 </script>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698