Added NatoManga page provider logic. Fixed UI font configuration.

This commit is contained in:
2025-06-09 09:58:23 -04:00
parent c26ed11bfc
commit 000a20bb0f
7 changed files with 100 additions and 11 deletions

View File

@@ -31,7 +31,7 @@
<EmbeddedResource Include="Sources\MangaDex\Api\Manga-Cover-Art-Response.json" />
<EmbeddedResource Include="Sources\MangaDex\Api\Manga-Search-Response-2.json" />
<EmbeddedResource Include="Sources\MangaDex\Api\Manga-Search-Response.json" />
<EmbeddedResource Include="Sources\NatoManga\Metadata\Manga-Chapter-Response.html" />
<EmbeddedResource Include="Sources\NatoManga\Pages\Manga-Chapter-Response.html" />
<EmbeddedResource Include="Sources\NatoManga\Api\Manga-Search-Response.json" />
<EmbeddedResource Include="Sources\MangaDex\Api\Manga-Feed-Response.json" />
<EmbeddedResource Include="Sources\MangaDex\Api\Manga-Response.json" />

View File

@@ -0,0 +1,35 @@
using MangaReader.Core.Http;
using MangaReader.Core.Sources.NatoManga.Pages;
using MangaReader.Tests.Utilities;
using NSubstitute;
using Shouldly;
namespace MangaReader.Tests.Sources.NatoManga.Pages;
public class NatoMangaPageTests
{
[Fact]
public async Task Get_Pages()
{
string mangaHtml = await ReadJsonResourceAsync("Manga-Chapter-Response.html");
IHttpService httpService = Substitute.For<IHttpService>();
httpService.GetStringAsync(Arg.Any<string>(), CancellationToken.None)
.Returns(Task.FromResult(mangaHtml));
HtmlLoader htmlLoader = new(httpService);
NatoMangaPageProvider pageProvider = new(htmlLoader);
IReadOnlyList<string> pageImageUrls = await pageProvider.GetPageImageUrlsAsync("/test-url", CancellationToken.None);
pageImageUrls.Count.ShouldBe(13);
pageImageUrls[0].ShouldBe("https://img-r1.2xstorage.com/gal-cant-be-kind-to-otaku/69/0.webp");
pageImageUrls[12].ShouldBe("https://img-r1.2xstorage.com/gal-cant-be-kind-to-otaku/69/12.webp");
}
private static async Task<string> ReadJsonResourceAsync(string resourceName)
{
return await ResourceHelper.ReadJsonResourceAsync($"MangaReader.Tests.Sources.NatoManga.Pages.{resourceName}");
}
}