| #!mojo mojo:sky_viewer |
| <sky> |
| <script> |
| import "../resources/third_party/unittest/unittest.dart"; |
| import "../resources/unit.dart"; |
| import "/sky/framework/embedder.dart"; |
| import "dart:sky"; |
| import "package:mojo/services/input_events/public/interfaces/input_event_constants.mojom.dart" as constants; |
| import "package:mojo/services/input_events/public/interfaces/input_events.mojom.dart" as events; |
| import "package:sky/services/testing/test_harness.mojom.dart" as harness; |
| |
| void main() { |
| initUnit(); |
| |
| test('should be able to send events', () { |
| document.addEventListener('keypress', expectAsync((event) { |
| expect(event.type, equals('keypress')); |
| expect(event.key, equals(0)); |
| expect(event.charCode, equals(0x41)); |
| })); |
| |
| var testHarness = new harness.TestHarnessProxy.unbound(); |
| embedder.connectToService("mojo:sky_tester", testHarness); |
| var keyData = new events.KeyData(); |
| keyData.windowsKeyCode = 0x41; |
| keyData.text = 0x41; |
| keyData.unmodifiedText = 0x41; |
| keyData.isChar = true; |
| keyData.character = 0x41; |
| var event = new events.Event(); |
| event.action = constants.EventType_KEY_PRESSED; |
| event.keyData = keyData; |
| testHarness.ptr.dispatchInputEvent(event); |
| }); |
| } |
| </script> |
| </sky> |