92 lines
3.3 KiB
C#
92 lines
3.3 KiB
C#
using System.IO;
|
|
using System.Linq;
|
|
using System.Windows.Input;
|
|
using Paca.App;
|
|
using Paca.Browser;
|
|
using Paca.Browser.Tabs;
|
|
using Paca.Tests.Infrastructure;
|
|
using Xunit;
|
|
|
|
namespace Paca.Tests.Browser;
|
|
|
|
public class ChromeParityDialogsGateTests
|
|
{
|
|
[Fact]
|
|
public void ClearBrowsingDataDialog_초기화_및_기본_선택_검증()
|
|
{
|
|
using var sta = StaDispatcher.Start();
|
|
WpfTestApp.Ensure(sta.Dispatcher);
|
|
sta.Invoke(() =>
|
|
{
|
|
var dataDir = Path.Combine(Path.GetTempPath(), $"vd_clear_dlg_{System.Guid.NewGuid():N}");
|
|
System.Environment.SetEnvironmentVariable("VD_DATA_DIR", dataDir);
|
|
try
|
|
{
|
|
var dlg = new ClearBrowsingDataDialog();
|
|
Assert.NotNull(dlg);
|
|
Assert.Equal("인터넷 사용 기록 삭제", dlg.Title);
|
|
Assert.True(dlg.ClearHistoryCheck.IsChecked);
|
|
Assert.True(dlg.ClearCookiesCheck.IsChecked);
|
|
Assert.True(dlg.ClearCacheCheck.IsChecked);
|
|
}
|
|
finally
|
|
{
|
|
try { if (Directory.Exists(dataDir)) Directory.Delete(dataDir, true); } catch { }
|
|
}
|
|
});
|
|
}
|
|
|
|
[Fact]
|
|
public void BrowserTaskManagerWindow_태스크_목록_바인딩_및_종료_단추_검증()
|
|
{
|
|
using var sta = StaDispatcher.Start();
|
|
WpfTestApp.Ensure(sta.Dispatcher);
|
|
sta.Invoke(() =>
|
|
{
|
|
var dataDir = Path.Combine(Path.GetTempPath(), $"vd_taskmgr_{System.Guid.NewGuid():N}");
|
|
System.Environment.SetEnvironmentVariable("VD_DATA_DIR", dataDir);
|
|
try
|
|
{
|
|
var tabMgr = new TabManager(() => new TabItem());
|
|
var tab = tabMgr.NewTab("https://github.com");
|
|
tab.Title = "GitHub - Paca";
|
|
|
|
var win = new BrowserTaskManagerWindow(tabMgr);
|
|
Assert.NotNull(win);
|
|
Assert.Equal("작업 관리자 - Paca", win.Title);
|
|
Assert.NotNull(win.TaskList.ItemsSource);
|
|
|
|
var items = win.TaskList.ItemsSource.OfType<BrowserTaskItem>().ToList();
|
|
Assert.Contains(items, i => i.Title == "GitHub - Paca");
|
|
}
|
|
finally
|
|
{
|
|
try { if (Directory.Exists(dataDir)) Directory.Delete(dataDir, true); } catch { }
|
|
}
|
|
});
|
|
}
|
|
|
|
[Fact]
|
|
public void QrCodeDialog_URL과_제목을_전달받아_QR이미지를_정상_생성한다()
|
|
{
|
|
using var sta = StaDispatcher.Start();
|
|
WpfTestApp.Ensure(sta.Dispatcher);
|
|
sta.Invoke(() =>
|
|
{
|
|
var dataDir = Path.Combine(Path.GetTempPath(), $"vd_qrdlg_{System.Guid.NewGuid():N}");
|
|
System.Environment.SetEnvironmentVariable("VD_DATA_DIR", dataDir);
|
|
try
|
|
{
|
|
var dlg = new QrCodeDialog("https://github.com/paca", "GitHub");
|
|
Assert.NotNull(dlg);
|
|
Assert.Equal("이 페이지의 QR 코드", dlg.Title);
|
|
Assert.Equal("https://github.com/paca", dlg.PageUrl);
|
|
Assert.NotNull(dlg.QrImage.Source);
|
|
}
|
|
finally
|
|
{
|
|
try { if (Directory.Exists(dataDir)) Directory.Delete(dataDir, true); } catch { }
|
|
}
|
|
});
|
|
}
|
|
}
|