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

51 lines
1.9 KiB
C#

using System;
using System.Linq;
using Paca.Browser.Tabs;
using Xunit;
namespace Paca.Tests.Browser;
public class ChromeTabHoverCardTests
{
[Theory]
[InlineData("https://www.youtube.com/watch?v=dQw4w9WgXcQ", "youtube.com")]
[InlineData("https://news.ycombinator.com/news", "news.ycombinator.com")]
[InlineData("http://localhost:52100/api/tabs", "localhost:52100")]
[InlineData("paca://settings", "paca://settings")]
[InlineData("about:blank", "about:blank")]
public void TabPreview_ExtractsCleanDomain(string url, string expectedDomain)
{
var preview = new TabPreview("테스트 탭", url, IsSuspended: false, IsAudioPlaying: false, IsLocked: false, IsReader: false, IsMuted: false);
Assert.Equal(expectedDomain, preview.Domain);
}
[Fact]
public void TabPreview_Badges_IncludesMemorySavedAndMuted()
{
var preview = new TabPreview("대기 탭", "https://example.com", IsSuspended: true, IsAudioPlaying: false, IsLocked: false, IsReader: false, IsMuted: true);
var badges = preview.GetBadges();
Assert.Contains("메모리 절약됨", badges);
Assert.Contains("음소거됨", badges);
}
[Fact]
public void TabPreview_Badges_IncludesAudioPlaying()
{
var preview = new TabPreview("음악 탭", "https://youtube.com", IsSuspended: false, IsAudioPlaying: true, IsLocked: false, IsReader: false, IsMuted: false);
var badges = preview.GetBadges();
Assert.Contains("오디오 재생 중", badges);
Assert.DoesNotContain("음소거됨", badges);
}
[Fact]
public void TabPreview_BuildTooltipText_FormatsWithDomainAndBadges()
{
var preview = new TabPreview("네이버", "https://www.naver.com", IsSuspended: false, IsAudioPlaying: false, IsLocked: false, IsReader: false, IsMuted: false);
var text = preview.BuildTooltipText();
Assert.Contains("네이버", text);
Assert.Contains("naver.com", text);
}
}