Add WinUI and core source
build-winui / winui (push) Has been cancelled
build-winui / winui (push) Has been cancelled
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||
using YMhut.Box.Core.Api;
|
||||
using YMhut.Box.Core.Tools;
|
||||
|
||||
namespace YMhut.Box.Tests;
|
||||
|
||||
[TestClass]
|
||||
public sealed class ToolRemoteRankingTests
|
||||
{
|
||||
[TestMethod]
|
||||
public void HotboardUsesPlatformSelectionBeforeRunning()
|
||||
{
|
||||
var module = new ToolCatalog().GetById("hotboard")!;
|
||||
var spec = ToolPageSpecCatalog.For(module);
|
||||
|
||||
Assert.AreEqual(ToolPrimaryInputKind.FixedOptions, spec.PrimaryInput);
|
||||
Assert.IsFalse(spec.AutoRunOnOpen);
|
||||
Assert.IsTrue(spec.Parameters.Any(parameter =>
|
||||
parameter.Key == "preset" &&
|
||||
parameter.Options.Any(option => option.Value == "百度")));
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void HotboardPlatformResolvesDailyHotTitleParameter()
|
||||
{
|
||||
var ok = ApiEndpoints.TryResolve("hotboard", "百度", out var endpoint, out var uri);
|
||||
|
||||
Assert.IsTrue(ok);
|
||||
Assert.AreEqual("hotboard", endpoint.Id);
|
||||
StringAssert.Contains(Uri.UnescapeDataString(uri.Query), "title=百度");
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void DailyHotRankingKeepsPublicUriOutOfVisibleTitle()
|
||||
{
|
||||
Assert.IsTrue(ApiEndpoints.TryGet("hotboard", out var endpoint));
|
||||
var uri = new Uri("https://example.invalid/api/dailyhot?title=test");
|
||||
var response = new ApiResponse(
|
||||
endpoint.Id,
|
||||
uri,
|
||||
Success: true,
|
||||
Content: string.Empty,
|
||||
Error: null,
|
||||
FetchedAt: DateTimeOffset.UnixEpoch);
|
||||
var document = ToolResultBuilder.FromRemote(
|
||||
endpoint,
|
||||
response,
|
||||
"""
|
||||
1. YMhut 发布新版本 / 热度 999 / https://example.com/news?id=1
|
||||
2. 第二条 https://example.com/news?id=2
|
||||
""");
|
||||
|
||||
var ranked = document.Blocks.First(block => block.Kind == ToolResultBlockKind.RankedList);
|
||||
var first = ranked.Items[0];
|
||||
|
||||
Assert.AreEqual("https://example.com/news?id=1", first.Uri);
|
||||
Assert.IsFalse(first.Title.Contains("https://", StringComparison.OrdinalIgnoreCase));
|
||||
Assert.IsTrue(ranked.Items.All(item => !item.Title.Contains("https://", StringComparison.OrdinalIgnoreCase)));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user