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

48 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 ChromeParityMilestone18Tests
{
[Fact]
public void GetSuggestions_chrome_스킴_입력시_내부페이지_전체_제안()
{
var suggestions = ChromeInternalUrlRouter.GetSuggestions("chrome://");
Assert.NotEmpty(suggestions);
Assert.Contains(suggestions, s => s.Url == "chrome://downloads");
Assert.Contains(suggestions, s => s.Url == "chrome://history");
Assert.Contains(suggestions, s => s.Url == "chrome://settings");
Assert.Contains(suggestions, s => s.Url == "chrome://bookmarks");
}
[Fact]
public void GetSuggestions_키워드_부분일치_정상_필터링()
{
var suggestions = ChromeInternalUrlRouter.GetSuggestions("chrome://down");
Assert.Single(suggestions);
Assert.Equal("chrome://downloads", suggestions[0].Url);
Assert.Contains("다운로드", suggestions[0].Title);
var pacaSuggestions = ChromeInternalUrlRouter.GetSuggestions("paca://set");
Assert.Contains(pacaSuggestions, s => s.Url == "paca://settings");
Assert.Contains(pacaSuggestions, s => s.Url == "paca://settings/content");
var pacaContentSuggestions = ChromeInternalUrlRouter.GetSuggestions("paca://settings/c");
Assert.Single(pacaContentSuggestions);
Assert.Equal("paca://settings/content", pacaContentSuggestions[0].Url);
}
[Fact]
public void MainWindow_UpdateSuggestions_내부페이지_제안_통합_검증()
{
var csPath = SourceTree.AppPath("MainWindow.xaml.cs");
Assert.True(File.Exists(csPath), "MainWindow.xaml.cs 파일이 존재해야 합니다.");
var code = File.ReadAllText(csPath);
Assert.Contains("ChromeInternalUrlRouter.GetSuggestions", code);
}
}