44 lines
1.3 KiB
Dart
44 lines
1.3 KiB
Dart
import 'package:charcode/charcode.dart';
|
|
import 'package:angel3_code_buffer/angel3_code_buffer.dart';
|
|
import 'package:test/test.dart';
|
|
|
|
void main() {
|
|
var buf = CodeBuffer();
|
|
tearDown(buf.clear);
|
|
|
|
test('writeCharCode', () {
|
|
buf.writeCharCode($x);
|
|
expect(buf.lastLine!.lastSpan!.start.column, 0);
|
|
expect(buf.lastLine!.lastSpan!.start.line, 0);
|
|
expect(buf.lastLine!.lastSpan!.end.column, 1);
|
|
expect(buf.lastLine!.lastSpan!.end.line, 0);
|
|
});
|
|
|
|
test('write', () {
|
|
buf.write('foo');
|
|
expect(buf.lastLine!.lastSpan!.start.column, 0);
|
|
expect(buf.lastLine!.lastSpan!.start.line, 0);
|
|
expect(buf.lastLine!.lastSpan!.end.column, 3);
|
|
expect(buf.lastLine!.lastSpan!.end.line, 0);
|
|
});
|
|
|
|
test('multiple writes in one line', () {
|
|
buf..write('foo')..write('baz');
|
|
expect(buf.lastLine!.lastSpan!.start.column, 3);
|
|
expect(buf.lastLine!.lastSpan!.start.line, 0);
|
|
expect(buf.lastLine!.lastSpan!.end.column, 6);
|
|
expect(buf.lastLine!.lastSpan!.end.line, 0);
|
|
});
|
|
|
|
test('multiple lines', () {
|
|
buf
|
|
..writeln('foo')
|
|
..write('bar')
|
|
..write('+')
|
|
..writeln('baz');
|
|
expect(buf.lastLine!.lastSpan!.start.column, 4);
|
|
expect(buf.lastLine!.lastSpan!.start.line, 1);
|
|
expect(buf.lastLine!.lastSpan!.end.column, 7);
|
|
expect(buf.lastLine!.lastSpan!.end.line, 1);
|
|
});
|
|
}
|