terminal_test.dart 902 B

1234567891011121314151617181920212223242526272829303132333435
  1. import 'package:test/test.dart';
  2. import 'package:xterm/core.dart';
  3. void main() {
  4. group('Terminal.inputHandler', () {
  5. test('can be set to null', () {
  6. final terminal = Terminal(inputHandler: null);
  7. expect(() => terminal.keyInput(TerminalKey.keyA), returnsNormally);
  8. });
  9. test('can be changed', () {
  10. final handler1 = _TestInputHandler();
  11. final handler2 = _TestInputHandler();
  12. final terminal = Terminal(inputHandler: handler1);
  13. terminal.keyInput(TerminalKey.keyA);
  14. expect(handler1.events, isNotEmpty);
  15. terminal.inputHandler = handler2;
  16. terminal.keyInput(TerminalKey.keyA);
  17. expect(handler2.events, isNotEmpty);
  18. });
  19. });
  20. }
  21. class _TestInputHandler implements TerminalInputHandler {
  22. final events = <TerminalInputEvent>[];
  23. @override
  24. String? call(TerminalInputEvent event) {
  25. events.add(event);
  26. return null;
  27. }
  28. }