diff options
author | Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com> | 2012-01-19 10:01:02 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-01-24 09:11:07 +0100 |
commit | a78a95ccd4c876bca7fe748c44c9744e828d375e (patch) | |
tree | 4a72285e10aab435682fb7cdbbc4e70432191b20 /tests/auto/unit/qmediaplayer | |
parent | adb2bd2cd4bb2b01b15f6213681654949f2c797c (diff) |
Removed QMediaServiceProvider parameter from media objects constructors.
QMediaServiceProvider should be removed from the public API,
to provide media objects with a custom media service.
A protected QMediaPlayer/QCamera/QRadioTuner/etc constructor
with QMediaService* parameter is a cleaner and more
flexible solution.
Change-Id: I335cce4bbebe0e548c3df338f206e7be7c93c3dd
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
Diffstat (limited to 'tests/auto/unit/qmediaplayer')
-rw-r--r-- | tests/auto/unit/qmediaplayer/tst_qmediaplayer.cpp | 81 |
1 files changed, 41 insertions, 40 deletions
diff --git a/tests/auto/unit/qmediaplayer/tst_qmediaplayer.cpp b/tests/auto/unit/qmediaplayer/tst_qmediaplayer.cpp index e2131cc45..e441d26b9 100644 --- a/tests/auto/unit/qmediaplayer/tst_qmediaplayer.cpp +++ b/tests/auto/unit/qmediaplayer/tst_qmediaplayer.cpp @@ -179,30 +179,32 @@ void tst_QMediaPlayer::initTestCase() qRegisterMetaType<QMediaPlayer::Error>("QMediaPlayer::Error"); qRegisterMetaType<QMediaPlayer::MediaStatus>("QMediaPlayer::MediaStatus"); qRegisterMetaType<QMediaContent>("QMediaContent"); - - mockService = new MockMediaPlayerService; - mockProvider = new MockMediaServiceProvider(mockService, true); - player = new QMediaPlayer(0, 0, mockProvider); } void tst_QMediaPlayer::cleanupTestCase() { - delete player; } void tst_QMediaPlayer::init() { - mockService->reset(); + mockService = new MockMediaPlayerService; + mockProvider = new MockMediaServiceProvider(mockService); + QMediaServiceProvider::setDefaultServiceProvider(mockProvider); + + player = new QMediaPlayer; } void tst_QMediaPlayer::cleanup() { + delete player; + delete mockProvider; + delete mockService; } void tst_QMediaPlayer::testNullService() { - MockMediaServiceProvider provider(0); - QMediaPlayer player(0, 0, &provider); + mockProvider->service = 0; + QMediaPlayer player; const QIODevice *nullDevice = 0; @@ -901,7 +903,6 @@ void tst_QMediaPlayer::testPlayerFlags() MockMediaServiceProvider provider(0, true); QMediaPlayer::Flag flags = QMediaPlayer::LowLatency; - QMediaPlayer player(0, flags, &provider); QMediaServiceProviderHint::Feature feature; if (flags & QMediaPlayer::LowLatency) @@ -926,7 +927,6 @@ void tst_QMediaPlayer::testPlayerFlags() flags = QMediaPlayer::StreamPlayback; /* Construct a QMediaPlayer that uses the playback service from provider, parented to parent and with flags.*/ - QMediaPlayer player2(0,flags , &provider); if (flags & QMediaPlayer::StreamPlayback) { @@ -948,16 +948,23 @@ void tst_QMediaPlayer::testPlayerFlags() void tst_QMediaPlayer::testDestructor() { + //don't use the same service as tst_QMediaPlayer::player + mockProvider->service = new MockMediaPlayerService; + mockProvider->deleteServiceOnRelease = true; + /* create an object for player */ - MockMediaPlayerService service; - MockMediaServiceProvider provider(&service); - QMediaPlayer *victim = new QMediaPlayer(0, 0, &provider); + QMediaPlayer *victim = new QMediaPlayer; /* check whether the object is created */ QVERIFY(victim); /* delete the instance (a crash is a failure :) */ delete victim; + + //service is released + QVERIFY(mockProvider->service == 0); + + mockProvider->deleteServiceOnRelease = false; } void tst_QMediaPlayer::testNetworkAccess() @@ -992,27 +999,23 @@ void tst_QMediaPlayer::testSetVideoOutput() { MockVideoSurface surface; - MockMediaPlayerService service; - MockMediaServiceProvider provider(&service); - QMediaPlayer player(0, 0, &provider); - - player.setVideoOutput(reinterpret_cast<QVideoWidget *>(0)); - player.setVideoOutput(reinterpret_cast<QGraphicsVideoItem *>(0)); + player->setVideoOutput(reinterpret_cast<QVideoWidget *>(0)); + player->setVideoOutput(reinterpret_cast<QGraphicsVideoItem *>(0)); - player.setVideoOutput(&surface); - QVERIFY(service.rendererControl->surface() == &surface); + player->setVideoOutput(&surface); + QVERIFY(mockService->rendererControl->surface() == &surface); - player.setVideoOutput(reinterpret_cast<QAbstractVideoSurface *>(0)); - QVERIFY(service.rendererControl->surface() == 0); + player->setVideoOutput(reinterpret_cast<QAbstractVideoSurface *>(0)); + QVERIFY(mockService->rendererControl->surface() == 0); - player.setVideoOutput(&surface); - QVERIFY(service.rendererControl->surface() == &surface); + player->setVideoOutput(&surface); + QVERIFY(mockService->rendererControl->surface() == &surface); - player.setVideoOutput(reinterpret_cast<QVideoWidget *>(0)); - QVERIFY(service.rendererControl->surface() == 0); + player->setVideoOutput(reinterpret_cast<QVideoWidget *>(0)); + QVERIFY(mockService->rendererControl->surface() == 0); - player.setVideoOutput(&surface); - QVERIFY(service.rendererControl->surface() == &surface); + player->setVideoOutput(&surface); + QVERIFY(mockService->rendererControl->surface() == &surface); } @@ -1021,7 +1024,8 @@ void tst_QMediaPlayer::testSetVideoOutputNoService() MockVideoSurface surface; MockMediaServiceProvider provider(0, true); - QMediaPlayer player(0, 0, &provider); + QMediaServiceProvider::setDefaultServiceProvider(&provider); + QMediaPlayer player; player.setVideoOutput(&surface); // Nothing we can verify here other than it doesn't assert. @@ -1035,7 +1039,8 @@ void tst_QMediaPlayer::testSetVideoOutputNoControl() service.rendererRef = 1; MockMediaServiceProvider provider(&service); - QMediaPlayer player(0, 0, &provider); + QMediaServiceProvider::setDefaultServiceProvider(&provider); + QMediaPlayer player; player.setVideoOutput(&surface); QVERIFY(service.rendererControl->surface() == 0); @@ -1044,18 +1049,14 @@ void tst_QMediaPlayer::testSetVideoOutputNoControl() void tst_QMediaPlayer::testSetVideoOutputDestruction() { MockVideoSurface surface; - - MockMediaPlayerService service; - MockMediaServiceProvider provider(&service); - { - QMediaPlayer player(0, 0, &provider); + QMediaPlayer player; player.setVideoOutput(&surface); - QVERIFY(service.rendererControl->surface() == &surface); - QCOMPARE(service.rendererRef, 1); + QVERIFY(mockService->rendererControl->surface() == &surface); + QCOMPARE(mockService->rendererRef, 1); } - QVERIFY(service.rendererControl->surface() == 0); - QCOMPARE(service.rendererRef, 0); + QVERIFY(mockService->rendererControl->surface() == 0); + QCOMPARE(mockService->rendererRef, 0); } void tst_QMediaPlayer::testPositionPropertyWatch() |