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:
Yoann Lopes
2015-02-24 14:37:39 +01:00
parent b348c9e7b0
commit dbcf44247d

View File

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