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:
parent
a88aafa1e5
commit
0e568f1f0a
975 changed files with 130593 additions and 16783 deletions
78
tests/Paca.Tests/Browser/ChromeParityMilestone10Tests.cs
Normal file
78
tests/Paca.Tests/Browser/ChromeParityMilestone10Tests.cs
Normal file
|
|
@ -0,0 +1,78 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Windows.Controls;
|
||||
using Paca.App;
|
||||
using Paca.Browser;
|
||||
using Paca.Browser.Tabs;
|
||||
using Paca.Tests.Infrastructure;
|
||||
using Xunit;
|
||||
|
||||
namespace Paca.Tests.Browser;
|
||||
|
||||
public class ChromeParityMilestone10Tests
|
||||
{
|
||||
[Fact]
|
||||
public void BuildTabContextMenu_새창으로_이동_및_절전모드_전환_옵션_포함()
|
||||
{
|
||||
using var sta = StaDispatcher.Start();
|
||||
WpfTestApp.Ensure(sta.Dispatcher);
|
||||
sta.Invoke(() =>
|
||||
{
|
||||
var dataDir = Path.Combine(Path.GetTempPath(), $"vd_tab_win_{Guid.NewGuid():N}");
|
||||
Environment.SetEnvironmentVariable("VD_DATA_DIR", dataDir);
|
||||
try
|
||||
{
|
||||
var win = new MainWindow();
|
||||
win.TabsManager.Tabs.Clear();
|
||||
var t1 = win.TabsManager.NewTab("https://site1.com");
|
||||
var t2 = win.TabsManager.NewTab("https://site2.com");
|
||||
|
||||
var menu = win.BuildTabContextMenu(t1);
|
||||
var items = menu.Items.OfType<MenuItem>().Select(m => m.Header?.ToString()).ToList();
|
||||
|
||||
Assert.Contains("새 창으로 탭 이동", items);
|
||||
Assert.Contains("탭 절전 모드로 전환", items);
|
||||
}
|
||||
finally
|
||||
{
|
||||
try { if (Directory.Exists(dataDir)) Directory.Delete(dataDir, true); } catch { }
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void DiscardTab_활성탭은_절전불가_비활성탭은_절전모드로_전환된다()
|
||||
{
|
||||
using var sta = StaDispatcher.Start();
|
||||
WpfTestApp.Ensure(sta.Dispatcher);
|
||||
sta.Invoke(() =>
|
||||
{
|
||||
var dataDir = Path.Combine(Path.GetTempPath(), $"vd_discard_{Guid.NewGuid():N}");
|
||||
Environment.SetEnvironmentVariable("VD_DATA_DIR", dataDir);
|
||||
try
|
||||
{
|
||||
var win = new MainWindow();
|
||||
win.TabsManager.Tabs.Clear();
|
||||
var t1 = win.TabsManager.NewTab("https://site1.com");
|
||||
var t2 = win.TabsManager.NewTab("https://site2.com");
|
||||
|
||||
win.TabsManager.Activate(t1);
|
||||
|
||||
// t1은 현재 활성 탭이므로 절전 전환 거부(Chrome 메모리 세이버 사양)
|
||||
var discardedActive = win.DiscardTab(t1);
|
||||
Assert.False(discardedActive);
|
||||
Assert.False(t1.IsSuspended);
|
||||
|
||||
// t2는 비활성 탭이므로 절전 전환 성공
|
||||
var discardedInactive = win.DiscardTab(t2);
|
||||
Assert.True(discardedInactive);
|
||||
Assert.True(t2.IsSuspended);
|
||||
}
|
||||
finally
|
||||
{
|
||||
try { if (Directory.Exists(dataDir)) Directory.Delete(dataDir, true); } catch { }
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue