| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- import 'package:test/test.dart';
- import 'package:xterm/src/terminal.dart';
- void main() {
- test('reflow() can reflow a single line', () {
- final terminal = Terminal();
- terminal.write('1234567890abcdefg');
- terminal.resize(10, 10);
- expect(terminal.buffer.lines[0].toString(), '1234567890');
- expect(terminal.buffer.lines[1].toString(), 'abcdefg');
- expect(terminal.buffer.lines[0].isWrapped, isFalse);
- expect(terminal.buffer.lines[1].isWrapped, isTrue);
- terminal.resize(13, 10);
- expect(terminal.buffer.lines[0].toString(), '1234567890abc');
- expect(terminal.buffer.lines[1].toString(), 'defg');
- expect(terminal.buffer.lines[0].isWrapped, isFalse);
- expect(terminal.buffer.lines[1].isWrapped, isTrue);
- terminal.resize(20, 10);
- expect(terminal.buffer.lines[0].toString(), '1234567890abcdefg');
- expect(terminal.buffer.lines[0].isWrapped, isFalse);
- });
- test('reflow() can reflow a single line to multiple lines', () {
- final terminal = Terminal();
- terminal.write('1234567890abcdefg');
- terminal.resize(5, 10);
- expect(terminal.buffer.lines[0].toString(), '12345');
- expect(terminal.buffer.lines[1].toString(), '67890');
- expect(terminal.buffer.lines[2].toString(), 'abcde');
- expect(terminal.buffer.lines[3].toString(), 'fg');
- expect(terminal.buffer.lines[0].isWrapped, isFalse);
- expect(terminal.buffer.lines[1].isWrapped, isTrue);
- expect(terminal.buffer.lines[2].isWrapped, isTrue);
- expect(terminal.buffer.lines[3].isWrapped, isTrue);
- terminal.resize(6, 10);
- expect(terminal.buffer.lines[0].toString(), '123456');
- expect(terminal.buffer.lines[1].toString(), '7890ab');
- expect(terminal.buffer.lines[2].toString(), 'cdefg');
- expect(terminal.buffer.lines[0].isWrapped, isFalse);
- expect(terminal.buffer.lines[1].isWrapped, isTrue);
- expect(terminal.buffer.lines[2].isWrapped, isTrue);
- });
- test('reflow() can reflow wide characters', () {
- final terminal = Terminal();
- terminal.write('床前明月光疑是地上霜');
- terminal.resize(10, 10);
- expect(terminal.buffer.lines[0].toString(), '床前明月光');
- expect(terminal.buffer.lines[1].toString(), '疑是地上霜');
- terminal.resize(9, 10);
- expect(terminal.buffer.lines[0].toString(), '床前明月');
- expect(terminal.buffer.lines[1].toString(), '光疑是地');
- expect(terminal.buffer.lines[2].toString(), '上霜');
- terminal.resize(11, 10);
- expect(terminal.buffer.lines[0].toString(), '床前明月光');
- expect(terminal.buffer.lines[1].toString(), '疑是地上霜');
- terminal.resize(13, 10);
- expect(terminal.buffer.lines[0].toString(), '床前明月光疑');
- expect(terminal.buffer.lines[1].toString(), '是地上霜');
- });
- }
|