| // 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); |
| }); |
| }); |
| } |