Refactor playlist items
Fix a bug where playlist items cover is not updated
This commit is contained in:
@@ -36,16 +36,14 @@ class MockPlaylistItem : public PlaylistItem {
|
||||
public:
|
||||
MockPlaylistItem();
|
||||
MOCK_CONST_METHOD0(options, Options());
|
||||
MOCK_CONST_METHOD0(OriginalMetadata, Song());
|
||||
MOCK_CONST_METHOD0(OriginalUrl, QUrl());
|
||||
MOCK_METHOD1(SetStreamMetadata, void(const Song &song));
|
||||
MOCK_METHOD0(ClearStreamMetadata, void());
|
||||
MOCK_METHOD1(SetArtManual, void(const QUrl &cover_url));
|
||||
MOCK_METHOD1(InitFromQuery, bool(const SqlRow &settings));
|
||||
MOCK_METHOD0(Reload, void());
|
||||
MOCK_CONST_METHOD0(Metadata, Song());
|
||||
MOCK_CONST_METHOD0(OriginalMetadata, Song());
|
||||
MOCK_CONST_METHOD0(Url, QUrl());
|
||||
MOCK_METHOD1(SetTemporaryMetadata, void(const Song &metadata));
|
||||
MOCK_METHOD0(ClearTemporaryMetadata, void());
|
||||
MOCK_METHOD1(SetArtManual, void(const QUrl &cover_url));
|
||||
MOCK_CONST_METHOD1(DatabaseValue, QVariant(DatabaseColumn));
|
||||
|
||||
};
|
||||
|
||||
#endif // MOCK_PLAYLISTITEM_H
|
||||
|
||||
@@ -56,7 +56,7 @@ class PlaylistTest : public ::testing::Test {
|
||||
metadata.Init(title, artist, album, length);
|
||||
|
||||
MockPlaylistItem *ret = new MockPlaylistItem;
|
||||
EXPECT_CALL(*ret, Metadata()).WillRepeatedly(Return(metadata));
|
||||
EXPECT_CALL(*ret, OriginalMetadata()).WillRepeatedly(Return(metadata));
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -100,7 +100,7 @@ TEST_F(PlaylistTest, Indexes) {
|
||||
// Start "playing" track 1
|
||||
playlist_.set_current_row(0);
|
||||
EXPECT_EQ(0, playlist_.current_row());
|
||||
EXPECT_EQ(u"One"_s, playlist_.current_item()->Metadata().title());
|
||||
EXPECT_EQ(u"One"_s, playlist_.current_item()->EffectiveMetadata().title());
|
||||
EXPECT_EQ(-1, playlist_.previous_row());
|
||||
EXPECT_EQ(1, playlist_.next_row());
|
||||
|
||||
@@ -113,14 +113,14 @@ TEST_F(PlaylistTest, Indexes) {
|
||||
// Play track 2
|
||||
playlist_.set_current_row(1);
|
||||
EXPECT_EQ(1, playlist_.current_row());
|
||||
EXPECT_EQ(u"Two"_s, playlist_.current_item()->Metadata().title());
|
||||
EXPECT_EQ(u"Two"_s, playlist_.current_item()->EffectiveMetadata().title());
|
||||
EXPECT_EQ(0, playlist_.previous_row());
|
||||
EXPECT_EQ(2, playlist_.next_row());
|
||||
|
||||
// Play track 3
|
||||
playlist_.set_current_row(2);
|
||||
EXPECT_EQ(2, playlist_.current_row());
|
||||
EXPECT_EQ(u"Three"_s, playlist_.current_item()->Metadata().title());
|
||||
EXPECT_EQ(u"Three"_s, playlist_.current_item()->EffectiveMetadata().title());
|
||||
EXPECT_EQ(1, playlist_.previous_row());
|
||||
EXPECT_EQ(-1, playlist_.next_row());
|
||||
|
||||
@@ -453,7 +453,7 @@ TEST_F(PlaylistTest, ShuffleThenNext) {
|
||||
}
|
||||
|
||||
int index = playlist_.current_row();
|
||||
EXPECT_EQ(u"Item 0"_s, playlist_.current_item()->Metadata().title());
|
||||
EXPECT_EQ(u"Item 0"_s, playlist_.current_item()->EffectiveMetadata().title());
|
||||
EXPECT_EQ(u"Item 0"_s, playlist_.data(playlist_.index(index, static_cast<int>(Playlist::Column::Title))));
|
||||
EXPECT_EQ(index, playlist_.last_played_row());
|
||||
//EXPECT_EQ(index + 1, playlist_.next_row());
|
||||
@@ -466,7 +466,7 @@ TEST_F(PlaylistTest, ShuffleThenNext) {
|
||||
//}
|
||||
|
||||
index = playlist_.current_row();
|
||||
EXPECT_EQ(u"Item 0"_s, playlist_.current_item()->Metadata().title());
|
||||
EXPECT_EQ(u"Item 0"_s, playlist_.current_item()->EffectiveMetadata().title());
|
||||
EXPECT_EQ(u"Item 0"_s, playlist_.data(playlist_.index(index, static_cast<int>(Playlist::Column::Title))));
|
||||
EXPECT_EQ(index, playlist_.last_played_row());
|
||||
//EXPECT_EQ(-1, playlist_.next_row());
|
||||
@@ -487,7 +487,7 @@ TEST_F(PlaylistTest, CollectionIdMapSingle) {
|
||||
EXPECT_EQ(0, playlist_.collection_items(Song::Source::Collection, 0).count());
|
||||
EXPECT_EQ(0, playlist_.collection_items(Song::Source::Collection, 2).count());
|
||||
ASSERT_EQ(1, playlist_.collection_items(Song::Source::Collection, 1).count());
|
||||
EXPECT_EQ(song.title(), playlist_.collection_items(Song::Source::Collection, 1)[0]->Metadata().title()); // clazy:exclude=detaching-temporary
|
||||
EXPECT_EQ(song.title(), playlist_.collection_items(Song::Source::Collection, 1)[0]->EffectiveMetadata().title()); // clazy:exclude=detaching-temporary
|
||||
|
||||
playlist_.Clear();
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ TEST_P(SongPlaylistItemTest, Url) {
|
||||
expected.setScheme(u"file"_s);
|
||||
expected.setPath(absolute_file_name_);
|
||||
|
||||
EXPECT_EQ(expected, item_->Url());
|
||||
EXPECT_EQ(expected, item_->OriginalUrl());
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user