handler_test.dart 935 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. import 'package:test/test.dart';
  2. import 'package:xterm/src/core/input/keytab/keytab.dart';
  3. import 'package:xterm/xterm.dart';
  4. void main() {
  5. group('defaultInputHandler', () {
  6. test('supports numpad enter', () {
  7. final output = <String>[];
  8. final terminal = Terminal(onOutput: output.add);
  9. terminal.keyInput(TerminalKey.numpadEnter);
  10. expect(output, ['\r']);
  11. });
  12. });
  13. group('KeytabInputHandler', () {
  14. test('can insert modifier code', () {
  15. final handler = KeytabInputHandler(
  16. Keytab.parse(r'key Home +AnyMod : "\E[1;*H"'),
  17. );
  18. final terminal = Terminal(inputHandler: handler);
  19. late String output;
  20. terminal.onOutput = (data) {
  21. output = data;
  22. };
  23. terminal.keyInput(TerminalKey.home, ctrl: true);
  24. expect(output, '\x1b[1;5H');
  25. terminal.keyInput(TerminalKey.home, shift: true);
  26. expect(output, '\x1b[1;2H');
  27. });
  28. });
  29. }