From f9f67f11f4bdac8da1c2f2047e26c3aac07d4dfb Mon Sep 17 00:00:00 2001 From: RyuJongJin <266630912+RyuJongJin@users.noreply.github.com> Date: Thu, 22 Oct 2026 22:08:49 +0900 Subject: [PATCH] =?UTF-8?q?=EC=A0=90=EA=B2=80=20=EC=8B=9C=ED=97=98:=20?= =?UTF-8?q?=EB=B3=B5=EC=82=AC=20=C2=B7=20=EC=9D=B4=EB=8F=99=20=EB=92=A4=20?= =?UTF-8?q?=EC=A7=84=ED=96=89=20=ED=8C=A8=EB=84=90=EC=9D=B4=20=EB=8B=A4=20?= =?UTF-8?q?=EB=82=B4=EB=A0=A4=EA=B0=84=20=EB=92=A4=20=EC=B0=8D=EC=9D=8C=20?= =?UTF-8?q?(PC=20=EB=B9=A0=EB=A5=B4=EA=B8=B0=EC=97=90=20=EB=94=B0=EB=9D=BC?= =?UTF-8?q?=20=EC=BA=A1=EC=B2=98=EA=B0=80=20=EB=8B=AC=EB=9D=BC=EC=A7=80?= =?UTF-8?q?=EB=8D=98=20=EA=B2=83=20-=20=EA=B8=B0=EB=8C=80=EA=B0=92=20?= =?UTF-8?q?=EA=B7=B8=EB=8C=80=EB=A1=9C)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 5.5 --- integration_test/explorer_use_check_test.dart | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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('이동 뒤');