Improve QMediaPlayer auto tests.
Use test data only for test functions that require it. Change-Id: I7fde1ba53ee8d2f5294597fd309a6e7d7dbbe15d Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
This commit is contained in:
@@ -81,31 +81,46 @@ class tst_QMediaPlayer: public QObject
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void initTestCase_data();
|
|
||||||
void initTestCase();
|
void initTestCase();
|
||||||
void cleanupTestCase();
|
void cleanupTestCase();
|
||||||
void init();
|
void init();
|
||||||
void cleanup();
|
void cleanup();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
|
void testNullService_data();
|
||||||
void testNullService();
|
void testNullService();
|
||||||
void testValid();
|
void testValid();
|
||||||
|
void testMedia_data();
|
||||||
void testMedia();
|
void testMedia();
|
||||||
|
void testDuration_data();
|
||||||
void testDuration();
|
void testDuration();
|
||||||
|
void testPosition_data();
|
||||||
void testPosition();
|
void testPosition();
|
||||||
|
void testVolume_data();
|
||||||
void testVolume();
|
void testVolume();
|
||||||
|
void testMuted_data();
|
||||||
void testMuted();
|
void testMuted();
|
||||||
void testIsAvailable();
|
void testIsAvailable();
|
||||||
|
void testVideoAvailable_data();
|
||||||
void testVideoAvailable();
|
void testVideoAvailable();
|
||||||
|
void testBufferStatus_data();
|
||||||
void testBufferStatus();
|
void testBufferStatus();
|
||||||
|
void testSeekable_data();
|
||||||
void testSeekable();
|
void testSeekable();
|
||||||
|
void testPlaybackRate_data();
|
||||||
void testPlaybackRate();
|
void testPlaybackRate();
|
||||||
|
void testError_data();
|
||||||
void testError();
|
void testError();
|
||||||
|
void testErrorString_data();
|
||||||
void testErrorString();
|
void testErrorString();
|
||||||
void testService();
|
void testService();
|
||||||
|
void testPlay_data();
|
||||||
void testPlay();
|
void testPlay();
|
||||||
|
void testPause_data();
|
||||||
void testPause();
|
void testPause();
|
||||||
|
void testStop_data();
|
||||||
void testStop();
|
void testStop();
|
||||||
|
void testMediaStatus_data();
|
||||||
void testMediaStatus();
|
void testMediaStatus();
|
||||||
void testPlaylist();
|
void testPlaylist();
|
||||||
void testNetworkAccess();
|
void testNetworkAccess();
|
||||||
@@ -120,12 +135,14 @@ private slots:
|
|||||||
void testSupportedMimeTypes();
|
void testSupportedMimeTypes();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
void setupCommonTestData();
|
||||||
|
|
||||||
MockMediaServiceProvider *mockProvider;
|
MockMediaServiceProvider *mockProvider;
|
||||||
MockMediaPlayerService *mockService;
|
MockMediaPlayerService *mockService;
|
||||||
QMediaPlayer *player;
|
QMediaPlayer *player;
|
||||||
};
|
};
|
||||||
|
|
||||||
void tst_QMediaPlayer::initTestCase_data()
|
void tst_QMediaPlayer::setupCommonTestData()
|
||||||
{
|
{
|
||||||
QTest::addColumn<bool>("valid");
|
QTest::addColumn<bool>("valid");
|
||||||
QTest::addColumn<QMediaPlayer::State>("state");
|
QTest::addColumn<QMediaPlayer::State>("state");
|
||||||
@@ -193,6 +210,11 @@ void tst_QMediaPlayer::cleanup()
|
|||||||
delete mockService;
|
delete mockService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tst_QMediaPlayer::testNullService_data()
|
||||||
|
{
|
||||||
|
setupCommonTestData();
|
||||||
|
}
|
||||||
|
|
||||||
void tst_QMediaPlayer::testNullService()
|
void tst_QMediaPlayer::testNullService()
|
||||||
{
|
{
|
||||||
mockProvider->service = 0;
|
mockProvider->service = 0;
|
||||||
@@ -217,7 +239,7 @@ void tst_QMediaPlayer::testNullService()
|
|||||||
QCOMPARE(player.availability(), QMultimedia::ServiceMissing);
|
QCOMPARE(player.availability(), QMultimedia::ServiceMissing);
|
||||||
|
|
||||||
{
|
{
|
||||||
QFETCH_GLOBAL(QMediaContent, mediaContent);
|
QFETCH(QMediaContent, mediaContent);
|
||||||
|
|
||||||
QSignalSpy spy(&player, SIGNAL(currentMediaChanged(QMediaContent)));
|
QSignalSpy spy(&player, SIGNAL(currentMediaChanged(QMediaContent)));
|
||||||
QFile file;
|
QFile file;
|
||||||
@@ -249,8 +271,8 @@ void tst_QMediaPlayer::testNullService()
|
|||||||
QCOMPARE(stateSpy.count(), 0);
|
QCOMPARE(stateSpy.count(), 0);
|
||||||
QCOMPARE(statusSpy.count(), 0);
|
QCOMPARE(statusSpy.count(), 0);
|
||||||
} {
|
} {
|
||||||
QFETCH_GLOBAL(int, volume);
|
QFETCH(int, volume);
|
||||||
QFETCH_GLOBAL(bool, muted);
|
QFETCH(bool, muted);
|
||||||
|
|
||||||
QSignalSpy volumeSpy(&player, SIGNAL(volumeChanged(int)));
|
QSignalSpy volumeSpy(&player, SIGNAL(volumeChanged(int)));
|
||||||
QSignalSpy mutingSpy(&player, SIGNAL(mutedChanged(bool)));
|
QSignalSpy mutingSpy(&player, SIGNAL(mutedChanged(bool)));
|
||||||
@@ -263,7 +285,7 @@ void tst_QMediaPlayer::testNullService()
|
|||||||
QCOMPARE(player.isMuted(), false);
|
QCOMPARE(player.isMuted(), false);
|
||||||
QCOMPARE(mutingSpy.count(), 0);
|
QCOMPARE(mutingSpy.count(), 0);
|
||||||
} {
|
} {
|
||||||
QFETCH_GLOBAL(qint64, position);
|
QFETCH(qint64, position);
|
||||||
|
|
||||||
QSignalSpy spy(&player, SIGNAL(positionChanged(qint64)));
|
QSignalSpy spy(&player, SIGNAL(positionChanged(qint64)));
|
||||||
|
|
||||||
@@ -271,7 +293,7 @@ void tst_QMediaPlayer::testNullService()
|
|||||||
QCOMPARE(player.position(), qint64(0));
|
QCOMPARE(player.position(), qint64(0));
|
||||||
QCOMPARE(spy.count(), 0);
|
QCOMPARE(spy.count(), 0);
|
||||||
} {
|
} {
|
||||||
QFETCH_GLOBAL(qreal, playbackRate);
|
QFETCH(qreal, playbackRate);
|
||||||
|
|
||||||
QSignalSpy spy(&player, SIGNAL(playbackRateChanged(qreal)));
|
QSignalSpy spy(&player, SIGNAL(playbackRateChanged(qreal)));
|
||||||
|
|
||||||
@@ -307,16 +329,21 @@ void tst_QMediaPlayer::testNullService()
|
|||||||
void tst_QMediaPlayer::testValid()
|
void tst_QMediaPlayer::testValid()
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
QFETCH_GLOBAL(bool, valid);
|
QFETCH(bool, valid);
|
||||||
|
|
||||||
mockService->setIsValid(valid);
|
mockService->setIsValid(valid);
|
||||||
QCOMPARE(player->isValid(), valid);
|
QCOMPARE(player->isValid(), valid);
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tst_QMediaPlayer::testMedia_data()
|
||||||
|
{
|
||||||
|
setupCommonTestData();
|
||||||
|
}
|
||||||
|
|
||||||
void tst_QMediaPlayer::testMedia()
|
void tst_QMediaPlayer::testMedia()
|
||||||
{
|
{
|
||||||
QFETCH_GLOBAL(QMediaContent, mediaContent);
|
QFETCH(QMediaContent, mediaContent);
|
||||||
|
|
||||||
mockService->setMedia(mediaContent);
|
mockService->setMedia(mediaContent);
|
||||||
QCOMPARE(player->currentMedia(), mediaContent);
|
QCOMPARE(player->currentMedia(), mediaContent);
|
||||||
@@ -327,20 +354,30 @@ void tst_QMediaPlayer::testMedia()
|
|||||||
QCOMPARE((QBuffer*)player->mediaStream(), &stream);
|
QCOMPARE((QBuffer*)player->mediaStream(), &stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tst_QMediaPlayer::testDuration_data()
|
||||||
|
{
|
||||||
|
setupCommonTestData();
|
||||||
|
}
|
||||||
|
|
||||||
void tst_QMediaPlayer::testDuration()
|
void tst_QMediaPlayer::testDuration()
|
||||||
{
|
{
|
||||||
QFETCH_GLOBAL(qint64, duration);
|
QFETCH(qint64, duration);
|
||||||
|
|
||||||
mockService->setDuration(duration);
|
mockService->setDuration(duration);
|
||||||
QVERIFY(player->duration() == duration);
|
QVERIFY(player->duration() == duration);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tst_QMediaPlayer::testPosition_data()
|
||||||
|
{
|
||||||
|
setupCommonTestData();
|
||||||
|
}
|
||||||
|
|
||||||
void tst_QMediaPlayer::testPosition()
|
void tst_QMediaPlayer::testPosition()
|
||||||
{
|
{
|
||||||
QFETCH_GLOBAL(bool, valid);
|
QFETCH(bool, valid);
|
||||||
QFETCH_GLOBAL(bool, seekable);
|
QFETCH(bool, seekable);
|
||||||
QFETCH_GLOBAL(qint64, position);
|
QFETCH(qint64, position);
|
||||||
QFETCH_GLOBAL(qint64, duration);
|
QFETCH(qint64, duration);
|
||||||
|
|
||||||
mockService->setIsValid(valid);
|
mockService->setIsValid(valid);
|
||||||
mockService->setSeekable(seekable);
|
mockService->setSeekable(seekable);
|
||||||
@@ -384,10 +421,15 @@ void tst_QMediaPlayer::testPosition()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tst_QMediaPlayer::testVolume_data()
|
||||||
|
{
|
||||||
|
setupCommonTestData();
|
||||||
|
}
|
||||||
|
|
||||||
void tst_QMediaPlayer::testVolume()
|
void tst_QMediaPlayer::testVolume()
|
||||||
{
|
{
|
||||||
QFETCH_GLOBAL(bool, valid);
|
QFETCH(bool, valid);
|
||||||
QFETCH_GLOBAL(int, volume);
|
QFETCH(int, volume);
|
||||||
|
|
||||||
mockService->setVolume(volume);
|
mockService->setVolume(volume);
|
||||||
QVERIFY(player->volume() == volume);
|
QVERIFY(player->volume() == volume);
|
||||||
@@ -415,11 +457,16 @@ void tst_QMediaPlayer::testVolume()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tst_QMediaPlayer::testMuted_data()
|
||||||
|
{
|
||||||
|
setupCommonTestData();
|
||||||
|
}
|
||||||
|
|
||||||
void tst_QMediaPlayer::testMuted()
|
void tst_QMediaPlayer::testMuted()
|
||||||
{
|
{
|
||||||
QFETCH_GLOBAL(bool, valid);
|
QFETCH(bool, valid);
|
||||||
QFETCH_GLOBAL(bool, muted);
|
QFETCH(bool, muted);
|
||||||
QFETCH_GLOBAL(int, volume);
|
QFETCH(int, volume);
|
||||||
|
|
||||||
if (valid) {
|
if (valid) {
|
||||||
mockService->setMuted(muted);
|
mockService->setMuted(muted);
|
||||||
@@ -434,34 +481,54 @@ void tst_QMediaPlayer::testMuted()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tst_QMediaPlayer::testVideoAvailable_data()
|
||||||
|
{
|
||||||
|
setupCommonTestData();
|
||||||
|
}
|
||||||
|
|
||||||
void tst_QMediaPlayer::testVideoAvailable()
|
void tst_QMediaPlayer::testVideoAvailable()
|
||||||
{
|
{
|
||||||
QFETCH_GLOBAL(bool, videoAvailable);
|
QFETCH(bool, videoAvailable);
|
||||||
|
|
||||||
mockService->setVideoAvailable(videoAvailable);
|
mockService->setVideoAvailable(videoAvailable);
|
||||||
QVERIFY(player->isVideoAvailable() == videoAvailable);
|
QVERIFY(player->isVideoAvailable() == videoAvailable);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tst_QMediaPlayer::testBufferStatus_data()
|
||||||
|
{
|
||||||
|
setupCommonTestData();
|
||||||
|
}
|
||||||
|
|
||||||
void tst_QMediaPlayer::testBufferStatus()
|
void tst_QMediaPlayer::testBufferStatus()
|
||||||
{
|
{
|
||||||
QFETCH_GLOBAL(int, bufferStatus);
|
QFETCH(int, bufferStatus);
|
||||||
|
|
||||||
mockService->setBufferStatus(bufferStatus);
|
mockService->setBufferStatus(bufferStatus);
|
||||||
QVERIFY(player->bufferStatus() == bufferStatus);
|
QVERIFY(player->bufferStatus() == bufferStatus);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tst_QMediaPlayer::testSeekable_data()
|
||||||
|
{
|
||||||
|
setupCommonTestData();
|
||||||
|
}
|
||||||
|
|
||||||
void tst_QMediaPlayer::testSeekable()
|
void tst_QMediaPlayer::testSeekable()
|
||||||
{
|
{
|
||||||
QFETCH_GLOBAL(bool, seekable);
|
QFETCH(bool, seekable);
|
||||||
|
|
||||||
mockService->setSeekable(seekable);
|
mockService->setSeekable(seekable);
|
||||||
QVERIFY(player->isSeekable() == seekable);
|
QVERIFY(player->isSeekable() == seekable);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tst_QMediaPlayer::testPlaybackRate_data()
|
||||||
|
{
|
||||||
|
setupCommonTestData();
|
||||||
|
}
|
||||||
|
|
||||||
void tst_QMediaPlayer::testPlaybackRate()
|
void tst_QMediaPlayer::testPlaybackRate()
|
||||||
{
|
{
|
||||||
QFETCH_GLOBAL(bool, valid);
|
QFETCH(bool, valid);
|
||||||
QFETCH_GLOBAL(qreal, playbackRate);
|
QFETCH(qreal, playbackRate);
|
||||||
|
|
||||||
if (valid) {
|
if (valid) {
|
||||||
mockService->setPlaybackRate(playbackRate);
|
mockService->setPlaybackRate(playbackRate);
|
||||||
@@ -474,17 +541,27 @@ void tst_QMediaPlayer::testPlaybackRate()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tst_QMediaPlayer::testError_data()
|
||||||
|
{
|
||||||
|
setupCommonTestData();
|
||||||
|
}
|
||||||
|
|
||||||
void tst_QMediaPlayer::testError()
|
void tst_QMediaPlayer::testError()
|
||||||
{
|
{
|
||||||
QFETCH_GLOBAL(QMediaPlayer::Error, error);
|
QFETCH(QMediaPlayer::Error, error);
|
||||||
|
|
||||||
mockService->setError(error);
|
mockService->setError(error);
|
||||||
QVERIFY(player->error() == error);
|
QVERIFY(player->error() == error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tst_QMediaPlayer::testErrorString_data()
|
||||||
|
{
|
||||||
|
setupCommonTestData();
|
||||||
|
}
|
||||||
|
|
||||||
void tst_QMediaPlayer::testErrorString()
|
void tst_QMediaPlayer::testErrorString()
|
||||||
{
|
{
|
||||||
QFETCH_GLOBAL(QString, errorString);
|
QFETCH(QString, errorString);
|
||||||
|
|
||||||
mockService->setErrorString(errorString);
|
mockService->setErrorString(errorString);
|
||||||
QVERIFY(player->errorString() == errorString);
|
QVERIFY(player->errorString() == errorString);
|
||||||
@@ -499,7 +576,7 @@ void tst_QMediaPlayer::testIsAvailable()
|
|||||||
void tst_QMediaPlayer::testService()
|
void tst_QMediaPlayer::testService()
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
QFETCH_GLOBAL(bool, valid);
|
QFETCH(bool, valid);
|
||||||
|
|
||||||
mockService->setIsValid(valid);
|
mockService->setIsValid(valid);
|
||||||
|
|
||||||
@@ -510,11 +587,16 @@ void tst_QMediaPlayer::testService()
|
|||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tst_QMediaPlayer::testPlay_data()
|
||||||
|
{
|
||||||
|
setupCommonTestData();
|
||||||
|
}
|
||||||
|
|
||||||
void tst_QMediaPlayer::testPlay()
|
void tst_QMediaPlayer::testPlay()
|
||||||
{
|
{
|
||||||
QFETCH_GLOBAL(bool, valid);
|
QFETCH(bool, valid);
|
||||||
QFETCH_GLOBAL(QMediaContent, mediaContent);
|
QFETCH(QMediaContent, mediaContent);
|
||||||
QFETCH_GLOBAL(QMediaPlayer::State, state);
|
QFETCH(QMediaPlayer::State, state);
|
||||||
|
|
||||||
mockService->setIsValid(valid);
|
mockService->setIsValid(valid);
|
||||||
mockService->setState(state);
|
mockService->setState(state);
|
||||||
@@ -536,11 +618,16 @@ void tst_QMediaPlayer::testPlay()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tst_QMediaPlayer::testPause_data()
|
||||||
|
{
|
||||||
|
setupCommonTestData();
|
||||||
|
}
|
||||||
|
|
||||||
void tst_QMediaPlayer::testPause()
|
void tst_QMediaPlayer::testPause()
|
||||||
{
|
{
|
||||||
QFETCH_GLOBAL(bool, valid);
|
QFETCH(bool, valid);
|
||||||
QFETCH_GLOBAL(QMediaContent, mediaContent);
|
QFETCH(QMediaContent, mediaContent);
|
||||||
QFETCH_GLOBAL(QMediaPlayer::State, state);
|
QFETCH(QMediaPlayer::State, state);
|
||||||
|
|
||||||
mockService->setIsValid(valid);
|
mockService->setIsValid(valid);
|
||||||
mockService->setState(state);
|
mockService->setState(state);
|
||||||
@@ -562,10 +649,15 @@ void tst_QMediaPlayer::testPause()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tst_QMediaPlayer::testStop_data()
|
||||||
|
{
|
||||||
|
setupCommonTestData();
|
||||||
|
}
|
||||||
|
|
||||||
void tst_QMediaPlayer::testStop()
|
void tst_QMediaPlayer::testStop()
|
||||||
{
|
{
|
||||||
QFETCH_GLOBAL(QMediaContent, mediaContent);
|
QFETCH(QMediaContent, mediaContent);
|
||||||
QFETCH_GLOBAL(QMediaPlayer::State, state);
|
QFETCH(QMediaPlayer::State, state);
|
||||||
|
|
||||||
mockService->setState(state);
|
mockService->setState(state);
|
||||||
mockService->setMedia(mediaContent);
|
mockService->setMedia(mediaContent);
|
||||||
@@ -586,9 +678,14 @@ void tst_QMediaPlayer::testStop()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void tst_QMediaPlayer::testMediaStatus_data()
|
||||||
|
{
|
||||||
|
setupCommonTestData();
|
||||||
|
}
|
||||||
|
|
||||||
void tst_QMediaPlayer::testMediaStatus()
|
void tst_QMediaPlayer::testMediaStatus()
|
||||||
{
|
{
|
||||||
QFETCH_GLOBAL(int, bufferStatus);
|
QFETCH(int, bufferStatus);
|
||||||
int bufferSignals = 0;
|
int bufferSignals = 0;
|
||||||
|
|
||||||
player->setNotifyInterval(10);
|
player->setNotifyInterval(10);
|
||||||
|
|||||||
Reference in New Issue
Block a user