44 lines
1.9 KiB
C#
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);
|
|
}
|
|
}
|