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

Unified Diff: sky/tests/resources/event-sender.sky

Issue 723863002: Re-enable the editing tests (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Created 6 years, 1 month 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sky/tests/editing/typing-expected.txt ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sky/tests/resources/event-sender.sky
diff --git a/sky/tests/resources/event-sender.sky b/sky/tests/resources/event-sender.sky
new file mode 100644
index 0000000000000000000000000000000000000000..854d822aa12320cc99ab544d998e189d5703cb90
--- /dev/null
+++ b/sky/tests/resources/event-sender.sky
@@ -0,0 +1,77 @@
+<import src="/mojo/services/public/interfaces/input_events/input_event_constants.mojom.sky" as="constants" />
+<import src="/mojo/services/public/interfaces/input_events/input_events.mojom.sky" as="events" />
+<import src="/mojo/services/public/interfaces/input_events/input_key_codes.mojom.sky" as="codes" />
+<import src="/sky/framework/shell.sky" as="shell" />
+<import src="/sky/services/testing/test_harness.mojom.sky" as="harness" />
+<script>
+var harness = shell.connectToService("mojo:sky_tester", harness.TestHarness);
+
+var g_done = false;
rafaelw 2014/11/13 00:57:25 no need for g_ prefix
abarth-chromium 2014/11/13 01:00:50 Done.
+var g_keyDownCount = 0;
+
+function keyDown(key, flag) {
+ var eventFlags = constants.EventFlags.NONE;
+ // TODO(abarth): Support more than one flag.
+ if (constants.EventFlags.hasOwnProperty(flag))
+ eventFlags = constants.EventFlags[flag];
+
+ if (key.length != 1 && codes.KeyboardCode.hasOwnProperty(key)) {
+ var keyCode = codes.KeyboardCode[key];
+
+ harness.dispatchInputEvent(new events.Event({
+ action: constants.EventType.KEY_PRESSED,
+ flags: eventFlags,
+ key_data: new events.KeyData({
+ key_code: keyCode,
+ windows_key_code: keyCode,
+ })}));
+
+ harness.dispatchInputEvent(new events.Event({
+ action: constants.EventType.KEY_PRESSED,
+ flags: eventFlags,
+ key_data: new events.KeyData({
+ is_char: true,
+ windows_key_code: keyCode,
+ })}));
+ } else {
+ ++g_keyDownCount;
+ var keyCode = key.charCodeAt(0);
+ harness.dispatchInputEvent(new events.Event({
+ action: constants.EventType.KEY_PRESSED,
+ flags: eventFlags,
+ key_data: new events.KeyData({
+ key_code: keyCode,
+ is_char: true,
+ character: keyCode,
+ text: keyCode,
+ unmodified_text: keyCode,
+ })}));
+ }
+}
+
+function done() {
+ g_done = true;
rafaelw 2014/11/13 00:57:25 it's a little wierd this module is unusable after
abarth-chromium 2014/11/13 01:00:50 Done.
abarth-chromium 2014/11/13 01:00:50 Done.
+ checkComplete();
+}
+
+function checkComplete() {
+ if (!g_done)
+ return;
+ if (g_keyDownCount != 0)
rafaelw 2014/11/13 00:57:25 indent
abarth-chromium 2014/11/13 01:00:50 Fixed.
+ return;
+ setTimeout(function() {
+ internals.notifyTestComplete(internals.contentAsText());
+ });
+}
+
+document.addEventListener('keypress', function() {
+ --g_keyDownCount;
+ checkComplete();
+});
+
+module.exports = {
+ keyDown: keyDown,
+ done: done,
+};
+</script>
+</sky>
« no previous file with comments | « sky/tests/editing/typing-expected.txt ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698