ソースを参照

Add tests for reflow

xuty 3 年 前
コミット
baa72b3fc5
2 ファイル変更32 行追加0 行削除
  1. 16 0
      test/src/core/buffer/line_test.dart
  2. 16 0
      test/src/core/reflow_test.dart

+ 16 - 0
test/src/core/buffer/line_test.dart

@@ -87,4 +87,20 @@ void main() {
       expect(line.getTrimmedLength(-1000), equals(0));
     });
   });
+
+  group('BufferLine.resize', () {
+    test('can resize', () {
+      final line = BufferLine(10);
+
+      final text = 'ABCDEF';
+
+      for (var i = 0; i < text.length; i++) {
+        line.setCodePoint(i, text.codeUnitAt(i));
+      }
+
+      line.resize(20);
+
+      expect(line.length, equals(20));
+    });
+  });
 }

+ 16 - 0
test/src/core/reflow_test.dart

@@ -77,4 +77,20 @@ void main() {
     expect(terminal.buffer.lines[0].toString(), '床前明月光疑');
     expect(terminal.buffer.lines[1].toString(), '是地上霜');
   });
+
+  test('lines has correct length after reflow', () {
+    final terminal = Terminal();
+
+    terminal.write('1234567890abcdefg');
+    terminal.resize(10, 10);
+
+    for (var i = 0; i < 10; i++) {
+      expect(terminal.buffer.lines[i].length, 10);
+    }
+
+    terminal.resize(13, 10);
+    for (var i = 0; i < 10; i++) {
+      expect(terminal.buffer.lines[i].length, 13);
+    }
+  });
 }