using System.Windows;
using VideoDownloader.App;
using VideoDownloader.Tests.Infrastructure;
namespace VideoDownloader.Tests.E2E;
///
hello-tab2
"); await WaitUntilNavCompleted(cv2); Assert.NotSame(first, window.Tabs.ActiveTab); // NewTab 이 활성화 Assert.Equal(2, window.Tabs.Tabs.Count); // 탭 전환: 첫 탭으로 window.Tabs.Activate(first); var switched = ReferenceEquals(window.Tabs.ActiveTab, first); // 탭 닫기 → 오른쪽 이웃 활성화 → Ctrl+Shift+T 복원 window.Tabs.CloseTab(tab2); var countAfterClose = window.Tabs.Tabs.Count; var reopened = window.Tabs.ReopenClosedTab(); var countAfterReopen = window.Tabs.Tabs.Count; // ── T1-3 검색 바 ── window.OpenFind(); var findVisible = window.FindBar.Visibility == Visibility.Visible; window.CloseFind(); var findCollapsed = window.FindBar.Visibility == Visibility.Collapsed; // ── T1-11 전체화면 ── window.ToggleFullscreen(); var toolbarHidden = window.ToolbarRow.Visibility == Visibility.Collapsed && window.TabStripRow.Visibility == Visibility.Collapsed; window.ToggleFullscreen(); var toolbarBack = window.ToolbarRow.Visibility == Visibility.Visible; window.Close(); return (init: true, switched, countAfterClose, reopened: reopened != null, countAfterReopen, findVisible, findCollapsed, toolbarHidden, toolbarBack); }); Assert.True(ok.init, "WebView2 초기화 실패"); Assert.True(ok.switched, "탭 전환 실패"); Assert.True(ok.countAfterClose == 1, $"탭 닫기 후 개수 오류: {ok.countAfterClose}"); Assert.True(ok.reopened, "닫은 탭 복원 실패"); Assert.True(ok.countAfterReopen == 2, $"복원 후 개수 오류: {ok.countAfterReopen}"); Assert.True(ok.findVisible, "검색 바 미표시"); Assert.True(ok.findCollapsed, "검색 바 미닫힘"); Assert.True(ok.toolbarHidden, "전체화면에서 크롬 미숨김"); Assert.True(ok.toolbarBack, "전체화면 복원 실패"); } private static Task WaitUntilNavCompleted(Microsoft.Web.WebView2.Core.CoreWebView2 cv) { var tcs = new TaskCompletionSource(TaskCreationOptions.RunContinuationsAsynchronously); EventHandler