Fix autotests

This also helped in finding issues in parsing
This commit is contained in:
Luca Beltrame 2020-08-19 16:34:18 +02:00
parent 8a90270260
commit efb10a0768
Signed by: einar
GPG key ID: 4707F46E9EC72DEC
3 changed files with 21 additions and 39 deletions

View file

@ -12,4 +12,4 @@ ecm_add_test(test_danbooru_pool.cpp LINK_LIBRARIES
Qt5::Test
Qt5::Core
danbooru
TEST_NAME test_danbooru_pool)
TEST_NAME test_danbooru_pool)

View file

@ -50,10 +50,13 @@ void TestDanbooruPost::testPostLoading()
QFAIL("JSON file failed to load");
}
QFETCH(Danbooru::ApiType, apiType);
QFETCH(QUrl, boardUrl);
auto post = new Danbooru::DanbooruPost(data, apiType);
auto dataMap = Danbooru::extractPostData(data, apiType);
auto post = new Danbooru::DanbooruPost(dataMap);
Danbooru::fixPostUrl(post, boardUrl);
QFETCH(int, postId);
@ -64,7 +67,7 @@ void TestDanbooruPost::testPostLoading()
QFETCH(QUrl, fileUrl);
QFETCH(QUrl, thumbnailUrl);
QFETCH(QUrl, sampleUrl);
QFETCH(Danbooru::DanbooruPost::Rating, rating);
QFETCH(Danbooru::Rating, rating);
QCOMPARE(post->id(), postId);
QCOMPARE(post->width(), postWidth);
@ -100,7 +103,9 @@ void TestDanbooruPost::testPostLoadingXml()
QFETCH(QUrl, boardUrl);
auto post = new Danbooru::DanbooruPost(contents, apiType);
auto dataMap = Danbooru::extractPostData(contents, apiType);
auto post = new Danbooru::DanbooruPost(dataMap);
Danbooru::fixPostUrl(post, boardUrl);
QFETCH(int, postId);
@ -111,7 +116,7 @@ void TestDanbooruPost::testPostLoadingXml()
QFETCH(QUrl, fileUrl);
QFETCH(QUrl, thumbnailUrl);
QFETCH(QUrl, sampleUrl);
QFETCH(Danbooru::DanbooruPost::Rating, rating);
QFETCH(Danbooru::Rating, rating);
QCOMPARE(post->id(), postId);
QCOMPARE(post->width(), postWidth);
@ -139,12 +144,12 @@ void TestDanbooruPost::testPostLoading_data()
QTest::addColumn<QUrl>("fileUrl");
QTest::addColumn<QUrl>("thumbnailUrl");
QTest::addColumn<QUrl>("sampleUrl");
QTest::addColumn<Danbooru::DanbooruPost::Rating>("rating");
QTest::addColumn<Danbooru::Rating>("rating");
QTest::addColumn<QUrl>("boardUrl");
// Konachan.com / yande.re
QTest::newRow("konachan") << "data/konachan.json" // jsonFile
<< Danbooru::ApiType::KonachanDanbooru
<< Danbooru::MoeBooru
<< 205621 // id
<< 1280 // width
<< 720 // height
@ -154,12 +159,12 @@ void TestDanbooruPost::testPostLoading_data()
<< QUrl("http://konachan.net/image/eb36c568af4f4e4ea2f59eda7d8c802d/Konachan.com%20-%20205621%20azuki_%28sayori%29%20coconut_%28sayori%29%20game_cg%20nekopara%20sayori.png")
<< QUrl("http://konachan.net/data/preview/eb/36/eb36c568af4f4e4ea2f59eda7d8c802d.jpg")
<< QUrl("http://konachan.net/jpeg/eb36c568af4f4e4ea2f59eda7d8c802d/Konachan.com%20-%20205621%20azuki_%28sayori%29%20coconut_%28sayori%29%20game_cg%20nekopara%20sayori.jpg")
<< Danbooru::DanbooruPost::Safe
<< Danbooru::Safe
<< QUrl("http://konachan.com");
// Danbooru
QTest::newRow("danbooru") << "data/donmai.json"
<< Danbooru::ApiType::OriginalDanbooru
<< Danbooru::Danbooru
<< 2106872
<< 1200
<< 993
@ -173,7 +178,7 @@ void TestDanbooruPost::testPostLoading_data()
<< QUrl("http://danbooru.donmai.us/data/7ee70315eba5ea4fbda7cd6011c8d833.jpg")
<< QUrl("http://danbooru.donmai.us/data/preview/7ee70315eba5ea4fbda7cd6011c8d833.jpg")
<< QUrl("http://danbooru.donmai.us/data/sample/sample-7ee70315eba5ea4fbda7cd6011c8d833.jpg")
<< Danbooru::DanbooruPost::Safe
<< Danbooru::Safe
<< QUrl("http://danbooru.donmai.us");
// Gelbooru
@ -192,12 +197,12 @@ void TestDanbooruPost::testPostLoadingXml_data()
QTest::addColumn<QUrl>("fileUrl");
QTest::addColumn<QUrl>("thumbnailUrl");
QTest::addColumn<QUrl>("sampleUrl");
QTest::addColumn<Danbooru::DanbooruPost::Rating>("rating");
QTest::addColumn<Danbooru::Rating>("rating");
QTest::addColumn<QUrl>("boardUrl");
// Konachan.com / yande.re
QTest::newRow("konachan") << "data/konachan.xml" // jsonFile
<< Danbooru::ApiType::KonachanDanbooru
<< Danbooru::MoeBooru
<< 205776 // id
<< 1200 // width
<< 900 // height
@ -208,12 +213,12 @@ void TestDanbooruPost::testPostLoadingXml_data()
<< QUrl("http://konachan.net/image/ef374c49e410b125c5a8d48c692c2a60/Konachan.com%20-%20205776%20bloomers%20gym_uniform%20lemon_tea%20purple_eyes%20purple_hair%20short_hair%20socks%20sport.jpg")
<< QUrl("http://konachan.net/data/preview/ef/37/ef374c49e410b125c5a8d48c692c2a60.jpg")
<< QUrl("http://konachan.net/image/ef374c49e410b125c5a8d48c692c2a60/Konachan.com%20-%20205776%20bloomers%20gym_uniform%20lemon_tea%20purple_eyes%20purple_hair%20short_hair%20socks%20sport.jpg")
<< Danbooru::DanbooruPost::Safe
<< Danbooru::Safe
<< QUrl("http://konachan.com");
// Danbooru
QTest::newRow("danbooru") << "data/donmai.xml"
<< Danbooru::ApiType::OriginalDanbooru
<< Danbooru::Danbooru
<< 2107611
<< 1000
<< 1524
@ -226,33 +231,9 @@ void TestDanbooruPost::testPostLoadingXml_data()
<< QUrl("http://danbooru.donmai.us/data/0f9dbcbd1bad31fe266af9878422039f.png")
<< QUrl("http://danbooru.donmai.us/data/preview/0f9dbcbd1bad31fe266af9878422039f.jpg")
<< QUrl("http://danbooru.donmai.us/data/sample/sample-0f9dbcbd1bad31fe266af9878422039f.jpg")
<< Danbooru::DanbooruPost::Safe
<< Danbooru::Safe
<< QUrl("http://danbooru.donmai.us");
// Gelbooru
QTest::newRow("gelbooru") << "data/gelbooru.xml"
<< Danbooru::ApiType::Gelbooru
<< 2825488
<< 2483
<< 3500
<< 0
<< QSet<QString>({"2girls", "absurdres", "ahoge", "artist_request", "bikini",
"blonde_hair", "blush", "braid", "building", "cameltoe",
"character_request", "city", "cloud", "cover",
"cover_page", "eating", "flat_chest", "food",
"hair_intakes", "highres", "ice_cream", "ice_cream_cone",
"leaning_forward", "leg_lift", "licking", "long_hair",
"looking_at_viewer", "multiple_girls", "navel", "open_mouth",
"outdoors", "red_eyes", "ribbon", "sandals", "school_swimsuit",
"side-tie_bikini", "silver_hair", "sky", "skyscraper",
"smile", "swimsuit", "thigh_gap", "tongue", "twin_braids",
"twintails", "two_side_up", "very_long_hair"})
<< QUrl("http://gelbooru.com/images/92/ba/92ba4abfcb084ee49c0d3c1a08bcc3bf.jpg")
<< QUrl("http://gelbooru.com/thumbnails/92/ba/thumbnail_92ba4abfcb084ee49c0d3c1a08bcc3bf.jpg")
<< QUrl("http://gelbooru.com/samples/92/ba/sample_92ba4abfcb084ee49c0d3c1a08bcc3bf.jpg")
<< Danbooru::DanbooruPost::Safe
<< QUrl("http://gelbooru.com");
}

View file

@ -20,6 +20,7 @@
#ifndef DANBOORU_TEST_POST_H
#define DANBOORU_TEST_POST_H
#include <QObject>
#include <QTest>
namespace Danbooru {