releases/tests/Paca.Tests/Browser/ChromeParityMilestone14Tests.cs

44 lines
1.9 KiB
C#

using System;
using System.IO;
using Paca.Browser;
using Paca.Tests.Infrastructure;
using Xunit;
namespace Paca.Tests.Browser;
public class ChromeParityMilestone14Tests
{
[Theory]
[InlineData("https://example.com/watch?v=12345&utm_source=twitter&utm_medium=social&si=abc", "https://example.com/watch?v=12345")]
[InlineData("https://example.com/search?q=hello&fbclid=xyz987", "https://example.com/search?q=hello")]
[InlineData("https://example.com/article?gclid=test1234&msclkid=test5678", "https://example.com/article")]
[InlineData("https://example.com/page?id=42&igshid=abc#section", "https://example.com/page?id=42#section")]
[InlineData("https://example.com/clean?no_tracking=1", "https://example.com/clean?no_tracking=1")]
public void UrlCleaner_StripTrackingParams_추적파라미터만_정밀_제거(string input, string expected)
{
var cleaned = UrlCleaner.StripTrackingParams(input);
Assert.Equal(expected, cleaned);
}
[Fact]
public void MainWindow_AddressBox_AltEnter_새탭_핸들러_검증()
{
var csPath = SourceTree.AppPath("MainWindow.xaml.cs");
Assert.True(File.Exists(csPath), "MainWindow.xaml.cs 파일이 존재해야 합니다.");
var code = File.ReadAllText(csPath);
// AddressBox_PreviewKeyDown 내에서 Alt+Enter 또는 Shift+Enter 로 새 탭/새 창 네비게이션이 분기되어야 함
Assert.Contains("ModifierKeys.Alt", code);
Assert.Contains("NewTab", code);
}
[Fact]
public void MainWindow_AddressBox_ContextMenu_추적파라미터제거_복사_항목_존재()
{
var xamlPath = SourceTree.AppPath("MainWindow.xaml");
Assert.True(File.Exists(xamlPath), "MainWindow.xaml 파일이 존재해야 합니다.");
var xaml = File.ReadAllText(xamlPath);
Assert.Contains("추적 파라미터 제거 링크 복사", xaml);
}
}