점검 시험: 복사 · 이동 뒤 진행 패널이 다 내려간 뒤 찍음 (PC 빠르기에 따라 캡처가 달라지던 것 - 기대값 그대로)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
modular
RyuJongJin 2026-10-22 22:08:49 +09:00
parent 0943427cd0
commit f9f67f11f4
1 changed files with 12 additions and 0 deletions

View File

@ -12,6 +12,7 @@ import 'package:jj_mkvmaker/app/i18n_controller.dart';
import 'package:jj_mkvmaker/platform/windows/desktop_storage_service.dart';
import 'package:jj_mkvmaker/platform/windows/process_media_tool.dart';
import 'package:jj_mkvmaker/services/platform_services.dart';
import 'package:jj_mkvmaker/ui/explorer/job_view.dart' show TransferJobView;
import 'package:jj_mkvmaker/ui/explorer_page.dart';
import 'package:jj_mkvmaker/ui/theme.dart';
import 'package:path/path.dart' as p;
@ -95,6 +96,15 @@ void main() {
print('[$w] $step: ${texts.isEmpty ? '(뜬 창 없음)' : texts.join(' | ')}');
}
// 복사 · 이동이 끝나 진행 패널이 다 내려갈 때까지 (실제 시간, 10초까지) - 캡처가 PC 빠르기에 따라 달라지지 않게
Future<void> jobsGone() async {
for (var i = 0; i < 100 && find.byType(TransferJobView).evaluate().isNotEmpty; i++) {
await t.runAsync(() => Future<void>.delayed(const Duration(milliseconds: 100)));
await t.pump(const Duration(milliseconds: 100));
}
await settle();
}
// 한 단계: 실패해도 다음 단계로 (못 찾은 것 자체가 점검 결과)
Future<void> step(String name, Future<void> Function() act) async {
try {
@ -167,6 +177,7 @@ void main() {
await settle();
await t.tap(txt('C:'));
}
await jobsGone();
});
await settle(20);
files('복사 뒤');
@ -201,6 +212,7 @@ void main() {
await settle();
await t.tap(tip('붙여넣기'));
}
await jobsGone();
});
await settle(20);
files('이동 뒤');