46 lines
1.8 KiB
C#
46 lines
1.8 KiB
C#
using System;
|
|
using System.IO;
|
|
using System.Windows;
|
|
using Paca.App;
|
|
using Paca.Browser;
|
|
using Paca.Browser.Tabs;
|
|
using Paca.Tests.Infrastructure;
|
|
using Xunit;
|
|
|
|
namespace Paca.Tests.Browser;
|
|
|
|
public class ChromeParityMilestone9Tests
|
|
{
|
|
[Theory]
|
|
[InlineData("https://sub.example.com:8080/path?q=1", "sub.example.com")]
|
|
[InlineData("http://localhost:3000/", "localhost")]
|
|
[InlineData("https://www.google.com/search?q=test", "www.google.com")]
|
|
[InlineData("https://naver.com", "naver.com")]
|
|
public void SiteCookieCleaner_NormalizeDomain_올바른_호스트를_추출한다(string url, string expectedDomain)
|
|
{
|
|
var domain = SiteCookieCleaner.NormalizeDomain(url);
|
|
Assert.Equal(expectedDomain, domain);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(".example.com", "example.com", true)]
|
|
[InlineData(".example.com", "sub.example.com", true)]
|
|
[InlineData("example.com", "example.com", true)]
|
|
[InlineData("other.com", "example.com", false)]
|
|
[InlineData("notexample.com", "example.com", false)]
|
|
[InlineData(".google.com", "mail.google.com", true)]
|
|
public void SiteCookieCleaner_MatchDomain_도메인_일치여부를_정확히_판정한다(string cookieDomain, string targetHost, bool expectedMatch)
|
|
{
|
|
var matches = SiteCookieCleaner.MatchDomain(cookieDomain, targetHost);
|
|
Assert.Equal(expectedMatch, matches);
|
|
}
|
|
|
|
[Fact]
|
|
public void MainWindow_Xaml_고정탭은_닫기버튼이_숨김_처리된다()
|
|
{
|
|
var mwXaml = File.ReadAllText(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "../../../../../src/Paca.App/MainWindow.xaml"));
|
|
Assert.Contains("x:Name=\"TabCloseBtn\"", mwXaml);
|
|
Assert.Contains("Binding=\"{Binding IsPinned}\"", mwXaml);
|
|
Assert.Contains("TargetName=\"TabCloseBtn\"", mwXaml);
|
|
}
|
|
}
|