Changeset View
Changeset View
Standalone View
Standalone View
autotests/databaseinterfacetest.cpp
- This file is larger than 256 KB, so syntax highlighting is disabled by default.
Show First 20 Lines • Show All 5169 Lines • ▼ Show 20 Line(s) | 5089 | { | |||
---|---|---|---|---|---|
5170 | QCOMPARE(newAlbum.artist(), QStringLiteral("Various Artists")); | 5170 | QCOMPARE(newAlbum.artist(), QStringLiteral("Various Artists")); | ||
5171 | QCOMPARE(newAlbum[DatabaseInterface::ColumnsRoles::SecondaryTextRole], QStringLiteral("Various Artists")); | 5171 | QCOMPARE(newAlbum[DatabaseInterface::ColumnsRoles::SecondaryTextRole], QStringLiteral("Various Artists")); | ||
5172 | 5172 | | |||
5173 | const auto oneAlbum = musicDb.allAlbumsData()[0]; | 5173 | const auto oneAlbum = musicDb.allAlbumsData()[0]; | ||
5174 | QCOMPARE(oneAlbum.title(), QStringLiteral("album3")); | 5174 | QCOMPARE(oneAlbum.title(), QStringLiteral("album3")); | ||
5175 | QCOMPARE(oneAlbum.artist(), QStringLiteral("Various Artists")); | 5175 | QCOMPARE(oneAlbum.artist(), QStringLiteral("Various Artists")); | ||
5176 | QCOMPARE(oneAlbum[DatabaseInterface::ColumnsRoles::SecondaryTextRole], QStringLiteral("Various Artists")); | 5176 | QCOMPARE(oneAlbum[DatabaseInterface::ColumnsRoles::SecondaryTextRole], QStringLiteral("Various Artists")); | ||
5177 | } | 5177 | } | ||
5178 | | ||||
5179 | void testAlbumFromGenreAndArtistWithoutAlbumArtist() | ||||
5180 | { | ||||
5181 | QTemporaryFile databaseFile; | ||||
5182 | databaseFile.open(); | ||||
5183 | | ||||
5184 | qDebug() << "testAlbumFromGenreAndArtistWithoutAlbumArtist" << databaseFile.fileName(); | ||||
5185 | | ||||
5186 | DatabaseInterface musicDb; | ||||
5187 | | ||||
5188 | musicDb.init(QStringLiteral("testDb"), databaseFile.fileName()); | ||||
5189 | | ||||
5190 | QSignalSpy musicDbArtistAddedSpy(&musicDb, &DatabaseInterface::artistsAdded); | ||||
5191 | QSignalSpy musicDbAlbumAddedSpy(&musicDb, &DatabaseInterface::albumsAdded); | ||||
5192 | QSignalSpy musicDbTrackAddedSpy(&musicDb, &DatabaseInterface::tracksAdded); | ||||
5193 | QSignalSpy musicDbArtistRemovedSpy(&musicDb, &DatabaseInterface::artistRemoved); | ||||
5194 | QSignalSpy musicDbAlbumRemovedSpy(&musicDb, &DatabaseInterface::albumRemoved); | ||||
5195 | QSignalSpy musicDbTrackRemovedSpy(&musicDb, &DatabaseInterface::trackRemoved); | ||||
5196 | QSignalSpy musicDbAlbumModifiedSpy(&musicDb, &DatabaseInterface::albumModified); | ||||
5197 | QSignalSpy musicDbTrackModifiedSpy(&musicDb, &DatabaseInterface::trackModified); | ||||
5198 | QSignalSpy musicDbDatabaseErrorSpy(&musicDb, &DatabaseInterface::databaseError); | ||||
5199 | | ||||
5200 | QCOMPARE(musicDb.allAlbumsData().count(), 0); | ||||
5201 | QCOMPARE(musicDb.allArtistsData().count(), 0); | ||||
5202 | QCOMPARE(musicDb.allTracksData().count(), 0); | ||||
5203 | QCOMPARE(musicDbArtistAddedSpy.count(), 0); | ||||
5204 | QCOMPARE(musicDbAlbumAddedSpy.count(), 0); | ||||
5205 | QCOMPARE(musicDbTrackAddedSpy.count(), 0); | ||||
5206 | QCOMPARE(musicDbArtistRemovedSpy.count(), 0); | ||||
5207 | QCOMPARE(musicDbAlbumRemovedSpy.count(), 0); | ||||
5208 | QCOMPARE(musicDbTrackRemovedSpy.count(), 0); | ||||
5209 | QCOMPARE(musicDbAlbumModifiedSpy.count(), 0); | ||||
5210 | QCOMPARE(musicDbTrackModifiedSpy.count(), 0); | ||||
5211 | QCOMPARE(musicDbDatabaseErrorSpy.count(), 0); | ||||
5212 | | ||||
5213 | auto newTracks = QList<MusicAudioTrack>{ | ||||
5214 | {true, QStringLiteral("$23"), QStringLiteral("0"), QStringLiteral("track6"), | ||||
5215 | QStringLiteral("artist2"), QStringLiteral("album3"), {}, | ||||
5216 | 6, 1, QTime::fromMSecsSinceStartOfDay(23), {QUrl::fromLocalFile(QStringLiteral("/test/$23"))}, | ||||
5217 | QDateTime::fromMSecsSinceEpoch(23), | ||||
5218 | QUrl::fromLocalFile(QStringLiteral("album3")), 5, true, | ||||
5219 | QStringLiteral("genre1"), QStringLiteral("composer1"), QStringLiteral("lyricist1"), false}}; | ||||
5220 | | ||||
5221 | auto newCovers = mNewCovers; | ||||
5222 | newCovers[QStringLiteral("/test/$23")] = QUrl::fromLocalFile(QStringLiteral("album3")); | ||||
5223 | newCovers[QStringLiteral("/test/$24")] = QUrl::fromLocalFile(QStringLiteral("album3")); | ||||
5224 | newCovers[QStringLiteral("/test/$25")] = QUrl::fromLocalFile(QStringLiteral("album3")); | ||||
5225 | | ||||
5226 | musicDb.insertTracksList(newTracks, newCovers); | ||||
5227 | | ||||
5228 | musicDbTrackAddedSpy.wait(300); | ||||
5229 | | ||||
5230 | QCOMPARE(musicDb.allAlbumsData().count(), 1); | ||||
5231 | QCOMPARE(musicDb.allArtistsData().count(), 1); | ||||
5232 | QCOMPARE(musicDb.allTracksData().count(), 1); | ||||
5233 | QCOMPARE(musicDbArtistAddedSpy.count(), 1); | ||||
5234 | QCOMPARE(musicDbAlbumAddedSpy.count(), 1); | ||||
5235 | QCOMPARE(musicDbTrackAddedSpy.count(), 1); | ||||
5236 | QCOMPARE(musicDbArtistRemovedSpy.count(), 0); | ||||
5237 | QCOMPARE(musicDbAlbumRemovedSpy.count(), 0); | ||||
5238 | QCOMPARE(musicDbTrackRemovedSpy.count(), 0); | ||||
5239 | QCOMPARE(musicDbAlbumModifiedSpy.count(), 0); | ||||
5240 | QCOMPARE(musicDbTrackModifiedSpy.count(), 0); | ||||
5241 | QCOMPARE(musicDbDatabaseErrorSpy.count(), 0); | ||||
5242 | | ||||
5243 | auto albumFromGenreAndArtist = musicDb.allAlbumsDataByGenreAndArtist(QStringLiteral("genre1"), QStringLiteral("artist2")); | ||||
5244 | | ||||
5245 | QCOMPARE(albumFromGenreAndArtist.size(), 1); | ||||
5246 | } | ||||
5178 | }; | 5247 | }; | ||
5179 | 5248 | | |||
5180 | QTEST_GUILESS_MAIN(DatabaseInterfaceTests) | 5249 | QTEST_GUILESS_MAIN(DatabaseInterfaceTests) | ||
5181 | 5250 | | |||
5182 | 5251 | | |||
5183 | #include "databaseinterfacetest.moc" | 5252 | #include "databaseinterfacetest.moc" |