JJ_MKVMaker/test/sync_preview_view_test.dart

36 lines
1.5 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:jj_mkvmaker/core/sync_preview.dart';
import 'package:jj_mkvmaker/ui/sync_preview_view.dart';
/// 211: 미리 보기에서 덮어쓰는 것 (내용이 다른 같은 이름) 을 눈에 띄게
void main() {
testWidgets('211: 덮어쓸 것이 있으면 "덮어씀 n" · 주황 경고 줄 · 목록에 (덮어씀)', (tester) async {
await tester.pumpWidget(MaterialApp(
home: Scaffold(
body: SyncPreviewView(
compute: () async => const [
PreviewItem('new.txt', PreviewAction.add, toRight: true, size: 3),
PreviewItem('diff.txt', PreviewAction.update, toRight: true, size: 5),
],
),
),
));
await tester.pumpAndSettle();
expect(find.text('→ 새로 1 · 덮어씀 1'), findsOneWidget);
expect(find.text('받는 쪽에서 1개를 덮어씁니다 (내용이 다른 같은 이름 - 원래 것은 없어짐)'), findsOneWidget);
expect(find.textContaining('~ diff.txt'), findsOneWidget);
expect(find.textContaining('(덮어씀)'), findsOneWidget);
});
testWidgets('211: 덮어쓸 것이 없으면 경고 줄 없음', (tester) async {
await tester.pumpWidget(MaterialApp(
home: Scaffold(
body: SyncPreviewView(compute: () async => const [PreviewItem('new.txt', PreviewAction.add, toRight: true, size: 3)]),
),
));
await tester.pumpAndSettle();
expect(find.textContaining('덮어씁니다'), findsNothing);
});
}