From 99a55585e961818b3153e99b8368cba00fc7c108 Mon Sep 17 00:00:00 2001 From: Yoann Lopes Date: Fri, 19 Sep 2014 12:01:08 +0200 Subject: Add metadata test for qmediaplayerbackend auto-test. Change-Id: I419496293b11b6a941af08e9709595458b7ca423 Reviewed-by: Andrew den Exter --- .../qmediaplayerbackend/testdata/nokia-tune.mp3 | Bin 61472 -> 62715 bytes .../tst_qmediaplayerbackend.cpp | 38 +++++++++++++++++++++ 2 files changed, 38 insertions(+) (limited to 'tests') diff --git a/tests/auto/integration/qmediaplayerbackend/testdata/nokia-tune.mp3 b/tests/auto/integration/qmediaplayerbackend/testdata/nokia-tune.mp3 index 674c83405..2435f65b8 100644 Binary files a/tests/auto/integration/qmediaplayerbackend/testdata/nokia-tune.mp3 and b/tests/auto/integration/qmediaplayerbackend/testdata/nokia-tune.mp3 differ diff --git a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp index b4e2f1f17..0a1441cda 100644 --- a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp +++ b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp @@ -39,6 +39,7 @@ #include "qaudioprobe.h" #include "qvideoprobe.h" #include +#include //TESTED_COMPONENT=src/multimedia @@ -77,6 +78,7 @@ private slots: void playlist(); void surfaceTest_data(); void surfaceTest(); + void metadata(); private: QMediaContent selectVideoFile(const QStringList& mediaCandidates); @@ -87,6 +89,7 @@ private: QMediaContent localWavFile2; QMediaContent localVideoFile; QMediaContent localCompressedSoundFile; + QMediaContent localFileWithMetadata; bool m_inCISystem; }; @@ -226,6 +229,8 @@ void tst_QMediaPlayerBackend::initTestCase() mediaCandidates << QFINDTESTDATA("testdata/nokia-tune.mp3"); localCompressedSoundFile = selectMediaFile(mediaCandidates); + localFileWithMetadata = selectMediaFile(QStringList() << QFINDTESTDATA("testdata/nokia-tune.mp3")); + qgetenv("QT_TEST_CI").toInt(&m_inCISystem,10); } @@ -1147,6 +1152,39 @@ void tst_QMediaPlayerBackend::surfaceTest() QVERIFY(surface.m_totalFrames >= 25); } +void tst_QMediaPlayerBackend::metadata() +{ + if (localFileWithMetadata.isNull()) + QSKIP("No supported media file"); + + QMediaPlayer player; + + QSignalSpy metadataAvailableSpy(&player, SIGNAL(metaDataAvailableChanged(bool))); + QSignalSpy metadataChangedSpy(&player, SIGNAL(metaDataChanged())); + + player.setMedia(localFileWithMetadata); + + QTRY_VERIFY(player.isMetaDataAvailable()); + QCOMPARE(metadataAvailableSpy.count(), 1); + QVERIFY(metadataAvailableSpy.last()[0].toBool()); + QVERIFY(metadataChangedSpy.count() > 0); + + QCOMPARE(player.metaData(QMediaMetaData::Title).toString(), QStringLiteral("Nokia Tune")); + QCOMPARE(player.metaData(QMediaMetaData::ContributingArtist).toString(), QStringLiteral("TestArtist")); + QCOMPARE(player.metaData(QMediaMetaData::AlbumTitle).toString(), QStringLiteral("TestAlbum")); + + metadataAvailableSpy.clear(); + metadataChangedSpy.clear(); + + player.setMedia(QMediaContent()); + + QVERIFY(!player.isMetaDataAvailable()); + QCOMPARE(metadataAvailableSpy.count(), 1); + QVERIFY(!metadataAvailableSpy.last()[0].toBool()); + QCOMPARE(metadataChangedSpy.count(), 1); + QVERIFY(player.availableMetaData().isEmpty()); +} + TestVideoSurface::TestVideoSurface(bool storeFrames): m_totalFrames(0), m_storeFrames(storeFrames) -- cgit v1.2.3