qtmobility/tests/auto/qmediaplayer/tst_qmediaplayer.cpp
changeset 14 6fbed849b4f4
parent 11 06b8e2af4411
child 15 1f895d8a5b2b
--- a/qtmobility/tests/auto/qmediaplayer/tst_qmediaplayer.cpp	Fri Jun 11 14:26:25 2010 +0300
+++ b/qtmobility/tests/auto/qmediaplayer/tst_qmediaplayer.cpp	Wed Jun 23 19:08:38 2010 +0300
@@ -155,9 +155,9 @@
     StreamType streamType(int index) { return _streams.at(index).type; }
     void setStreamType(int index, StreamType type) { _streams[index].type = type; }
 
-    QVariant metaData(int index, QtMediaServices::MetaData key) {
+    QVariant metaData(int index, QtMultimedia::MetaData key) {
         return _streams.at(index).metaData.value(key); }
-    void setMetaData(int index, QtMediaServices::MetaData key, const QVariant &value) {
+    void setMetaData(int index, QtMultimedia::MetaData key, const QVariant &value) {
         _streams[index].metaData.insert(key, value); }
 
     bool isActive(int index) { return _streams.at(index).active; }
@@ -168,7 +168,7 @@
     {
         Stream() : type(UnknownStream), active(false) {}
         StreamType type;
-        QMap<QtMediaServices::MetaData, QVariant> metaData;
+        QMap<QtMultimedia::MetaData, QVariant> metaData;
         bool active;
     };
 
@@ -192,7 +192,7 @@
         delete mockStreamsControl;
     }
 
-    QMediaControl* control(const char *iid) const
+    QMediaControl* requestControl(const char *iid)
     {
         if (qstrcmp(iid, QMediaPlayerControl_iid) == 0)
             return mockControl;
@@ -200,6 +200,10 @@
         return 0;
     }
 
+    void releaseControl(QMediaControl *)
+    {
+    }
+
     void setState(QMediaPlayer::State state) { emit mockControl->stateChanged(mockControl->_state = state); }
     void setState(QMediaPlayer::State state, QMediaPlayer::MediaStatus status) {
         mockControl->_state = state;
@@ -446,7 +450,7 @@
         QCOMPARE(spy.count(), 0);
     } {
         QMediaPlaylist playlist;
-        playlist.setMediaObject(&player);
+        player.setPlaylist(&playlist);
 
         QSignalSpy mediaSpy(&player, SIGNAL(mediaChanged(QMediaContent)));
         QSignalSpy statusSpy(&player, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)));
@@ -843,7 +847,7 @@
     mockService->setState(QMediaPlayer::StoppedState, QMediaPlayer::NoMedia);
 
     QMediaPlaylist *playlist = new QMediaPlaylist;
-    playlist->setMediaObject(player);
+    player->setPlaylist(playlist);
 
     QSignalSpy stateSpy(player, SIGNAL(stateChanged(QMediaPlayer::State)));
     QSignalSpy mediaSpy(player, SIGNAL(mediaChanged(QMediaContent)));
@@ -984,8 +988,7 @@
 
     // Test the player can bind to playlist again
     playlist = new QMediaPlaylist;
-    playlist->setMediaObject(player);
-    QCOMPARE(playlist->mediaObject(), qobject_cast<QMediaObject*>(player));
+    player->setPlaylist(playlist);
 
     QCOMPARE(player->media(), QMediaContent());
     QCOMPARE(player->state(), QMediaPlayer::StoppedState);
@@ -1008,14 +1011,27 @@
     playlist2->setCurrentIndex(2);
 
     player->play();
-    playlist2->setMediaObject(player);
-    QCOMPARE(playlist2->mediaObject(), qobject_cast<QMediaObject*>(player));
-    QVERIFY(playlist->mediaObject() == 0);
+    player->setPlaylist(playlist2);
     QCOMPARE(player->media(), playlist2->currentMedia());
     QCOMPARE(player->state(), QMediaPlayer::StoppedState);
 
     playlist2->setCurrentIndex(1);
     QCOMPARE(player->media(), playlist2->currentMedia());
+
+    {
+        QMediaPlaylist playlist;
+        playlist.addMedia(content1);
+        playlist.addMedia(content2);
+        playlist.addMedia(content3);
+        playlist.setCurrentIndex(1);
+
+        player->setPlaylist(&playlist);
+        QCOMPARE(player->playlist(), &playlist);
+        QCOMPARE(player->media(), content2);
+    } //playlist should be detached now
+
+    QVERIFY(player->playlist() == 0);
+    QCOMPARE(player->media(), QMediaContent());
 }
 
 QTEST_MAIN(tst_QMediaPlayer)