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

Side by Side Diff: third_party/WebKit/LayoutTests/fast/events/inputevents/before-input-ranges.html

Issue 1965543002: [InputEvent] Support |sequence<Range> getRanges()| in 'beforeinput' (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update comments about store and clear |Range| Created 4 years, 6 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
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>InputEvent: beforeinput getRanges()</title>
5 <script src="../../../resources/testharness.js"></script>
6 <script src="../../../resources/testharnessreport.js"></script>
7 </head>
8 <body>
9 <p id="sample" contentEditable="true"></p>
10 <div id="log"></div>
11 <script>
12 test(function() {
13 if (!window.eventSender) {
14 document.write('This test requires eventSender');
15 return;
16 }
17
18 // Setup data.
19 var sample = document.getElementById('sample');
20 sample.innerHTML = 'hel<i>lo wo</i><b>rld</b>';
21
22 // Move caret right after 'hello world '.
23 var selection = window.getSelection();
24 selection.collapse(sample.firstChild, 0);
25 selection.modify('move', 'forward', 'line');
26
27 // Check event for delete-word-backward.
28 var handler = function(event) {
29 var ranges = event.getRanges();
30 assert_equals(ranges.length, 1);
31 var range = ranges[0];
32 assert_equals(range.startOffset, 3);
33 assert_equals(range.startContainer.textContent, 'lo wo');
34 assert_equals(range.endOffset, 3);
35 assert_equals(range.endContainer.textContent, 'rld');
36 sample.removeEventListener('beforeinput', handler);
37 };
38 sample.addEventListener('beforeinput', handler);
39
40 // Send delete-word-backward, should delete 'world' across I and B.
41 var isMacOSX = navigator.userAgent.indexOf("Mac OS X") != -1;
42 eventSender.keyDown('backspace', [isMacOSX ? 'altKey' : 'ctrlKey']);
43 assert_equals(sample.innerHTML, 'hel<i>lo&nbsp;</i>');
44 }, 'Testing getRanges() returns correct range across elements.');
45
46 test(function() {
47 if (!window.eventSender) {
48 document.write('This test requires eventSender');
49 return;
50 }
51
52 // Setup data.
53 var sample = document.getElementById('sample');
54 sample.innerHTML = 'hello';
55
56 // Move caret right after 'hello'.
57 var selection = window.getSelection();
58 selection.collapse(sample.firstChild, 0);
59 selection.modify('move', 'forward', 'word');
60
61 // Check and hold event for delete-character-backward.
62 var lastEvent;
63 var handler = function(event) {
64 lastEvent = event;
65 assert_equals(lastEvent.getRanges().length, 1);
66 sample.removeEventListener('beforeinput', handler);
67 };
68 sample.addEventListener('beforeinput', handler);
69
70 // Send delete-character-backward.
71 eventSender.keyDown('backspace', []);
72 assert_equals(sample.textContent, 'hell');
73 // |getRanges| should be cleared after dispatch.
74 assert_equals(lastEvent.getRanges().length, 0);
75 }, 'Testing getRanges() cleared after dispatch.');
76 </script>
77 </body>
78 </html>
OLDNEW
« no previous file with comments | « no previous file | third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698