blob: 6c58ef9c1e3dc9d523c37ebc1f202acea628bcfc [file] [log] [blame]
#!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>