| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- import 'package:test/test.dart';
- import 'package:xterm/xterm.dart';
- void main() {
- group('BufferLineRange', () {
- test('toSegments() works', () {
- final range = BufferRangeBlock(CellOffset(10, 10), CellOffset(12, 12));
- final segments = range.toSegments().toList();
- expect(segments, hasLength(3));
- expect(segments[0].start, equals(10));
- expect(segments[0].end, equals(12));
- expect(segments[1].start, equals(10));
- expect(segments[1].end, equals(12));
- expect(segments[2].start, equals(10));
- expect(segments[2].end, 12);
- });
- test('toSegments() works with reversed range', () {
- final range = BufferRangeBlock(CellOffset(12, 12), CellOffset(10, 10));
- final segments = range.toSegments().toList();
- expect(segments, hasLength(3));
- expect(segments[0].start, equals(10));
- expect(segments[0].end, equals(12));
- expect(segments[1].start, equals(10));
- expect(segments[1].end, equals(12));
- expect(segments[2].start, equals(10));
- expect(segments[2].end, 12);
- });
- test('contains() works', () {
- final range = BufferRangeBlock(CellOffset(10, 10), CellOffset(10, 12));
- expect(range.contains(CellOffset(10, 10)), isTrue);
- expect(range.contains(CellOffset(10, 11)), isTrue);
- expect(range.contains(CellOffset(10, 12)), isTrue);
- expect(range.contains(CellOffset(10, 9)), isFalse);
- expect(range.contains(CellOffset(10, 13)), isFalse);
- });
- test('contains() works with reversed range', () {
- final range = BufferRangeBlock(CellOffset(10, 12), CellOffset(10, 10));
- expect(range.contains(CellOffset(10, 10)), isTrue);
- expect(range.contains(CellOffset(10, 11)), isTrue);
- expect(range.contains(CellOffset(10, 12)), isTrue);
- expect(range.contains(CellOffset(10, 9)), isFalse);
- expect(range.contains(CellOffset(10, 13)), isFalse);
- });
- test('merge() works', () {
- final range1 = BufferRangeBlock(CellOffset(10, 10), CellOffset(10, 12));
- final range2 = BufferRangeBlock(CellOffset(10, 13), CellOffset(10, 15));
- final merged = range1.merge(range2);
- expect(merged.begin, equals(CellOffset(10, 10)));
- expect(merged.end, equals(CellOffset(10, 15)));
- });
- test('merge() works with reversed range', () {
- final range1 = BufferRangeBlock(CellOffset(10, 12), CellOffset(10, 10));
- final range2 = BufferRangeBlock(CellOffset(10, 13), CellOffset(10, 15));
- final merged = range1.merge(range2);
- expect(merged.begin, equals(CellOffset(10, 10)));
- expect(merged.end, equals(CellOffset(10, 15)));
- });
- test('extend() works', () {
- final range = BufferRangeBlock(CellOffset(10, 10), CellOffset(10, 12));
- final extended = range.extend(CellOffset(10, 13));
- expect(extended.begin, equals(CellOffset(10, 10)));
- expect(extended.end, equals(CellOffset(10, 13)));
- });
- test('extend() works with reversed range', () {
- final range = BufferRangeBlock(CellOffset(10, 12), CellOffset(10, 10));
- final extended = range.extend(CellOffset(10, 13));
- expect(extended.begin, equals(CellOffset(10, 10)));
- expect(extended.end, equals(CellOffset(10, 13)));
- });
- test('extend() works with reversed range and reversed extend', () {
- final range = BufferRangeBlock(CellOffset(10, 12), CellOffset(10, 10));
- final extended = range.extend(CellOffset(10, 9));
- expect(extended.begin, equals(CellOffset(10, 9)));
- expect(extended.end, equals(CellOffset(10, 12)));
- });
- });
- }
|