Преглед изворни кода

Add test for inserting modifier code

xuty пре 2 година
родитељ
комит
097cc64b1b
1 измењених фајлова са 26 додато и 2 уклоњено
  1. 26 2
      test/src/core/input/handler_test.dart

+ 26 - 2
test/src/core/input/handler_test.dart

@@ -1,6 +1,6 @@
 import 'package:test/test.dart';
-import 'package:xterm/src/core/input/keys.dart';
-import 'package:xterm/src/terminal.dart';
+import 'package:xterm/src/core/input/keytab/keytab.dart';
+import 'package:xterm/xterm.dart';
 
 void main() {
   group('defaultInputHandler', () {
@@ -11,4 +11,28 @@ void main() {
       expect(output, ['\r']);
     });
   });
+
+  group('KeytabInputHandler', () {
+    test('can insert modifier code', () {
+      final handler = KeytabInputHandler(
+        Keytab.parse(r'key Home +AnyMod : "\E[1;*H"'),
+      );
+
+      final terminal = Terminal(inputHandler: handler);
+
+      late String output;
+
+      terminal.onOutput = (data) {
+        output = data;
+      };
+
+      terminal.keyInput(TerminalKey.home, ctrl: true);
+
+      expect(output, '\x1b[1;5H');
+
+      terminal.keyInput(TerminalKey.home, shift: true);
+
+      expect(output, '\x1b[1;2H');
+    });
+  });
 }