| // 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/legacy/minitest.dart'; // ignore: deprecated_member_use_from_same_package | |
| 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); | |
| }); | |
| }); | |
| } |