| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- import 'package:test/test.dart';
- import 'package:xterm/xterm.dart';
- void main() {
- group('Buffer.getText()', () {
- test('should return the text', () {
- final terminal = Terminal();
- terminal.write('Hello World');
- expect(terminal.buffer.getText(), startsWith('Hello World'));
- });
- test('can handle line wrap', () {
- final terminal = Terminal();
- terminal.resize(10, 10);
- final line1 = 'This is a long line that should wrap';
- final line2 = 'This is a short line';
- final line3 = 'This is a long long long long line that should wrap';
- final line4 = 'Short';
- terminal.write('$line1\r\n');
- terminal.write('$line2\r\n');
- terminal.write('$line3\r\n');
- terminal.write('$line4\r\n');
- final lines = terminal.buffer.getText().split('\n');
- expect(lines[0], line1);
- expect(lines[1], line2);
- expect(lines[2], line3);
- expect(lines[3], line4);
- });
- test('can handle negative start', () {
- final terminal = Terminal();
- terminal.write('Hello World');
- expect(
- terminal.buffer.getText(
- BufferRangeLine(CellOffset(-100, -100), CellOffset(100, 100)),
- ),
- startsWith('Hello World'),
- );
- });
- test('can handle invalid end', () {
- final terminal = Terminal();
- terminal.write('Hello World');
- expect(
- terminal.buffer.getText(
- BufferRangeLine(CellOffset(0, 0), CellOffset(100, 100)),
- ),
- startsWith('Hello World'),
- );
- });
- test('can handle reversed range', () {
- final terminal = Terminal();
- terminal.write('Hello World');
- expect(
- terminal.buffer.getText(
- BufferRangeLine(CellOffset(5, 5), CellOffset(0, 0)),
- ),
- startsWith('Hello World'),
- );
- });
- test('can handle block range', () {
- final terminal = Terminal();
- terminal.write('Hello World\r\n');
- terminal.write('Nice to meet you\r\n');
- expect(
- terminal.buffer.getText(
- BufferRangeBlock(CellOffset(2, 0), CellOffset(5, 1)),
- ),
- startsWith('llo\nce '),
- );
- });
- });
- group('Buffer.resize()', () {
- test('should resize the buffer', () {
- final terminal = Terminal();
- terminal.resize(10, 10);
- expect(terminal.viewWidth, 10);
- expect(terminal.viewHeight, 10);
- for (var i = 0; i < terminal.lines.length; i++) {
- final line = terminal.lines[i];
- expect(line.length, 10);
- }
- terminal.resize(20, 20);
- expect(terminal.viewWidth, 20);
- expect(terminal.viewHeight, 20);
- for (var i = 0; i < terminal.lines.length; i++) {
- final line = terminal.lines[i];
- expect(line.length, 20);
- }
- });
- });
- }
|