diff options
author | Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com> | 2012-02-03 14:23:56 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-02-06 05:35:11 +0100 |
commit | fd3a3a72921fa1e55f265f2d30e94615e388505e (patch) | |
tree | 11c179aa53cf546dec3b0cc128132c833c5000d7 /tests/auto/unit | |
parent | fb73a565747d06faec7c47490c0c509a74ff08e3 (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')
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; |