feat(ads/seo/release): v1.2.0 with live Google Ads, isolated ad profile, ads.txt, and SEO/AEO/GEO optimization

This commit is contained in:
Yun Chan 2026-09-14 00:39:44 +09:00
parent a88aafa1e5
commit 0e568f1f0a
975 changed files with 130593 additions and 16783 deletions

View file

@ -0,0 +1,64 @@
using Paca.Browser.Tabs;
using Xunit;
namespace Paca.Tests.Browser;
public class ChromeSiteSecurityEvaluatorTests
{
[Theory]
[InlineData("https://www.google.com")]
[InlineData("https://github.com/Video-Downloader")]
[InlineData("https://youtube.com/watch?v=123")]
public void Evaluate_ReturnsSecure_ForHttps(string url)
{
var status = SiteSecurityEvaluator.Evaluate(url);
Assert.True(status.IsSecure);
Assert.False(status.IsInsecure);
Assert.False(status.IsInternal);
Assert.Equal("\uE72E", status.Glyph);
Assert.Contains("보안 연결됨", status.StatusText);
}
[Theory]
[InlineData("http://neverssl.com")]
[InlineData("http://example.com/test")]
public void Evaluate_ReturnsInsecure_ForHttp(string url)
{
var status = SiteSecurityEvaluator.Evaluate(url);
Assert.False(status.IsSecure);
Assert.True(status.IsInsecure);
Assert.False(status.IsInternal);
Assert.Equal("\uE7BA", status.Glyph);
Assert.Contains("주의 요함", status.StatusText);
}
[Theory]
[InlineData("paca://settings")]
[InlineData("paca://newtab")]
[InlineData("chrome://downloads")]
[InlineData("about:blank")]
public void Evaluate_ReturnsInternal_ForSystemPages(string url)
{
var status = SiteSecurityEvaluator.Evaluate(url);
Assert.False(status.IsSecure);
Assert.False(status.IsInsecure);
Assert.True(status.IsInternal);
Assert.Equal("\uE83D", status.Glyph);
Assert.Contains("시스템", status.StatusText);
}
[Theory]
[InlineData("")]
[InlineData(" ")]
[InlineData(null)]
public void Evaluate_HandlesNullAndEmptySafely(string? url)
{
var status = SiteSecurityEvaluator.Evaluate(url);
Assert.NotNull(status);
Assert.True(status.IsInternal);
}
}