summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorYoann Lopes <yoann.lopes@digia.com>2014-09-19 12:01:08 +0200
committerYoann Lopes <yoann.lopes@digia.com>2014-09-26 14:27:13 +0200
commit99a55585e961818b3153e99b8368cba00fc7c108 (patch)
treecd946dad688822cac13b1beaa48e3a608c9f6d50 /tests
parentec245921865eda2bc57397c1979c92fa10adfd98 (diff)
Add metadata test for qmediaplayerbackend auto-test.
Change-Id: I419496293b11b6a941af08e9709595458b7ca423 Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/integration/qmediaplayerbackend/testdata/nokia-tune.mp3bin61472 -> 62715 bytes
-rw-r--r--tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp38
2 files changed, 38 insertions, 0 deletions
diff --git a/tests/auto/integration/qmediaplayerbackend/testdata/nokia-tune.mp3 b/tests/auto/integration/qmediaplayerbackend/testdata/nokia-tune.mp3
index 674c83405..2435f65b8 100644
--- a/tests/auto/integration/qmediaplayerbackend/testdata/nokia-tune.mp3
+++ b/tests/auto/integration/qmediaplayerbackend/testdata/nokia-tune.mp3
Binary files 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 <qmediaplaylist.h>
+#include <qmediametadata.h>
//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)