|
|
@@ -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');
|
|
|
+ });
|
|
|
+ });
|
|
|
}
|