시험: 흔들림 고침 (dismiss 105 · 165 드라이브)

- dismiss_test 105: 창이 뜨기 전에도 "비교하는 중" 이 없어 조건이 먼저 참이 되었다 → 창 제목이 뜨고 비교가 끝날 때까지 기다린다
- explorer_drives_test 165: 걸린 시간 (5초, 전체 시험 중 바쁘면 넘김) 대신 응답 없는 드라이브가 끝내 대답하지 않은 채로 목록이 떴는지 본다

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
fix_mkv
RyuJongJin 2026-10-10 07:28:49 +09:00
parent 36de96dd0b
commit e6556a086e
2 changed files with 5 additions and 3 deletions

View File

@ -188,7 +188,9 @@ void main() {
await act(tester, () => tester.tap(find.text('O').last));
await settle(tester, () => false, rounds: 5);
await act(tester, () => tester.tap(find.text('좌 → 우')));
await settle(tester, () => find.textContaining('비교하는 중').evaluate().isEmpty, rounds: 200);
// 창이 뜨고 비교가 끝날 때까지 (전체 시험 중 바쁠 때는 창이 늦게 뜬다 - 뜨기 전에도 "비교하는 중" 은 없다)
await settle(tester, () => find.text('rsync').evaluate().isNotEmpty && find.textContaining('비교하는 중').evaluate().isEmpty,
rounds: 300);
expect(find.text('rsync'), findsWidgets);
await tester.tap(find.text('원본 파일 지우기 (--remove-source-files)'));
await tester.pump();

View File

@ -49,12 +49,12 @@ void main() {
tester.view.physicalSize = const Size(1600, 900);
tester.view.devicePixelRatio = 1;
addTearDown(tester.view.reset);
final sw = Stopwatch()..start();
await tester.runAsync(() => tester.pumpWidget(MaterialApp(home: ExplorerPage(c: c))));
await settle(tester, () => find.text('doc.txt').evaluate().isNotEmpty);
// Q: 는 끝내 대답하지 않지만 목록 · 두 창은 바로 (Q: 를 기다리지 않음)
expect(find.text('doc.txt'), findsOneWidget);
expect(sw.elapsed, lessThan(const Duration(seconds: 5)));
// 걸린 시간 (전체 시험 중 바쁘면 늘어난다) 대신: Q: 가 끝내 대답하지 않은 채로 목록이 떴다
expect(stuck.isCompleted, isFalse);
expect(find.text('Q:'), findsWidgets, reason: '응답 없는 드라이브도 목록에 (확인 중)');
// R: 는 숨기지 않고 "연결 안 됨"
await settle(tester, () => find.textContaining('연결 안 됨').evaluate().isNotEmpty);