From efb10a0768f63a99cf1681c9db61867cefe52092 Mon Sep 17 00:00:00 2001 From: Luca Beltrame Date: Wed, 19 Aug 2020 16:34:18 +0200 Subject: [PATCH] Fix autotests This also helped in finding issues in parsing --- src/libdanbooru/autotests/CMakeLists.txt | 2 +- .../autotests/test_danbooru_post.cpp | 57 +++++++------------ .../autotests/test_danbooru_post.h | 1 + 3 files changed, 21 insertions(+), 39 deletions(-) diff --git a/src/libdanbooru/autotests/CMakeLists.txt b/src/libdanbooru/autotests/CMakeLists.txt index 491fbbf..73dac79 100644 --- a/src/libdanbooru/autotests/CMakeLists.txt +++ b/src/libdanbooru/autotests/CMakeLists.txt @@ -12,4 +12,4 @@ ecm_add_test(test_danbooru_pool.cpp LINK_LIBRARIES Qt5::Test Qt5::Core danbooru - TEST_NAME test_danbooru_pool) \ No newline at end of file + TEST_NAME test_danbooru_pool) diff --git a/src/libdanbooru/autotests/test_danbooru_post.cpp b/src/libdanbooru/autotests/test_danbooru_post.cpp index c8a73e9..2a2262a 100644 --- a/src/libdanbooru/autotests/test_danbooru_post.cpp +++ b/src/libdanbooru/autotests/test_danbooru_post.cpp @@ -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("fileUrl"); QTest::addColumn("thumbnailUrl"); QTest::addColumn("sampleUrl"); - QTest::addColumn("rating"); + QTest::addColumn("rating"); QTest::addColumn("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("fileUrl"); QTest::addColumn("thumbnailUrl"); QTest::addColumn("sampleUrl"); - QTest::addColumn("rating"); + QTest::addColumn("rating"); QTest::addColumn("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({"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"); } diff --git a/src/libdanbooru/autotests/test_danbooru_post.h b/src/libdanbooru/autotests/test_danbooru_post.h index 152ee4e..d072f98 100644 --- a/src/libdanbooru/autotests/test_danbooru_post.h +++ b/src/libdanbooru/autotests/test_danbooru_post.h @@ -20,6 +20,7 @@ #ifndef DANBOORU_TEST_POST_H #define DANBOORU_TEST_POST_H +#include #include namespace Danbooru {