summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/unit/qmultimedia_common/mockmediaservice.h18
-rw-r--r--tests/auto/unit/qradiodata/tst_qradiodata.cpp128
-rw-r--r--tests/auto/unit/qradiotuner/tst_qradiotuner.cpp12
3 files changed, 100 insertions, 58 deletions
diff --git a/tests/auto/unit/qmultimedia_common/mockmediaservice.h b/tests/auto/unit/qmultimedia_common/mockmediaservice.h
index 4bd4a396e..316e78d7c 100644
--- a/tests/auto/unit/qmultimedia_common/mockmediaservice.h
+++ b/tests/auto/unit/qmultimedia_common/mockmediaservice.h
@@ -43,6 +43,9 @@
#define MOCKMEDIASERVICE_H
#include "qmediaservice.h"
+#include <QtCore/QMap>
+
+Q_DECLARE_METATYPE(QMediaControl *)
class MockMediaService : public QMediaService
{
@@ -52,14 +55,23 @@ public:
QMediaService(parent),
mockControl(control) {}
- QMediaControl* requestControl(const char *)
+ MockMediaService(QObject *parent, QMap<QString, QMediaControl *> controls):
+ QMediaService(parent),
+ mockControl(0),
+ mockControls(controls) {}
+
+ QMediaControl* requestControl(const char *key)
{
- return mockControl;
+ if (mockControl)
+ return mockControl;
+ else
+ return mockControls.value(key);
}
void releaseControl(QMediaControl*) {}
- QMediaControl *mockControl;
+ QMediaControl *mockControl;
+ QMap<QString, QMediaControl *> mockControls;
};
diff --git a/tests/auto/unit/qradiodata/tst_qradiodata.cpp b/tests/auto/unit/qradiodata/tst_qradiodata.cpp
index 2c3ab49d6..0e1138599 100644
--- a/tests/auto/unit/qradiodata/tst_qradiodata.cpp
+++ b/tests/auto/unit/qradiodata/tst_qradiodata.cpp
@@ -44,15 +44,19 @@
#include <QtTest/QtTest>
#include <QDebug>
#include <QTimer>
+#include <QtCore/QMap>
#include <qmediaobject.h>
#include <qmediacontrol.h>
#include <qmediaservice.h>
#include <qradiodatacontrol.h>
#include <qradiodata.h>
+#include <qradiotuner.h>
#include "mockmediaserviceprovider.h"
#include "mockmediaservice.h"
+#include "mockavailabilitycontrol.h"
+#include "mockradiotunercontrol.h"
#include "mockradiodatacontrol.h"
QT_USE_NAMESPACE
@@ -72,34 +76,47 @@ private slots:
void testRadioDataUpdates();
private:
- MockRadioDataControl *mock;
+ MockAvailabilityControl *mockAvailability;
+ MockRadioTunerControl *mockTuner;
+ MockRadioDataControl *mockData;
MockMediaService *service;
MockMediaServiceProvider *provider;
- QRadioData *radio;
+ QRadioTuner * radio;
+ QRadioData *radioData;
};
void tst_QRadioData::initTestCase()
{
qRegisterMetaType<QRadioData::ProgramType>("QRadioData::ProgramType");
- mock = new MockRadioDataControl(this);
- service = new MockMediaService(this, mock);
+ mockAvailability = new MockAvailabilityControl(QtMultimedia::NoError);
+ mockTuner = new MockRadioTunerControl(this);
+ mockData = new MockRadioDataControl(this);
+
+ QMap<QString, QMediaControl *> map;
+ map.insert(QRadioTunerControl_iid, mockTuner);
+ map.insert(QRadioDataControl_iid, mockData);
+ map.insert(QMediaAvailabilityControl_iid, mockAvailability);
+
+ service = new MockMediaService(this, map);
provider = new MockMediaServiceProvider(service);
QMediaServiceProvider::setDefaultServiceProvider(provider);
- radio = new QRadioData;
- QVERIFY(radio->service() != 0);
- QVERIFY(radio->isAvailable());
- QVERIFY(radio->availabilityError() == QtMultimedia::NoError);
+
+ radio = new QRadioTuner;
+ radioData = radio->radioData();
+
+ QVERIFY(radioData->availabilityError() == QtMultimedia::NoError);
}
void tst_QRadioData::cleanupTestCase()
{
- QVERIFY(radio->error() == QRadioData::NoError);
- QVERIFY(radio->errorString().isEmpty());
+ QVERIFY(radioData->error() == QRadioData::NoError);
+ QVERIFY(radioData->errorString().isEmpty());
delete radio;
delete service;
delete provider;
+ delete mockAvailability;
}
void tst_QRadioData::testNullService()
@@ -108,17 +125,21 @@ void tst_QRadioData::testNullService()
MockMediaServiceProvider nullProvider(0);
QMediaServiceProvider::setDefaultServiceProvider(&nullProvider);
- QRadioData radio;
-
- QVERIFY(!radio.isAvailable());
- QCOMPARE(radio.error(), QRadioData::ResourceError);
- QCOMPARE(radio.errorString(), QString());
- QCOMPARE(radio.stationId(), QString());
- QCOMPARE(radio.programType(), QRadioData::Undefined);
- QCOMPARE(radio.programTypeName(), QString());
- QCOMPARE(radio.stationName(), QString());
- QCOMPARE(radio.radioText(), QString());
- QCOMPARE(radio.isAlternativeFrequenciesEnabled(), false);
+ QRadioTuner radio;
+ QRadioData *nullRadioData = radio.radioData();
+
+ QVERIFY(nullRadioData == 0);
+
+ QRadioData radioData(&radio);
+
+ QCOMPARE(radioData.error(), QRadioData::ResourceError);
+ QCOMPARE(radioData.errorString(), QString());
+ QCOMPARE(radioData.stationId(), QString());
+ QCOMPARE(radioData.programType(), QRadioData::Undefined);
+ QCOMPARE(radioData.programTypeName(), QString());
+ QCOMPARE(radioData.stationName(), QString());
+ QCOMPARE(radioData.radioText(), QString());
+ QCOMPARE(radioData.isAlternativeFrequenciesEnabled(), false);
}
@@ -129,59 +150,58 @@ void tst_QRadioData::testNullControl()
MockMediaService service(0, 0);
MockMediaServiceProvider provider(&service);
QMediaServiceProvider::setDefaultServiceProvider(&provider);
- QRadioData radio;
- QVERIFY(!radio.isAvailable());
- QCOMPARE(radio.error(), QRadioData::ResourceError);
- QCOMPARE(radio.errorString(), QString());
-
- QCOMPARE(radio.stationId(), QString());
- QCOMPARE(radio.programType(), QRadioData::Undefined);
- QCOMPARE(radio.programTypeName(), QString());
- QCOMPARE(radio.stationName(), QString());
- QCOMPARE(radio.radioText(), QString());
- QCOMPARE(radio.isAlternativeFrequenciesEnabled(), false);
+ QRadioTuner radio;
+ QRadioData *radioData = radio.radioData();
+ QCOMPARE(radioData->error(), QRadioData::ResourceError);
+ QCOMPARE(radioData->errorString(), QString());
+
+ QCOMPARE(radioData->stationId(), QString());
+ QCOMPARE(radioData->programType(), QRadioData::Undefined);
+ QCOMPARE(radioData->programTypeName(), QString());
+ QCOMPARE(radioData->stationName(), QString());
+ QCOMPARE(radioData->radioText(), QString());
+ QCOMPARE(radioData->isAlternativeFrequenciesEnabled(), false);
{
- QSignalSpy spy(&radio, SIGNAL(alternativeFrequenciesEnabledChanged(bool)));
+ QSignalSpy spy(radioData, SIGNAL(alternativeFrequenciesEnabledChanged(bool)));
- radio.setAlternativeFrequenciesEnabled(true);
- QCOMPARE(radio.isAlternativeFrequenciesEnabled(), false);
+ radioData->setAlternativeFrequenciesEnabled(true);
+ QCOMPARE(radioData->isAlternativeFrequenciesEnabled(), false);
QCOMPARE(spy.count(), 0);
}
}
void tst_QRadioData::testAlternativeFrequencies()
{
- QSignalSpy readSignal(radio, SIGNAL(alternativeFrequenciesEnabledChanged(bool)));
- radio->setAlternativeFrequenciesEnabled(true);
+ QSignalSpy readSignal(radioData, SIGNAL(alternativeFrequenciesEnabledChanged(bool)));
+ radioData->setAlternativeFrequenciesEnabled(true);
QTestEventLoop::instance().enterLoop(1);
- QVERIFY(radio->isAlternativeFrequenciesEnabled() == true);
+ QVERIFY(radioData->isAlternativeFrequenciesEnabled() == true);
QVERIFY(readSignal.count() == 1);
}
void tst_QRadioData::testRadioDataUpdates()
{
- QSignalSpy rtSpy(radio, SIGNAL(radioTextChanged(QString)));
- QSignalSpy ptyPTYSpy(radio, SIGNAL(programTypeChanged(QRadioData::ProgramType)));
- QSignalSpy ptynSpy(radio, SIGNAL(programTypeNameChanged(QString)));
- QSignalSpy piSpy(radio, SIGNAL(stationIdChanged(QString)));
- QSignalSpy psSpy(radio, SIGNAL(stationNameChanged(QString)));
- mock->forceRT("Mock Radio Text");
- mock->forceProgramType(static_cast<int>(QRadioData::Sport));
- mock->forcePTYN("Mock Programme Type Name");
- mock->forcePI("Mock Programme Identification");
- mock->forcePS("Mock Programme Service");
+ QSignalSpy rtSpy(radioData, SIGNAL(radioTextChanged(QString)));
+ QSignalSpy ptyPTYSpy(radioData, SIGNAL(programTypeChanged(QRadioData::ProgramType)));
+ QSignalSpy ptynSpy(radioData, SIGNAL(programTypeNameChanged(QString)));
+ QSignalSpy piSpy(radioData, SIGNAL(stationIdChanged(QString)));
+ QSignalSpy psSpy(radioData, SIGNAL(stationNameChanged(QString)));
+ mockData->forceRT("Mock Radio Text");
+ mockData->forceProgramType(static_cast<int>(QRadioData::Sport));
+ mockData->forcePTYN("Mock Programme Type Name");
+ mockData->forcePI("Mock Programme Identification");
+ mockData->forcePS("Mock Programme Service");
QTestEventLoop::instance().enterLoop(1);
QVERIFY(rtSpy.count() == 1);
QVERIFY(ptyPTYSpy.count() == 1);
QVERIFY(ptynSpy.count() == 1);
QVERIFY(piSpy.count() == 1);
QVERIFY(psSpy.count() == 1);
- qDebug()<<radio->radioText();
- QCOMPARE(radio->radioText(), QString("Mock Radio Text"));
- QCOMPARE(radio->programType(), QRadioData::Sport);
- QCOMPARE(radio->programTypeName(), QString("Mock Programme Type Name"));
- QCOMPARE(radio->stationId(), QString("Mock Programme Identification"));
- QCOMPARE(radio->stationName(), QString("Mock Programme Service"));
+ QCOMPARE(radioData->radioText(), QString("Mock Radio Text"));
+ QCOMPARE(radioData->programType(), QRadioData::Sport);
+ QCOMPARE(radioData->programTypeName(), QString("Mock Programme Type Name"));
+ QCOMPARE(radioData->stationId(), QString("Mock Programme Identification"));
+ QCOMPARE(radioData->stationName(), QString("Mock Programme Service"));
}
QTEST_GUILESS_MAIN(tst_QRadioData)
diff --git a/tests/auto/unit/qradiotuner/tst_qradiotuner.cpp b/tests/auto/unit/qradiotuner/tst_qradiotuner.cpp
index 9a0172213..07bf8a8fd 100644
--- a/tests/auto/unit/qradiotuner/tst_qradiotuner.cpp
+++ b/tests/auto/unit/qradiotuner/tst_qradiotuner.cpp
@@ -44,6 +44,7 @@
#include <QtTest/QtTest>
#include <QDebug>
#include <QTimer>
+#include <QtCore/QMap>
#include <qmediaobject.h>
#include <qmediacontrol.h>
@@ -54,6 +55,7 @@
#include "mockmediaserviceprovider.h"
#include "mockmediaservice.h"
#include "mockradiotunercontrol.h"
+#include "mockavailabilitycontrol.h"
QT_USE_NAMESPACE
@@ -81,6 +83,7 @@ private slots:
private:
MockRadioTunerControl *mock;
+ MockAvailabilityControl *mockAvailability;
MockMediaService *service;
MockMediaServiceProvider *provider;
QRadioTuner *radio;
@@ -92,7 +95,13 @@ void tst_QRadioTuner::initTestCase()
qRegisterMetaType<QRadioTuner::Band>("QRadioTuner::Band");
mock = new MockRadioTunerControl(this);
- service = new MockMediaService(this, mock);
+ mockAvailability = new MockAvailabilityControl(QtMultimedia::NoError);
+
+ QMap<QString, QMediaControl *> map;
+ map.insert(QRadioTunerControl_iid, mock);
+ map.insert(QMediaAvailabilityControl_iid, mockAvailability);
+
+ service = new MockMediaService(this, map);
provider = new MockMediaServiceProvider(service);
QMediaServiceProvider::setDefaultServiceProvider(provider);
@@ -129,6 +138,7 @@ void tst_QRadioTuner::cleanupTestCase()
delete radio;
delete service;
delete provider;
+ delete mockAvailability;
}
void tst_QRadioTuner::init()