summaryrefslogtreecommitdiffstats
path: root/tests/auto/unit
diff options
context:
space:
mode:
authorDmytro Poplavskiy <dmytro.poplavskiy@nokia.com>2012-02-03 14:23:56 +1000
committerQt by Nokia <qt-info@nokia.com>2012-02-06 05:35:11 +0100
commitfd3a3a72921fa1e55f265f2d30e94615e388505e (patch)
tree11c179aa53cf546dec3b0cc128132c833c5000d7 /tests/auto/unit
parentfb73a565747d06faec7c47490c0c509a74ff08e3 (diff)
Added metaDataChanged(key,value) signal to metadata controls.
It may be more efficient and convenient for application to use this signal instead of metaDataChanged(). metaDataChanged() signal is emitted for compatibility, backends should emit both signals. Signal added QMetadataReader/WritterControl, QMediaObject and QMediaRecorder. Change-Id: I5ca34a40e64b22034e6fde8cd7f9735cc3f72c68 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
Diffstat (limited to 'tests/auto/unit')
-rw-r--r--tests/auto/unit/qmediaobject/tst_qmediaobject.cpp25
-rw-r--r--tests/auto/unit/qmediarecorder/tst_qmediarecorder.cpp25
-rw-r--r--tests/auto/unit/qmultimedia_common/mockmetadatareadercontrol.h13
-rw-r--r--tests/auto/unit/qmultimedia_common/mockmetadatawritercontrol.h10
4 files changed, 58 insertions, 15 deletions
diff --git a/tests/auto/unit/qmediaobject/tst_qmediaobject.cpp b/tests/auto/unit/qmediaobject/tst_qmediaobject.cpp
index 2bbcca0f6..3887463c0 100644
--- a/tests/auto/unit/qmediaobject/tst_qmediaobject.cpp
+++ b/tests/auto/unit/qmediaobject/tst_qmediaobject.cpp
@@ -370,13 +370,24 @@ void tst_QMediaObject::metaDataChanged()
QtTestMetaDataService service;
QtTestMediaObject object(&service);
- QSignalSpy spy(&object, SIGNAL(metaDataChanged()));
-
- service.metaData.metaDataChanged();
- QCOMPARE(spy.count(), 1);
-
- service.metaData.metaDataChanged();
- QCOMPARE(spy.count(), 2);
+ QSignalSpy changedSpy(&object, SIGNAL(metaDataChanged()));
+ QSignalSpy changedWithValueSpy(&object, SIGNAL(metaDataChanged(QString, QVariant)));
+
+ service.metaData.setMetaData("key", "Value");
+ QCOMPARE(changedSpy.count(), 1);
+ QCOMPARE(changedWithValueSpy.count(), 1);
+ QCOMPARE(changedWithValueSpy.last()[0], QVariant("key"));
+ QCOMPARE(changedWithValueSpy.last()[1].value<QVariant>(), QVariant("Value"));
+
+ service.metaData.setMetaData("key", "Value");
+ QCOMPARE(changedSpy.count(), 1);
+ QCOMPARE(changedWithValueSpy.count(), 1);
+
+ service.metaData.setMetaData("key2", "Value");
+ QCOMPARE(changedSpy.count(), 2);
+ QCOMPARE(changedWithValueSpy.count(), 2);
+ QCOMPARE(changedWithValueSpy.last()[0], QVariant("key2"));
+ QCOMPARE(changedWithValueSpy.last()[1].value<QVariant>(), QVariant("Value"));
}
void tst_QMediaObject::metaData_data()
diff --git a/tests/auto/unit/qmediarecorder/tst_qmediarecorder.cpp b/tests/auto/unit/qmediarecorder/tst_qmediarecorder.cpp
index c99308631..713159538 100644
--- a/tests/auto/unit/qmediarecorder/tst_qmediarecorder.cpp
+++ b/tests/auto/unit/qmediarecorder/tst_qmediarecorder.cpp
@@ -833,13 +833,24 @@ void tst_QMediaRecorder::metaDataChanged()
QMediaRecorder recorder(&object);
- QSignalSpy spy(&recorder, SIGNAL(metaDataChanged()));
-
- service.mockMetaDataControl->metaDataChanged();
- QCOMPARE(spy.count(), 1);
-
- service.mockMetaDataControl->metaDataChanged();
- QCOMPARE(spy.count(), 2);
+ QSignalSpy changedSpy(&recorder, SIGNAL(metaDataChanged()));
+ QSignalSpy changedWithValueSpy(&recorder, SIGNAL(metaDataChanged(QString,QVariant)));
+
+ service.mockMetaDataControl->setMetaData("key", "Value");
+ QCOMPARE(changedSpy.count(), 1);
+ QCOMPARE(changedWithValueSpy.count(), 1);
+ QCOMPARE(changedWithValueSpy.last()[0], QVariant("key"));
+ QCOMPARE(changedWithValueSpy.last()[1].value<QVariant>(), QVariant("Value"));
+
+ service.mockMetaDataControl->setMetaData("key", "Value");
+ QCOMPARE(changedSpy.count(), 1);
+ QCOMPARE(changedWithValueSpy.count(), 1);
+
+ service.mockMetaDataControl->setMetaData("key2", "Value");
+ QCOMPARE(changedSpy.count(), 2);
+ QCOMPARE(changedWithValueSpy.count(), 2);
+ QCOMPARE(changedWithValueSpy.last()[0], QVariant("key2"));
+ QCOMPARE(changedWithValueSpy.last()[1].value<QVariant>(), QVariant("Value"));
}
void tst_QMediaRecorder::metaData_data()
diff --git a/tests/auto/unit/qmultimedia_common/mockmetadatareadercontrol.h b/tests/auto/unit/qmultimedia_common/mockmetadatareadercontrol.h
index 9c3af9b64..0afb9ce4f 100644
--- a/tests/auto/unit/qmultimedia_common/mockmetadatareadercontrol.h
+++ b/tests/auto/unit/qmultimedia_common/mockmetadatareadercontrol.h
@@ -73,6 +73,19 @@ public:
return m_data.value(key);
}
+ void setMetaData(const QString &key, const QVariant &value)
+ {
+ if (m_data[key] != value) {
+ if (value.isNull())
+ m_data.remove(key);
+ else
+ m_data[key] = value;
+
+ emit metaDataChanged(key, value);
+ emit metaDataChanged();
+ }
+ }
+
using QMetaDataReaderControl::metaDataChanged;
void populateMetaData()
diff --git a/tests/auto/unit/qmultimedia_common/mockmetadatawritercontrol.h b/tests/auto/unit/qmultimedia_common/mockmetadatawritercontrol.h
index 6d49f67a9..e380cd038 100644
--- a/tests/auto/unit/qmultimedia_common/mockmetadatawritercontrol.h
+++ b/tests/auto/unit/qmultimedia_common/mockmetadatawritercontrol.h
@@ -72,7 +72,15 @@ public:
QVariant metaData(const QString &key) const { return m_data.value(key); }//Getting the metadata from Multimediakit
void setMetaData(const QString &key, const QVariant &value)
{
- m_data.insert(key, value);
+ if (m_data[key] != value) {
+ if (value.isNull())
+ m_data.remove(key);
+ else
+ m_data[key] = value;
+
+ emit metaDataChanged(key, value);
+ emit metaDataChanged();
+ }
}
using QMetaDataWriterControl::metaDataChanged;