40 lines
1 KiB
Dart
40 lines
1 KiB
Dart
import 'dart:convert';
|
|
|
|
import 'package:appflowy_editor/appflowy_editor.dart';
|
|
import 'package:flutter_test/flutter_test.dart';
|
|
|
|
void main() async {
|
|
group('position.dart', () {
|
|
test('test position equality', () {
|
|
final positionA = Position(path: [0, 1, 2], offset: 3);
|
|
final positionB = Position(path: [0, 1, 2], offset: 3);
|
|
expect(positionA, positionB);
|
|
|
|
final positionC = positionA.copyWith(offset: 4);
|
|
final positionD = positionB.copyWith(path: [1, 2, 3]);
|
|
expect(positionC.offset, 4);
|
|
expect(positionD.path, [1, 2, 3]);
|
|
|
|
expect(positionA.toJson(), {
|
|
'path': [0, 1, 2],
|
|
'offset': 3,
|
|
});
|
|
expect(positionC.toJson(), {
|
|
'path': [0, 1, 2],
|
|
'offset': 4,
|
|
});
|
|
});
|
|
|
|
testWidgets('Position.fromJson', (tester) async {
|
|
final positionJson = jsonDecode("""{
|
|
"path": [4],
|
|
"offset": 5
|
|
}""");
|
|
|
|
final position = Position.fromJson(positionJson);
|
|
|
|
expect(position.path.first, 4);
|
|
expect(position.offset, 5);
|
|
});
|
|
});
|
|
}
|