Add metadata test for qmediaplayerbackend auto-test.

Change-Id: I419496293b11b6a941af08e9709595458b7ca423
Reviewed-by: Andrew den Exter <andrew.den.exter@qinetic.com.au>
This commit is contained in:
Yoann Lopes
2014-09-19 12:01:08 +02:00
parent ec24592186
commit 99a55585e9
2 changed files with 38 additions and 0 deletions

View File

@@ -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)