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); } }