コード例 #1
0
        public async Task CanListAllEden()
        {
            var k    = new MangaScraper.Core.Scrapers.Manga.Eden.SeriesParser();
            var docs = await k.ListInstances(Client.GetDocumentAsync, new Progress <double>());


            Assert.NotEmpty(docs);
        }
コード例 #2
0
        public async Task EdenHandlesNotFound()
        {
            ISeriesParser k      = new MangaScraper.Core.Scrapers.Manga.Eden.SeriesParser();
            var           naruto = k.CreateChapter("https://www.mangaeden.com/en/en-manga/naruto/");
            var           docs   = await naruto.GetPageCount(Client.GetDocumentAsync);

            var page = await Client.GetDocumentAsync("https://www.mangaeden.com/en/en-manga/naruto/");

            var urls = k.ChapterUrls(page).ToList();

            Assert.Equal(0, docs);
            Assert.Empty(urls);
        }
コード例 #3
0
        public void TestEden1()
        {
            var k  = new MangaScraper.Core.Scrapers.Manga.Eden.SeriesParser();
            var di = new DirectoryInfo(Path.Combine(Directory.GetCurrentDirectory(), "TestData")).GetFiles()
                     .First(f => f.Name.Contains("eden1.html"));
            var parser = new HtmlParser();

            using (var s = di.OpenRead()) {
                var doc = parser.ParseDocument(s);
                var d   = k.GetMetaData(doc);
                Assert.Equal("OHKUBO Atsushi", d.Author);
                Assert.NotEmpty(d.Blurb);
            }
        }
コード例 #4
0
        public async Task CanParseAllEden()
        {
            IMetaDataParser k    = new MangaScraper.Core.Scrapers.Manga.Eden.SeriesParser();
            var             docs = await k.ListInstances(Client.GetDocumentAsync, new Progress <double>());

            var faiList = new List <string>();
            await docs.Batch(50)
            .Transform(async t => {
                try {
                    k.GetMetaData(await Client.GetDocumentAsync(t.url));
                }
                catch (Exception e) {
                    Console.WriteLine(e);
                    faiList.Add(t.url);
                }

                return(0);
            },
                       CancellationToken.None,
                       null,
                       0);

            Assert.Empty(faiList);
        }