blob: 86b1e6cd986db7b10ecd6c4ccc3b209830c5f5d5 [file] [log] [blame]
// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
library interactive_test;
import 'dart:async';
import 'dart:html';
import 'package:expect/minitest.dart';
import 'utils.dart';
main() {
group('KeyEvent', () {
keydownHandlerTest(KeyEvent e) {
document.body!.innerHtml =
'${document.body!.innerHtml}KeyDOWN: CharCode: ${e.charCode}, '
'KeyCode: ${e.keyCode}<br />';
expect(e.charCode, 0);
}
keypressHandlerTest(KeyEvent e) {
document.body!.innerHtml =
'${document.body!.innerHtml}KeyPRESS: CharCode: ${e.charCode}, '
'KeyCode: ${e.keyCode}<br />';
}
keyupHandlerTest(KeyEvent e) {
document.body!.innerHtml =
'${document.body!.innerHtml}KeyUP: CharCode: ${e.charCode}, KeyCode:'
' ${e.keyCode}<br />';
expect(e.charCode, 0);
}
keyupHandlerTest2(KeyEvent e) {
document.body!.innerHtml =
'${document.body!.innerHtml}A second KeyUP handler: CharCode: '
'${e.charCode}, KeyCode: ${e.keyCode}<br />';
expect(e.charCode, 0);
}
test('keys', () {
document.body!.innerHtml =
'${document.body!.innerHtml}To test keyboard event values, press '
'some keys on your keyboard.<br /><br />The charcode for keydown and '
'keyup should be 0, and the keycode should (generally) be populated '
'with a value. Keycode and charcode should both have values for the '
'keypress event.';
KeyboardEventStream.onKeyDown(document.body!).listen(keydownHandlerTest);
KeyboardEventStream.onKeyPress(document.body!)
.listen(keypressHandlerTest);
KeyboardEventStream.onKeyUp(document.body!).listen(keyupHandlerTest);
KeyboardEventStream.onKeyUp(document.body!).listen(keyupHandlerTest2);
});
});
}