Make tracks with no album show up.

Fixes issue #57
This commit is contained in:
John Maguire 2010-03-05 10:51:16 +00:00
parent 84d80f6a10
commit 64abef1cd4
2 changed files with 17 additions and 3 deletions

View File

@ -519,10 +519,8 @@ LibraryBackend::AlbumList LibraryBackend::GetAlbums(const QString& artist,
if (CheckErrors(q.lastError())) return ret; if (CheckErrors(q.lastError())) return ret;
QString last_album; QString last_album;
QString last_artist;
while (q.next()) { while (q.next()) {
if (q.value(0).toString() == last_album)
continue;
bool compilation = q.value(2).toBool() | q.value(3).toBool(); bool compilation = q.value(2).toBool() | q.value(3).toBool();
Album info; Album info;
@ -530,9 +528,14 @@ LibraryBackend::AlbumList LibraryBackend::GetAlbums(const QString& artist,
info.album_name = q.value(0).toString(); info.album_name = q.value(0).toString();
info.art_automatic = q.value(4).toString(); info.art_automatic = q.value(4).toString();
info.art_manual = q.value(5).toString(); info.art_manual = q.value(5).toString();
if (info.artist == last_artist && info.album_name == last_album)
continue;
ret << info; ret << info;
last_album = info.album_name; last_album = info.album_name;
last_artist = info.artist;
} }
return ret; return ret;
} }

View File

@ -181,6 +181,17 @@ class SingleSong : public LibraryBackendTest {
Song song_; Song song_;
}; };
TEST_F(SingleSong, GetSongWithNoAlbum) {
song_.set_album("");
AddDummySong(); if (HasFatalFailure()) return;
EXPECT_EQ(1, backend_->GetAllArtists().size());
LibraryBackend::AlbumList albums = backend_->GetAllAlbums();
EXPECT_EQ(1, albums.size());
EXPECT_EQ("Artist", albums[0].artist);
EXPECT_EQ("", albums[0].album_name);
}
TEST_F(SingleSong, GetAllArtists) { TEST_F(SingleSong, GetAllArtists) {
AddDummySong(); if (HasFatalFailure()) return; AddDummySong(); if (HasFatalFailure()) return;