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::Test
Qt5::Core Qt5::Core
danbooru 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"); QFAIL("JSON file failed to load");
} }
QFETCH(Danbooru::ApiType, apiType); QFETCH(Danbooru::ApiType, apiType);
QFETCH(QUrl, boardUrl); 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); Danbooru::fixPostUrl(post, boardUrl);
QFETCH(int, postId); QFETCH(int, postId);
@ -64,7 +67,7 @@ void TestDanbooruPost::testPostLoading()
QFETCH(QUrl, fileUrl); QFETCH(QUrl, fileUrl);
QFETCH(QUrl, thumbnailUrl); QFETCH(QUrl, thumbnailUrl);
QFETCH(QUrl, sampleUrl); QFETCH(QUrl, sampleUrl);
QFETCH(Danbooru::DanbooruPost::Rating, rating); QFETCH(Danbooru::Rating, rating);
QCOMPARE(post->id(), postId); QCOMPARE(post->id(), postId);
QCOMPARE(post->width(), postWidth); QCOMPARE(post->width(), postWidth);
@ -100,7 +103,9 @@ void TestDanbooruPost::testPostLoadingXml()
QFETCH(QUrl, boardUrl); 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); Danbooru::fixPostUrl(post, boardUrl);
QFETCH(int, postId); QFETCH(int, postId);
@ -111,7 +116,7 @@ void TestDanbooruPost::testPostLoadingXml()
QFETCH(QUrl, fileUrl); QFETCH(QUrl, fileUrl);
QFETCH(QUrl, thumbnailUrl); QFETCH(QUrl, thumbnailUrl);
QFETCH(QUrl, sampleUrl); QFETCH(QUrl, sampleUrl);
QFETCH(Danbooru::DanbooruPost::Rating, rating); QFETCH(Danbooru::Rating, rating);
QCOMPARE(post->id(), postId); QCOMPARE(post->id(), postId);
QCOMPARE(post->width(), postWidth); QCOMPARE(post->width(), postWidth);
@ -139,12 +144,12 @@ void TestDanbooruPost::testPostLoading_data()
QTest::addColumn<QUrl>("fileUrl"); QTest::addColumn<QUrl>("fileUrl");
QTest::addColumn<QUrl>("thumbnailUrl"); QTest::addColumn<QUrl>("thumbnailUrl");
QTest::addColumn<QUrl>("sampleUrl"); QTest::addColumn<QUrl>("sampleUrl");
QTest::addColumn<Danbooru::DanbooruPost::Rating>("rating"); QTest::addColumn<Danbooru::Rating>("rating");
QTest::addColumn<QUrl>("boardUrl"); QTest::addColumn<QUrl>("boardUrl");
// Konachan.com / yande.re // Konachan.com / yande.re
QTest::newRow("konachan") << "data/konachan.json" // jsonFile QTest::newRow("konachan") << "data/konachan.json" // jsonFile
<< Danbooru::ApiType::KonachanDanbooru << Danbooru::MoeBooru
<< 205621 // id << 205621 // id
<< 1280 // width << 1280 // width
<< 720 // height << 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/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/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") << 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"); << QUrl("http://konachan.com");
// Danbooru // Danbooru
QTest::newRow("danbooru") << "data/donmai.json" QTest::newRow("danbooru") << "data/donmai.json"
<< Danbooru::ApiType::OriginalDanbooru << Danbooru::Danbooru
<< 2106872 << 2106872
<< 1200 << 1200
<< 993 << 993
@ -173,7 +178,7 @@ void TestDanbooruPost::testPostLoading_data()
<< QUrl("http://danbooru.donmai.us/data/7ee70315eba5ea4fbda7cd6011c8d833.jpg") << QUrl("http://danbooru.donmai.us/data/7ee70315eba5ea4fbda7cd6011c8d833.jpg")
<< QUrl("http://danbooru.donmai.us/data/preview/7ee70315eba5ea4fbda7cd6011c8d833.jpg") << QUrl("http://danbooru.donmai.us/data/preview/7ee70315eba5ea4fbda7cd6011c8d833.jpg")
<< QUrl("http://danbooru.donmai.us/data/sample/sample-7ee70315eba5ea4fbda7cd6011c8d833.jpg") << QUrl("http://danbooru.donmai.us/data/sample/sample-7ee70315eba5ea4fbda7cd6011c8d833.jpg")
<< Danbooru::DanbooruPost::Safe << Danbooru::Safe
<< QUrl("http://danbooru.donmai.us"); << QUrl("http://danbooru.donmai.us");
// Gelbooru // Gelbooru
@ -192,12 +197,12 @@ void TestDanbooruPost::testPostLoadingXml_data()
QTest::addColumn<QUrl>("fileUrl"); QTest::addColumn<QUrl>("fileUrl");
QTest::addColumn<QUrl>("thumbnailUrl"); QTest::addColumn<QUrl>("thumbnailUrl");
QTest::addColumn<QUrl>("sampleUrl"); QTest::addColumn<QUrl>("sampleUrl");
QTest::addColumn<Danbooru::DanbooruPost::Rating>("rating"); QTest::addColumn<Danbooru::Rating>("rating");
QTest::addColumn<QUrl>("boardUrl"); QTest::addColumn<QUrl>("boardUrl");
// Konachan.com / yande.re // Konachan.com / yande.re
QTest::newRow("konachan") << "data/konachan.xml" // jsonFile QTest::newRow("konachan") << "data/konachan.xml" // jsonFile
<< Danbooru::ApiType::KonachanDanbooru << Danbooru::MoeBooru
<< 205776 // id << 205776 // id
<< 1200 // width << 1200 // width
<< 900 // height << 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/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/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") << 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"); << QUrl("http://konachan.com");
// Danbooru // Danbooru
QTest::newRow("danbooru") << "data/donmai.xml" QTest::newRow("danbooru") << "data/donmai.xml"
<< Danbooru::ApiType::OriginalDanbooru << Danbooru::Danbooru
<< 2107611 << 2107611
<< 1000 << 1000
<< 1524 << 1524
@ -226,33 +231,9 @@ void TestDanbooruPost::testPostLoadingXml_data()
<< QUrl("http://danbooru.donmai.us/data/0f9dbcbd1bad31fe266af9878422039f.png") << QUrl("http://danbooru.donmai.us/data/0f9dbcbd1bad31fe266af9878422039f.png")
<< QUrl("http://danbooru.donmai.us/data/preview/0f9dbcbd1bad31fe266af9878422039f.jpg") << QUrl("http://danbooru.donmai.us/data/preview/0f9dbcbd1bad31fe266af9878422039f.jpg")
<< QUrl("http://danbooru.donmai.us/data/sample/sample-0f9dbcbd1bad31fe266af9878422039f.jpg") << QUrl("http://danbooru.donmai.us/data/sample/sample-0f9dbcbd1bad31fe266af9878422039f.jpg")
<< Danbooru::DanbooruPost::Safe << Danbooru::Safe
<< QUrl("http://danbooru.donmai.us"); << 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 #ifndef DANBOORU_TEST_POST_H
#define DANBOORU_TEST_POST_H #define DANBOORU_TEST_POST_H
#include <QObject>
#include <QTest> #include <QTest>
namespace Danbooru { namespace Danbooru {