API unit tests from Maemo API test team.
A large number of tweaks and changes to original tests, and refactor a lot of the mock backends to reduce duplication. Changed viewfinder test case to use mock service and provider so that it matches the image capture test case. Reviewed-by: Jonas Rabbe (cherry picked from commit e40bef5508a4165cec4a46b97115aed461027fa5) Also licence header fix: (cherry picked from commit e9ee9e8c48b45b97d62ee4a82e400fa9d8ea8107) Change-Id: Ic59891d75563bb2e008a336eea859e8c44d8d831 Reviewed-on: http://codereview.qt.nokia.com/2078 Reviewed-by: Jonas Rabbe <jonas.rabbe@nokia.com>
This commit is contained in:
committed by
Qt by Nokia
parent
1e4dda9710
commit
a6128410da
@@ -48,9 +48,38 @@
|
||||
#include <qmediaobject.h>
|
||||
#include <qmediaservice.h>
|
||||
#include <qmetadatareadercontrol.h>
|
||||
#include <qaudiocapturesource.h>
|
||||
#include <qaudioendpointselector.h>
|
||||
|
||||
//TESTED_COMPONENT=src/multimedia
|
||||
|
||||
#include "mockmetadatareadercontrol.h"
|
||||
|
||||
class QtTestMetaDataService : public QMediaService
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
QtTestMetaDataService(QObject *parent = 0):QMediaService(parent), metaDataRef(0), hasMetaData(true)
|
||||
{
|
||||
}
|
||||
|
||||
QMediaControl *requestControl(const char *iid)
|
||||
{
|
||||
if (hasMetaData && qstrcmp(iid, QMetaDataReaderControl_iid) == 0)
|
||||
return &metaData;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
void releaseControl(QMediaControl *)
|
||||
{
|
||||
}
|
||||
|
||||
MockMetaDataReaderControl metaData;
|
||||
int metaDataRef;
|
||||
bool hasMetaData;
|
||||
};
|
||||
|
||||
QT_USE_NAMESPACE
|
||||
class tst_QMediaObject : public QObject
|
||||
{
|
||||
@@ -72,72 +101,13 @@ private slots:
|
||||
void extendedMetaData_data() { metaData_data(); }
|
||||
void extendedMetaData();
|
||||
|
||||
void service();
|
||||
void availabilityChangedSignal();
|
||||
|
||||
private:
|
||||
void setupNotifyTests();
|
||||
};
|
||||
|
||||
class QtTestMetaDataProvider : public QMetaDataReaderControl
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
QtTestMetaDataProvider(QObject *parent = 0)
|
||||
: QMetaDataReaderControl(parent)
|
||||
, m_available(false)
|
||||
{
|
||||
}
|
||||
|
||||
bool isMetaDataAvailable() const { return m_available; }
|
||||
void setMetaDataAvailable(bool available) {
|
||||
if (m_available != available)
|
||||
emit metaDataAvailableChanged(m_available = available);
|
||||
}
|
||||
QList<QtMultimediaKit::MetaData> availableMetaData() const { return m_data.keys(); }
|
||||
|
||||
|
||||
QVariant metaData(QtMultimediaKit::MetaData key) const { return m_data.value(key); }
|
||||
|
||||
QVariant extendedMetaData(const QString &key) const { return m_extendedData.value(key); }
|
||||
|
||||
QStringList availableExtendedMetaData() const { return m_extendedData.keys(); }
|
||||
|
||||
using QMetaDataReaderControl::metaDataChanged;
|
||||
|
||||
void populateMetaData()
|
||||
{
|
||||
m_available = true;
|
||||
}
|
||||
|
||||
bool m_available;
|
||||
QMap<QtMultimediaKit::MetaData, QVariant> m_data;
|
||||
QMap<QString, QVariant> m_extendedData;
|
||||
};
|
||||
|
||||
class QtTestMetaDataService : public QMediaService
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
QtTestMetaDataService(QObject *parent = 0):QMediaService(parent), metaDataRef(0), hasMetaData(true)
|
||||
{
|
||||
}
|
||||
|
||||
QMediaControl *requestControl(const char *iid)
|
||||
{
|
||||
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
|
||||
@@ -174,4 +144,4 @@ private:
|
||||
int m_c;
|
||||
int m_d;
|
||||
};
|
||||
#endif //TST_QMEDIAOBJECT_H
|
||||
#endif //TST_QMEDIAOBJECT_H
|
||||
|
||||
Reference in New Issue
Block a user