diff --git a/autotests/filemetadatawidgettest.h b/autotests/filemetadatawidgettest.h --- a/autotests/filemetadatawidgettest.h +++ b/autotests/filemetadatawidgettest.h @@ -38,6 +38,7 @@ void shouldSignalOnceFiles(); void shouldShowProperties(); void shouldShowCommonProperties(); + void shouldShowMultiValueProperties(); private: Baloo::FileMetaDataWidget* m_widget; diff --git a/autotests/filemetadatawidgettest.cpp b/autotests/filemetadatawidgettest.cpp --- a/autotests/filemetadatawidgettest.cpp +++ b/autotests/filemetadatawidgettest.cpp @@ -200,3 +200,18 @@ // QCOMPARE( map->value("Album Artist:"), QLatin1String("Bill Laswell")); } +void FileMetadataWidgetTest::shouldShowMultiValueProperties() +{ + QSignalSpy spy(m_widget, &Baloo::FileMetaDataWidget::metaDataRequestFinished); + m_widget->setItems(KFileItemList() + << QUrl::fromLocalFile(QFINDTESTDATA("samplefiles/test_multivalue.ogg")) + ); + QVERIFY(spy.wait()); + QCOMPARE(spy.count(), 1); + auto artistWidget = m_widget->findChild(QStringLiteral("artist")); + QVERIFY2(artistWidget, "artist not found"); + QCOMPARE(artistWidget->text(), "Artist1 and Artist2"); + auto genreWidget = m_widget->findChild(QStringLiteral("genre")); + QVERIFY2(genreWidget, "genre not found"); + QCOMPARE(genreWidget->text(), "Genre1 and Genre2"); +} diff --git a/autotests/samplefiles/test_multivalue.ogg b/autotests/samplefiles/test_multivalue.ogg new file mode 100644 index 0000000000000000000000000000000000000000..e04a64d467ae8d1912887713f1347964ecc283fa GIT binary patch literal 11405 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
8<8U91bZHEq@7v4N}?8wQ+ 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 literal 0 Hc$@