qtmobility/tests/auto/qmediaobject/tst_qmediaobject.cpp
changeset 14 6fbed849b4f4
parent 11 06b8e2af4411
child 15 1f895d8a5b2b
--- a/qtmobility/tests/auto/qmediaobject/tst_qmediaobject.cpp	Fri Jun 11 14:26:25 2010 +0300
+++ b/qtmobility/tests/auto/qmediaobject/tst_qmediaobject.cpp	Wed Jun 23 19:08:38 2010 +0300
@@ -45,7 +45,7 @@
 
 #include <qmediaobject.h>
 #include <qmediaservice.h>
-#include <qmetadatacontrol.h>
+#include <qmetadatareadercontrol.h>
 
 QT_USE_NAMESPACE
 class tst_QMediaObject : public QObject
@@ -61,30 +61,24 @@
 
     void nullMetaDataControl();
     void isMetaDataAvailable();
-    void isWritable();
     void metaDataChanged();
     void metaData_data();
     void metaData();
-    void setMetaData_data();
-    void setMetaData();
     void extendedMetaData_data() { metaData_data(); }
     void extendedMetaData();
-    void setExtendedMetaData_data() { extendedMetaData_data(); }
-    void setExtendedMetaData();
 
 
 private:
     void setupNotifyTests();
 };
 
-class QtTestMetaDataProvider : public QMetaDataControl
+class QtTestMetaDataProvider : public QMetaDataReaderControl
 {
     Q_OBJECT
 public:
     QtTestMetaDataProvider(QObject *parent = 0)
-        : QMetaDataControl(parent)
+        : QMetaDataReaderControl(parent)
         , m_available(false)
-        , m_writable(false)
     {
     }
 
@@ -93,22 +87,16 @@
         if (m_available != available)
             emit metaDataAvailableChanged(m_available = available);
     }
-    QList<QtMediaServices::MetaData> availableMetaData() const { return m_data.keys(); }
+    QList<QtMultimedia::MetaData> availableMetaData() const { return m_data.keys(); }
 
-    bool isWritable() const { return m_writable; }
-    void setWritable(bool writable) { emit writableChanged(m_writable = writable); }
 
-    QVariant metaData(QtMediaServices::MetaData key) const { return m_data.value(key); }
-    void setMetaData(QtMediaServices::MetaData key, const QVariant &value) {
-        m_data.insert(key, value); }
+    QVariant metaData(QtMultimedia::MetaData key) const { return m_data.value(key); }
 
     QVariant extendedMetaData(const QString &key) const { return m_extendedData.value(key); }
-    void setExtendedMetaData(const QString &key, const QVariant &value) {
-        m_extendedData.insert(key, value); }
 
     QStringList availableExtendedMetaData() const { return m_extendedData.keys(); }
 
-    using QMetaDataControl::metaDataChanged;
+    using QMetaDataReaderControl::metaDataChanged;
 
     void populateMetaData()
     {
@@ -116,8 +104,7 @@
     }
 
     bool m_available;
-    bool m_writable;
-    QMap<QtMediaServices::MetaData, QVariant> m_data;
+    QMap<QtMultimedia::MetaData, QVariant> m_data;
     QMap<QString, QVariant> m_extendedData;
 };
 
@@ -125,23 +112,27 @@
 {
     Q_OBJECT
 public:
-    QtTestMetaDataService(QObject *parent = 0):QMediaService(parent), hasMetaData(true)
+    QtTestMetaDataService(QObject *parent = 0):QMediaService(parent), metaDataRef(0), hasMetaData(true)
     {
     }
 
-    QMediaControl *control(const char *iid) const
+    QMediaControl *requestControl(const char *iid)
     {
-        if (hasMetaData && qstrcmp(iid, QMetaDataControl_iid) == 0)
-            return const_cast<QtTestMetaDataProvider *>(&metaData);
+        if (hasMetaData && qstrcmp(iid, QMetaDataReaderControl_iid) == 0)
+            return &metaData;
         else
             return 0;
     }
 
+    void releaseControl(QMediaControl *)
+    {
+    }
+
     QtTestMetaDataProvider metaData;
+    int metaDataRef;
     bool hasMetaData;
 };
 
-
 class QtTestMediaObject : public QMediaObject
 {
     Q_OBJECT
@@ -374,14 +365,10 @@
     QSignalSpy spy(&object, SIGNAL(metaDataChanged()));
 
     QCOMPARE(object.isMetaDataAvailable(), false);
-    QCOMPARE(object.isMetaDataWritable(), false);
 
-    object.setMetaData(QtMediaServices::Title, title);
-    object.setExtendedMetaData(titleKey, title);
-
-    QCOMPARE(object.metaData(QtMediaServices::Title).toString(), QString());
+    QCOMPARE(object.metaData(QtMultimedia::Title).toString(), QString());
     QCOMPARE(object.extendedMetaData(titleKey).toString(), QString());
-    QCOMPARE(object.availableMetaData(), QList<QtMediaServices::MetaData>());
+    QCOMPARE(object.availableMetaData(), QList<QtMultimedia::MetaData>());
     QCOMPARE(object.availableExtendedMetaData(), QStringList());
     QCOMPARE(spy.count(), 0);
 }
