File indexing completed on 2024-04-21 04:54:20
0001 /* 0002 SPDX-FileCopyrightText: 2006 Richard Lärkäng <nouseforaname@home.se> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #include "musicbrainztest-fulldate.h" 0008 #include "libkcddb/client.h" 0009 #include "libkcddb/cache.h" 0010 #include "libkcddb/lookup.h" 0011 #include "config-musicbrainz.h" 0012 #include <QTest> 0013 0014 void MusicBrainzTestFullDate::testLookup() 0015 { 0016 using namespace KCDDB; 0017 0018 #ifndef HAVE_MUSICBRAINZ5 0019 QSKIP("This test requires libmusicbrainz", SkipAll); 0020 #endif 0021 0022 Client c; 0023 c.config().setCacheLookupEnabled(false); 0024 c.config().setFreedbLookupEnabled(false); 0025 c.config().setMusicBrainzLookupEnabled(true); 0026 0027 TrackOffsetList list; 0028 0029 list << 0030 150 << 0031 11837 << 0032 20687 << 0033 29120 << 0034 35557 << 0035 50087 << 0036 58550 << 0037 72575 << 0038 81887 << 0039 95745 << 0040 104340 << 0041 115425 << 0042 124285 << 0043 132317 << 0044 142692 << 0045 160272 << 0046 169325 << 0047 181377 << 0048 194482 << 0049 205747 << 0050 216492 << 0051 229507 << 0052 242715 << 0053 252112 << 0054 274965 << 0055 285820 << 0056 308957 << 0057 322362 << 0058 338662 << 0059 350172 << 0060 356692; 0061 0062 Result r = c.lookup(list); 0063 0064 QVERIFY(r == Success); 0065 0066 qDebug() << "Client::lookup gave : " << resultToString(r); 0067 0068 CDInfoList response = c.lookupResponse(); 0069 0070 qDebug() << "Client::lookup returned : " << response.count() << " entries"; 0071 0072 QVERIFY(response.count() > 0); 0073 0074 // See https://musicbrainz.org/release/04319e80-0948-4e89-8180-7cf6f17fc77a for changes 0075 CDInfo i(response.first()); 0076 QCOMPARE(i.numberOfTracks(),30); 0077 0078 QCOMPARE(i.get(Artist).toString(),QString::fromUtf8("Troublemakers")); 0079 QCOMPARE(i.get(Title).toString(),QString::fromUtf8("30")); 0080 // genre not really supported for musicbrainz 0081 QCOMPARE(i.get(Genre).toString(),QString()); 0082 QCOMPARE(i.get(Year).toInt(),2011); 0083 QCOMPARE(i.track(0).get(Title).toString(),QString::fromUtf8("30")); 0084 QCOMPARE(i.track(1).get(Title).toString(),QString::fromUtf8("Staden Göteborg")); 0085 QCOMPARE(i.track(2).get(Title).toString(),QString::fromUtf8("Lilla Blå")); 0086 QCOMPARE(i.track(3).get(Title).toString(),QString::fromUtf8("Kleptoman")); 0087 QCOMPARE(i.track(4).get(Title).toString(),QString::fromUtf8("Grogg å parabol")); 0088 QCOMPARE(i.track(5).get(Title).toString(),QString::fromUtf8("Majorna brinner")); 0089 QCOMPARE(i.track(6).get(Title).toString(),QString::fromUtf8("Utan hjärta stannar Sverige")); 0090 QCOMPARE(i.track(7).get(Title).toString(),QString::fromUtf8("Dom e efter mig")); 0091 QCOMPARE(i.track(8).get(Title).toString(),QString::fromUtf8("Mammas flickor")); 0092 QCOMPARE(i.track(9).get(Title).toString(),QString::fromUtf8("Handgranat")); 0093 QCOMPARE(i.track(10).get(Title).toString(),QString::fromUtf8("Stenar o blod")); 0094 QCOMPARE(i.track(11).get(Title).toString(),QString::fromUtf8("Enkel Berlin")); 0095 QCOMPARE(i.track(12).get(Title).toString(),QString::fromUtf8("Dom ljuger")); 0096 QCOMPARE(i.track(13).get(Title).toString(),QString::fromUtf8("Jobba")); 0097 QCOMPARE(i.track(14).get(Title).toString(),QString::fromUtf8("Varför lyser inga stjärnor")); 0098 QCOMPARE(i.track(15).get(Title).toString(),QString::fromUtf8("Partytrash")); 0099 QCOMPARE(i.track(16).get(Title).toString(),QString::fromUtf8("Förstod ingenting")); 0100 QCOMPARE(i.track(17).get(Title).toString(),QString::fromUtf8("Bara om min älskade väntar")); 0101 QCOMPARE(i.track(18).get(Title).toString(),QString::fromUtf8("Lillebror")); 0102 QCOMPARE(i.track(19).get(Title).toString(),QString::fromUtf8("Skandaler")); 0103 QCOMPARE(i.track(20).get(Title).toString(),QString::fromUtf8("Hjältarna skålar i blod")); 0104 QCOMPARE(i.track(21).get(Title).toString(),QString::fromUtf8("Bomber o granater")); 0105 QCOMPARE(i.track(22).get(Title).toString(),QString::fromUtf8("Vill du bli miljonär")); 0106 QCOMPARE(i.track(23).get(Title).toString(),QString::fromUtf8("Stjärnorna kvittar det lika")); 0107 QCOMPARE(i.track(24).get(Title).toString(),QString::fromUtf8("Naken")); 0108 QCOMPARE(i.track(25).get(Title).toString(),QString::fromUtf8("Månen lyser klar")); 0109 QCOMPARE(i.track(26).get(Title).toString(),QString::fromUtf8("Vild o vacker")); 0110 QCOMPARE(i.track(27).get(Title).toString(),QString::fromUtf8("Jag fryser")); 0111 QCOMPARE(i.track(28).get(Title).toString(),QString::fromUtf8("Ein zwei polizei")); 0112 QCOMPARE(i.track(29).get(Title).toString(),QString::fromUtf8("Jävla idiot")); 0113 for (int j=0; j < 30; j++) 0114 QCOMPARE(i.track(j).get(Artist).toString(),QString::fromUtf8("Troublemakers")); 0115 // comments not supported in a simple way 0116 for (int j=0; j < 19; j++) 0117 QCOMPARE(i.track(j).get(Comment).toString(),QString()); 0118 0119 // Make sure it's the same when loaded from the cache again 0120 c.config().setCacheLookupEnabled(true); 0121 c.config().setFreedbLookupEnabled(false); 0122 c.config().setMusicBrainzLookupEnabled(false); 0123 0124 c.lookup(list); 0125 0126 response = c.lookupResponse(); 0127 QVERIFY(response.count() > 0); 0128 0129 CDInfo cacheInfo(response.first()); 0130 QCOMPARE(i.get(Artist).toString(),cacheInfo.get(Artist).toString()); 0131 QCOMPARE(i.get(Title).toString(),cacheInfo.get(Title).toString()); 0132 QCOMPARE(i.get(Year).toInt(),cacheInfo.get(Year).toInt()); 0133 for (int j=0; j < 19; j++) 0134 { 0135 QCOMPARE(i.track(j).get(Title).toString(),cacheInfo.track(j).get(Title).toString()); 0136 QCOMPARE(i.track(j).get(Comment).toString(),cacheInfo.track(j).get(Comment).toString()); 0137 } 0138 } 0139 0140 QTEST_GUILESS_MAIN(MusicBrainzTestFullDate) 0141 0142 #include "moc_musicbrainztest-fulldate.cpp"