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

Side by Side Diff: sky/tests/resources/event-sender.sky

Issue 921123002: Port all of Sky's editing tests to Dart (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 5 years, 10 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
(Empty)
1 <import src="/gen/mojo/services/input_events/public/interfaces/input_event_const ants.mojom.sky" as="constants" />
2 <import src="/gen/mojo/services/input_events/public/interfaces/input_events.mojo m.sky" as="events" />
3 <import src="/gen/mojo/services/input_events/public/interfaces/input_key_codes.m ojom.sky" as="codes" />
4 <import src="/gen/sky/services/testing/test_harness.mojom.sky" as="harness" />
5 <import src="/sky/framework/shell.sky" as="shell" />
6 <script>
7 var harness = shell.connectToService("mojo:sky_tester", harness.TestHarness);
8
9 var isDone = false;
10 var keyPressesRemaining = 0;
11
12 function keyDown(key, flag) {
13 var eventFlags = constants.EventFlags.NONE;
14 // TODO(abarth): Support more than one flag.
15 if (constants.EventFlags.hasOwnProperty(flag))
16 eventFlags = constants.EventFlags[flag];
17
18 if (key.length != 1 && codes.KeyboardCode.hasOwnProperty(key)) {
19 var keyCode = codes.KeyboardCode[key];
20
21 harness.dispatchInputEvent(new events.Event({
22 action: constants.EventType.KEY_PRESSED,
23 flags: eventFlags,
24 key_data: new events.KeyData({
25 key_code: keyCode,
26 windows_key_code: keyCode,
27 })}));
28
29 harness.dispatchInputEvent(new events.Event({
30 action: constants.EventType.KEY_PRESSED,
31 flags: eventFlags,
32 key_data: new events.KeyData({
33 is_char: true,
34 windows_key_code: keyCode,
35 })}));
36 } else {
37 ++keyPressesRemaining;
38 var keyCode = key.charCodeAt(0);
39 harness.dispatchInputEvent(new events.Event({
40 action: constants.EventType.KEY_PRESSED,
41 flags: eventFlags,
42 key_data: new events.KeyData({
43 key_code: keyCode,
44 is_char: true,
45 character: keyCode,
46 text: keyCode,
47 unmodified_text: keyCode,
48 })}));
49 }
50 }
51
52 function done() {
53 if (isDone)
54 throw "Already done.";
55 isDone = true;
56 checkComplete();
57 }
58
59 function checkComplete() {
60 if (!isDone)
61 return;
62 if (keyPressesRemaining != 0)
63 return;
64 setTimeout(function() {
65 internals.notifyTestComplete(internals.contentAsText());
66 });
67 }
68
69 document.addEventListener('keypress', function() {
70 --keyPressesRemaining;
71 checkComplete();
72 });
73
74 module.exports = {
75 keyDown: keyDown,
76 done: done,
77 };
78 </script>
79 </sky>
OLDNEW
« sky/tests/editing/backspace.sky ('K') | « sky/tests/resources/event-sender.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698