@@ -408,30 +395,6 @@
     QCOMPARE(spy.at(1).at(0).toBool(), false);
 }
 
-void tst_QMediaObject::isWritable()
-{
-    QtTestMetaDataService service;
-    service.metaData.setWritable(false);
-
-    QtTestMediaObject object(&service);
-
-    QSignalSpy spy(&object, SIGNAL(metaDataWritableChanged(bool)));
-
-    QCOMPARE(object.isMetaDataWritable(), false);
-
-    service.metaData.setWritable(true);
-
-    QCOMPARE(object.isMetaDataWritable(), true);
-    QCOMPARE(spy.count(), 1);
-    QCOMPARE(spy.at(0).at(0).toBool(), true);
-
-    service.metaData.setWritable(false);
-
-    QCOMPARE(object.isMetaDataWritable(), false);
-    QCOMPARE(spy.count(), 2);
-    QCOMPARE(spy.at(1).at(0).toBool(), false);
-}
-
 void tst_QMediaObject::metaDataChanged()
 {
     QtTestMetaDataService service;
@@ -470,40 +433,18 @@
     QtTestMediaObject object(&service);
     QVERIFY(object.availableMetaData().isEmpty());
 
-    service.metaData.m_data.insert(QtMediaServices::AlbumArtist, artist);
-    service.metaData.m_data.insert(QtMediaServices::Title, title);
-    service.metaData.m_data.insert(QtMediaServices::Genre, genre);
-
-    QCOMPARE(object.metaData(QtMediaServices::AlbumArtist).toString(), artist);
-    QCOMPARE(object.metaData(QtMediaServices::Title).toString(), title);
-
-    QList<QtMediaServices::MetaData> metaDataKeys = object.availableMetaData();
-    QCOMPARE(metaDataKeys.size(), 3);
-    QVERIFY(metaDataKeys.contains(QtMediaServices::AlbumArtist));
-    QVERIFY(metaDataKeys.contains(QtMediaServices::Title));
-    QVERIFY(metaDataKeys.contains(QtMediaServices::Genre));
-}
+    service.metaData.m_data.insert(QtMultimedia::AlbumArtist, artist);
+    service.metaData.m_data.insert(QtMultimedia::Title, title);
+    service.metaData.m_data.insert(QtMultimedia::Genre, genre);
 
-void tst_QMediaObject::setMetaData_data()
-{
-    QTest::addColumn<QString>("title");
-
-    QTest::newRow("")
-            << QString::fromLatin1("In the Kingdom of the Blind the One eyed are Kings");
-}
+    QCOMPARE(object.metaData(QtMultimedia::AlbumArtist).toString(), artist);
+    QCOMPARE(object.metaData(QtMultimedia::Title).toString(), title);
 
-void tst_QMediaObject::setMetaData()
-{
-    QFETCH(QString, title);
-
-    QtTestMetaDataService service;
-    service.metaData.populateMetaData();
-
-    QtTestMediaObject object(&service);
-
-    object.setMetaData(QtMediaServices::Title, title);
-    QCOMPARE(object.metaData(QtMediaServices::Title).toString(), title);
-    QCOMPARE(service.metaData.m_data.value(QtMediaServices::Title).toString(), title);
+    QList<QtMultimedia::MetaData> metaDataKeys = object.availableMetaData();
+    QCOMPARE(metaDataKeys.size(), 3);
+    QVERIFY(metaDataKeys.contains(QtMultimedia::AlbumArtist));
+    QVERIFY(metaDataKeys.contains(QtMultimedia::Title));
+    QVERIFY(metaDataKeys.contains(QtMultimedia::Genre));
 }
 
 void tst_QMediaObject::extendedMetaData()
@@ -530,19 +471,6 @@
     QVERIFY(extendedKeys.contains(QLatin1String("Genre")));
 }
 
-void tst_QMediaObject::setExtendedMetaData()
-{
-    QtTestMetaDataService service;
-    service.metaData.populateMetaData();
-
-    QtTestMediaObject object(&service);
-
-    QString title(QLatin1String("In the Kingdom of the Blind the One eyed are Kings"));
-
-    object.setExtendedMetaData(QLatin1String("Title"), title);
-    QCOMPARE(object.extendedMetaData(QLatin1String("Title")).toString(), title);
-    QCOMPARE(service.metaData.m_extendedData.value(QLatin1String("Title")).toString(), title);
-}
 
 QTEST_MAIN(tst_QMediaObject)