| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- // import 'package:flutter/material.dart';
- // import 'package:flutter/services.dart';
- // import 'package:flutter_test/flutter_test.dart';
- // import 'package:mockito/annotations.dart';
- // import 'package:mockito/mockito.dart';
- // import 'package:xterm/xterm.dart';
- // @GenerateMocks([
- // TerminalUiInteraction,
- // ])
- void main() {
- // group('InputBehaviorDesktop', () {
- // test('can handle fast typing', () {
- // final mockTerminal = MockTerminalUiInteraction();
- // final inputBehavior = InputBehaviorDesktop();
- // inputBehavior.onTextEdit(composing('l', -1, -1), mockTerminal);
- // verify(mockTerminal.raiseOnInput('l'));
- // verifyNever(mockTerminal.updateComposingString(any));
- // inputBehavior.onTextEdit(composing('ls', -1, -1), mockTerminal);
- // verify(mockTerminal.raiseOnInput('s'));
- // verifyNever(mockTerminal.updateComposingString(any));
- // inputBehavior.onTextEdit(TextEditingValue.empty, mockTerminal);
- // verifyNever(mockTerminal.raiseOnInput(any));
- // verifyNever(mockTerminal.updateComposingString(any));
- // });
- // test('can handle English', () {
- // final mockTerminal = MockTerminalUiInteraction();
- // final inputBehavior = InputBehaviorDesktop();
- // // typing 'hello'
- // inputBehavior.onTextEdit(composing('h', 1, 1), mockTerminal);
- // verify(mockTerminal.raiseOnInput('h'));
- // verifyNever(mockTerminal.updateComposingString(any));
- // inputBehavior.onTextEdit(TextEditingValue.empty, mockTerminal);
- // inputBehavior.onTextEdit(composing('e', 1, 1), mockTerminal);
- // verify(mockTerminal.raiseOnInput('e'));
- // verifyNever(mockTerminal.updateComposingString(any));
- // inputBehavior.onTextEdit(TextEditingValue.empty, mockTerminal);
- // inputBehavior.onTextEdit(composing('l', 1, 1), mockTerminal);
- // verify(mockTerminal.raiseOnInput('l'));
- // verifyNever(mockTerminal.updateComposingString(any));
- // inputBehavior.onTextEdit(TextEditingValue.empty, mockTerminal);
- // inputBehavior.onTextEdit(composing('l', 1, 1), mockTerminal);
- // verify(mockTerminal.raiseOnInput('l'));
- // verifyNever(mockTerminal.updateComposingString(any));
- // inputBehavior.onTextEdit(TextEditingValue.empty, mockTerminal);
- // inputBehavior.onTextEdit(composing('o', 1, 1), mockTerminal);
- // verify(mockTerminal.raiseOnInput('o'));
- // verifyNever(mockTerminal.updateComposingString(any));
- // });
- // test('can handle Chinese', () {
- // final mockTerminal = MockTerminalUiInteraction();
- // final inputBehavior = InputBehaviorDesktop();
- // // typing '你好'
- // inputBehavior.onTextEdit(composing('n', 0, 1), mockTerminal);
- // inputBehavior.onTextEdit(composing('ni', 0, 2), mockTerminal);
- // inputBehavior.onTextEdit(composing('ni h', 0, 4), mockTerminal);
- // inputBehavior.onTextEdit(composing('ni ha', 0, 5), mockTerminal);
- // inputBehavior.onTextEdit(composing('ni hao', 0, 6), mockTerminal);
- // inputBehavior.onTextEdit(composing('你好', 0, 2), mockTerminal);
- // verify(mockTerminal.updateComposingString(any)).called(6);
- // verifyNever(mockTerminal.raiseOnInput(any));
- // inputBehavior.onTextEdit(composing('你好', -1, -1), mockTerminal);
- // verify(mockTerminal.raiseOnInput('你好'));
- // verify(mockTerminal.updateComposingString(''));
- // });
- // test('can handle Japanese', () {
- // final mockTerminal = MockTerminalUiInteraction();
- // final inputBehavior = InputBehaviorDesktop();
- // // typing 'どうも'
- // inputBehavior.onTextEdit(composing('d', 0, 1), mockTerminal);
- // inputBehavior.onTextEdit(composing('ど', 0, 1), mockTerminal);
- // inputBehavior.onTextEdit(composing('どう', 0, 2), mockTerminal);
- // inputBehavior.onTextEdit(composing('どうm', 0, 3), mockTerminal);
- // inputBehavior.onTextEdit(composing('どうも', 0, 3), mockTerminal);
- // verify(mockTerminal.updateComposingString(any)).called(5);
- // verifyNever(mockTerminal.raiseOnInput(any));
- // inputBehavior.onTextEdit(composing('どうも', -1, -1), mockTerminal);
- // verify(mockTerminal.raiseOnInput('どうも'));
- // verify(mockTerminal.updateComposingString(''));
- // });
- // test('can handle Korean', () {
- // final mockTerminal = MockTerminalUiInteraction();
- // final inputBehavior = InputBehaviorDesktop();
- // // typing '안녕'
- // inputBehavior.onTextEdit(composing('ㅇ', 0, 1), mockTerminal);
- // inputBehavior.onTextEdit(composing('아', 0, 1), mockTerminal);
- // inputBehavior.onTextEdit(composing('안', 0, 1), mockTerminal);
- // inputBehavior.onTextEdit(composing('안', 0, 1), mockTerminal);
- // verify(mockTerminal.updateComposingString(any)).called(4);
- // verifyNever(mockTerminal.raiseOnInput(any));
- // inputBehavior.onTextEdit(composing('안', 1, 1), mockTerminal);
- // verify(mockTerminal.raiseOnInput('안'));
- // verify(mockTerminal.updateComposingString(''));
- // inputBehavior.onTextEdit(TextEditingValue.empty, mockTerminal);
- // inputBehavior.onTextEdit(composing('ㄴ', 0, 1), mockTerminal);
- // inputBehavior.onTextEdit(composing('녀', 0, 1), mockTerminal);
- // inputBehavior.onTextEdit(composing('녕', 0, 1), mockTerminal);
- // verify(mockTerminal.updateComposingString(any)).called(3);
- // verifyNever(mockTerminal.raiseOnInput(any));
- // inputBehavior.onTextEdit(composing('녕', 1, 1), mockTerminal);
- // verify(mockTerminal.raiseOnInput('녕'));
- // verify(mockTerminal.updateComposingString(''));
- // });
- // });
- // }
- // TextEditingValue composing(String text, int start, int end) {
- // return TextEditingValue(
- // text: text,
- // selection: TextSelection.collapsed(offset: text.length),
- // composing: TextRange(start: start, end: end),
- // );
- }
|