import 'package:test/test.dart'; import 'package:xterm/core.dart'; void main() { group('Terminal.inputHandler', () { test('can be set to null', () { final terminal = Terminal(inputHandler: null); expect(() => terminal.keyInput(TerminalKey.keyA), returnsNormally); }); test('can be changed', () { final handler1 = _TestInputHandler(); final handler2 = _TestInputHandler(); final terminal = Terminal(inputHandler: handler1); terminal.keyInput(TerminalKey.keyA); expect(handler1.events, isNotEmpty); terminal.inputHandler = handler2; terminal.keyInput(TerminalKey.keyA); expect(handler2.events, isNotEmpty); }); }); } class _TestInputHandler implements TerminalInputHandler { final events = []; @override String? call(TerminalInputEvent event) { events.add(event); return null; } }