55 lines
1.9 KiB
C#
55 lines
1.9 KiB
C#
using System;
|
|
using System.IO;
|
|
using Paca.App;
|
|
using Paca.Browser.Tabs;
|
|
using Paca.Tests.Infrastructure;
|
|
using Xunit;
|
|
|
|
namespace Paca.Tests.Browser;
|
|
|
|
public class ChromeParityMilestone13Tests
|
|
{
|
|
[Fact]
|
|
public void ToggleTabMute_음소거_토글_정상_동작()
|
|
{
|
|
using var sta = StaDispatcher.Start();
|
|
WpfTestApp.Ensure(sta.Dispatcher);
|
|
sta.Invoke(() =>
|
|
{
|
|
var dataDir = Path.Combine(Path.GetTempPath(), $"vd_mute_{Guid.NewGuid():N}");
|
|
Environment.SetEnvironmentVariable("VD_DATA_DIR", dataDir);
|
|
try
|
|
{
|
|
var win = new MainWindow();
|
|
win.TabsManager.Tabs.Clear();
|
|
var tab = win.TabsManager.NewTab("https://site1.com");
|
|
Assert.False(tab.IsMuted);
|
|
|
|
win.ToggleTabMute(tab);
|
|
Assert.True(tab.IsMuted);
|
|
|
|
win.ToggleTabMute(tab);
|
|
Assert.False(tab.IsMuted);
|
|
}
|
|
finally
|
|
{
|
|
try { if (Directory.Exists(dataDir)) Directory.Delete(dataDir, true); } catch { }
|
|
}
|
|
});
|
|
}
|
|
|
|
[Fact]
|
|
public void MainWindow_XAML_IsMuted_트리거에_Visibility_Visible_포함()
|
|
{
|
|
var xamlPath = SourceTree.AppPath("MainWindow.xaml");
|
|
Assert.True(File.Exists(xamlPath), "MainWindow.xaml 파일이 존재해야 합니다.");
|
|
var xaml = File.ReadAllText(xamlPath);
|
|
|
|
// IsMuted 가 True 일 때 AudioIcon 이 화면에 유지되도록 Visibility Visible 세터가 있어야 함
|
|
Assert.Contains("<DataTrigger Binding=\"{Binding IsMuted}\" Value=\"True\">", xaml);
|
|
var idx = xaml.IndexOf("<DataTrigger Binding=\"{Binding IsMuted}\" Value=\"True\">");
|
|
var endIdx = xaml.IndexOf("</DataTrigger>", idx);
|
|
var block = xaml.Substring(idx, endIdx - idx + 14);
|
|
Assert.Contains("Property=\"Visibility\" Value=\"Visible\"", block);
|
|
}
|
|
}
|