diff --git a/integration_test/explorer_use_check_test.dart b/integration_test/explorer_use_check_test.dart index 84beea4..794a940 100644 --- a/integration_test/explorer_use_check_test.dart +++ b/integration_test/explorer_use_check_test.dart @@ -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 jobsGone() async { + for (var i = 0; i < 100 && find.byType(TransferJobView).evaluate().isNotEmpty; i++) { + await t.runAsync(() => Future.delayed(const Duration(milliseconds: 100))); + await t.pump(const Duration(milliseconds: 100)); + } + await settle(); + } + // 한 단계: 실패해도 다음 단계로 (못 찾은 것 자체가 점검 결과) Future step(String name, Future 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('이동 뒤');