summaryrefslogtreecommitdiffstats
path: root/tests/auto/unit/qradiotuner/tst_qradiotuner.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/unit/qradiotuner/tst_qradiotuner.cpp')
-rw-r--r--tests/auto/unit/qradiotuner/tst_qradiotuner.cpp388
1 files changed, 0 insertions, 388 deletions
diff --git a/tests/auto/unit/qradiotuner/tst_qradiotuner.cpp b/tests/auto/unit/qradiotuner/tst_qradiotuner.cpp
deleted file mode 100644
index 02e4ef6e9..000000000
--- a/tests/auto/unit/qradiotuner/tst_qradiotuner.cpp
+++ /dev/null
@@ -1,388 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//TESTED_COMPONENT=src/multimedia
-
-#include <QtTest/QtTest>
-#include <QDebug>
-#include <QTimer>
-#include <QtCore/QMap>
-
-#include <qmediaobject.h>
-#include <qmediacontrol.h>
-#include <qmediaservice.h>
-#include <qradiotunercontrol.h>
-#include <qradiotuner.h>
-
-#include "mockmediaserviceprovider.h"
-#include "mockmediaservice.h"
-#include "mockradiotunercontrol.h"
-#include "mockavailabilitycontrol.h"
-
-QT_USE_NAMESPACE
-
-class tst_QRadioTuner: public QObject
-{
- Q_OBJECT
-
-public slots:
- void initTestCase();
- void cleanupTestCase();
- void init();
-
-private slots:
- void testNullService();
- void testNullControl();
- void testBand();
- void testFrequency();
- void testMute();
- void testSearch();
- void testVolume();
- void testSignal();
- void testStereo();
- void testSearchAllStations();
- void errorSignal();
-
-private:
- MockRadioTunerControl *mock;
- MockAvailabilityControl *mockAvailability;
- MockMediaService *service;
- MockMediaServiceProvider *provider;
- QRadioTuner *radio;
-};
-
-void tst_QRadioTuner::initTestCase()
-{
- qRegisterMetaType<QRadioTuner::State>("QRadioTuner::State");
- qRegisterMetaType<QRadioTuner::Band>("QRadioTuner::Band");
-
- mock = new MockRadioTunerControl(this);
- mockAvailability = new MockAvailabilityControl(QMultimedia::Available);
-
- 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);
-
- radio = new QRadioTuner;
- QVERIFY(radio->service() != 0);
- QVERIFY(radio->isAvailable());
- QVERIFY(radio->availability() == QMultimedia::Available);
-
- QSignalSpy stateSpy(radio, SIGNAL(stateChanged(QRadioTuner::State)));
-
- QCOMPARE(radio->state(), QRadioTuner::StoppedState);
- radio->start();
- QVERIFY(radio->availability() == QMultimedia::Available);
- QCOMPARE(radio->state(), QRadioTuner::ActiveState);
-
- QCOMPARE(stateSpy.count(), 1);
- QCOMPARE(stateSpy.first()[0].value<QRadioTuner::State>(), QRadioTuner::ActiveState);
-}
-
-void tst_QRadioTuner::cleanupTestCase()
-{
- QVERIFY(radio->error() == QRadioTuner::NoError);
- QVERIFY(radio->errorString().isEmpty());
-
- QSignalSpy stateSpy(radio, SIGNAL(stateChanged(QRadioTuner::State)));
-
- radio->stop();
- QVERIFY(radio->availability() == QMultimedia::Available);
- QCOMPARE(radio->state(), QRadioTuner::StoppedState);
- QCOMPARE(stateSpy.count(), 1);
-
- QCOMPARE(stateSpy.first()[0].value<QRadioTuner::State>(), QRadioTuner::StoppedState);
-
- delete radio;
- delete service;
- delete provider;
- delete mockAvailability;
-}
-
-void tst_QRadioTuner::init()
-{
- QMediaServiceProvider::setDefaultServiceProvider(provider);
-}
-
-void tst_QRadioTuner::testNullService()
-{
- const QPair<int, int> nullRange(0, 0);
-
- MockMediaServiceProvider provider(0);
- QMediaServiceProvider::setDefaultServiceProvider(&provider);
-
- QRadioTuner radio;
- QVERIFY(!radio.isAvailable());
- radio.start();
- QCOMPARE(radio.error(), QRadioTuner::ResourceError);
- QCOMPARE(radio.errorString(), QString());
- QCOMPARE(radio.band(), QRadioTuner::FM);
- QCOMPARE(radio.isBandSupported(QRadioTuner::AM), false);
- QCOMPARE(radio.isBandSupported(QRadioTuner::FM), false);
- QCOMPARE(radio.frequency(), 0);
- QCOMPARE(radio.frequencyStep(QRadioTuner::AM), 0);
- QCOMPARE(radio.frequencyStep(QRadioTuner::FM), 0);
- QCOMPARE(radio.frequencyRange(QRadioTuner::AM), nullRange);
- QCOMPARE(radio.frequencyRange(QRadioTuner::FM), nullRange);
- QCOMPARE(radio.isStereo(), false);
- QCOMPARE(radio.stereoMode(), QRadioTuner::Auto);
- QCOMPARE(radio.signalStrength(), 0);
- QCOMPARE(radio.volume(), 0);
- QCOMPARE(radio.isMuted(), false);
- QCOMPARE(radio.isSearching(), false);
- radio.stop();
-}
-
-void tst_QRadioTuner::testNullControl()
-{
- const QPair<int, int> nullRange(0, 0);
-
- MockMediaService service(0, 0);
- MockMediaServiceProvider provider(&service);
- QMediaServiceProvider::setDefaultServiceProvider(&provider);
- QRadioTuner radio;
- QVERIFY(!radio.isAvailable());
- radio.start();
-
- QCOMPARE(radio.error(), QRadioTuner::ResourceError);
- QCOMPARE(radio.errorString(), QString());
-
- QCOMPARE(radio.band(), QRadioTuner::FM);
- QCOMPARE(radio.isBandSupported(QRadioTuner::AM), false);
- QCOMPARE(radio.isBandSupported(QRadioTuner::FM), false);
- QCOMPARE(radio.frequency(), 0);
- QCOMPARE(radio.frequencyStep(QRadioTuner::AM), 0);
- QCOMPARE(radio.frequencyStep(QRadioTuner::FM), 0);
- QCOMPARE(radio.frequencyRange(QRadioTuner::AM), nullRange);
- QCOMPARE(radio.frequencyRange(QRadioTuner::FM), nullRange);
- {
- QSignalSpy bandSpy(&radio, SIGNAL(bandChanged(QRadioTuner::Band)));
- QSignalSpy frequencySpy(&radio, SIGNAL(frequencyChanged(int)));
-
- radio.setFrequency(107500);
- QCOMPARE(radio.band(), QRadioTuner::FM);
- QCOMPARE(radio.frequency(), 0);
- QCOMPARE(bandSpy.count(), 0);
- QCOMPARE(frequencySpy.count(), 0);
-
- radio.setBand(QRadioTuner::AM);
- QCOMPARE(radio.band(), QRadioTuner::FM);
- QCOMPARE(radio.frequency(), 0);
- QCOMPARE(bandSpy.count(), 0);
- QCOMPARE(frequencySpy.count(), 0);
- }
- QCOMPARE(radio.isStereo(), false);
- QCOMPARE(radio.stereoMode(), QRadioTuner::Auto);
-
- radio.setStereoMode(QRadioTuner::ForceStereo);
- QCOMPARE(radio.stereoMode(), QRadioTuner::Auto);
-
- QCOMPARE(radio.signalStrength(), 0);
-
- QCOMPARE(radio.volume(), 0);
- QCOMPARE(radio.isMuted(), false);
- {
- QSignalSpy volumeSpy(&radio, SIGNAL(volumeChanged(int)));
- QSignalSpy muteSpy(&radio, SIGNAL(mutedChanged(bool)));
-
- radio.setVolume(76);
- QCOMPARE(radio.volume(), 0);
- QCOMPARE(volumeSpy.count(), 0);
-
- radio.setMuted(true);
- QCOMPARE(radio.isMuted(), false);
- QCOMPARE(muteSpy.count(), 0);
- }
- QCOMPARE(radio.isSearching(), false);
- {
- QSignalSpy spy(&radio, SIGNAL(searchingChanged(bool)));
-
- radio.searchBackward();
- QCOMPARE(radio.isSearching(), false);
- QCOMPARE(spy.count(), 0);
-
- radio.searchForward();
- QCOMPARE(radio.isSearching(), false);
- QCOMPARE(spy.count(), 0);
-
- radio.searchAllStations();
- QCOMPARE(radio.isSearching(), false);
- QCOMPARE(spy.count(), 0);
-
- radio.cancelSearch();
- QCOMPARE(radio.isSearching(), false);
- QCOMPARE(spy.count(), 0);
- }
-
- radio.stop();
-}
-
-void tst_QRadioTuner::testBand()
-{
- QVERIFY(radio->isBandSupported(QRadioTuner::FM));
- QVERIFY(!radio->isBandSupported(QRadioTuner::SW));
-
- if(radio->isBandSupported(QRadioTuner::AM)) {
- QSignalSpy readSignal(radio, SIGNAL(bandChanged(QRadioTuner::Band)));
- radio->setBand(QRadioTuner::AM);
- QTestEventLoop::instance().enterLoop(1);
- QVERIFY(radio->band() == QRadioTuner::AM);
- QVERIFY(readSignal.count() == 1);
- }
-}
-
-void tst_QRadioTuner::testFrequency()
-{
- QSignalSpy readSignal(radio, SIGNAL(frequencyChanged(int)));
- radio->setFrequency(104500000);
- QTestEventLoop::instance().enterLoop(1);
- QVERIFY(radio->frequency() == 104500000);
- QVERIFY(readSignal.count() == 1);
-
- QVERIFY(radio->frequencyStep(QRadioTuner::FM) == 1);
- QPair<int,int> test = radio->frequencyRange(QRadioTuner::FM);
- QVERIFY(test.first == 1);
- QVERIFY(test.second == 2);
-}
-
-void tst_QRadioTuner::testMute()
-{
- QSignalSpy readSignal(radio, SIGNAL(mutedChanged(bool)));
- radio->setMuted(true);
- QTestEventLoop::instance().enterLoop(1);
- QVERIFY(radio->isMuted());
- QVERIFY(readSignal.count() == 1);
-}
-
-void tst_QRadioTuner::testSearch()
-{
- QSignalSpy readSignal(radio, SIGNAL(searchingChanged(bool)));
- QVERIFY(!radio->isSearching());
-
- radio->searchForward();
- QTestEventLoop::instance().enterLoop(1);
- QVERIFY(radio->isSearching());
- QVERIFY(readSignal.count() == 1);
-
- radio->cancelSearch();
- QTestEventLoop::instance().enterLoop(1);
- QVERIFY(!radio->isSearching());
- QVERIFY(readSignal.count() == 2);
-
- radio->searchBackward();
- QTestEventLoop::instance().enterLoop(1);
- QVERIFY(radio->isSearching());
- QVERIFY(readSignal.count() == 3);
-
- radio->cancelSearch();
- QVERIFY(!radio->isSearching());
-}
-
-void tst_QRadioTuner::testVolume()
-{
- QVERIFY(radio->volume() == 100);
- QSignalSpy readSignal(radio, SIGNAL(volumeChanged(int)));
- radio->setVolume(50);
- QTestEventLoop::instance().enterLoop(1);
- QVERIFY(radio->volume() == 50);
- QVERIFY(readSignal.count() == 1);
-}
-
-void tst_QRadioTuner::testSignal()
-{
- QVERIFY(radio->signalStrength() == 0);
- // There is no set of this only a get, do nothing else.
-}
-
-void tst_QRadioTuner::testStereo()
-{
- /* no set function to toggle stereo status;
- cannot emit stereoStatusChanged() signal */
-
- QVERIFY(radio->isStereo());
- radio->setStereoMode(QRadioTuner::ForceMono);
- QVERIFY(radio->stereoMode() == QRadioTuner::ForceMono);
-}
-
-void tst_QRadioTuner::testSearchAllStations()
-{
- QSignalSpy foundSpy(radio, SIGNAL(stationFound(int,QString)));
- QSignalSpy completeSpy(radio, SIGNAL(searchingChanged(bool)));
- radio->searchAllStations(QRadioTuner::SearchGetStationId);
- QTestEventLoop::instance().enterLoop(1);
- QCOMPARE(radio->frequency(), 103100000 );
- QCOMPARE(foundSpy.count(), 3);
- QVERIFY(qvariant_cast<int>(foundSpy.at(2).at(0)) == 103100000 );
- QVERIFY(qvariant_cast<QString>(foundSpy.at(2).at(1)) == QString("MockProgramPI3") );
- QCOMPARE(completeSpy.count(), 2);
-}
-
-// QRadioTuner's errorsignal
-void tst_QRadioTuner::errorSignal()
-{
- qRegisterMetaType<QRadioTuner::Error>("QRadioTuner::Error");
- QObject obj;
- MockRadioTunerControl dctrl(&obj);
- MockMediaService service(&obj, &dctrl);
- MockMediaServiceProvider provider(&service);
- QMediaServiceProvider::setDefaultServiceProvider(&provider);
- QRadioTuner radio;
- QSignalSpy spy(&radio, SIGNAL(error(QRadioTuner::Error)));
- QVERIFY(radio.service() != 0);
- QVERIFY(radio.isAvailable());
- radio.start();
- radio.setBand(QRadioTuner::FM);
- QVERIFY(spy.count() == 1);
- QVERIFY(qvariant_cast<QRadioTuner::Error>(spy.at(0).at(0)) == QRadioTuner::NoError);
- QVERIFY(radio.error() == QRadioTuner::NoError);
- QVERIFY(radio.error() != QRadioTuner::OpenError);
- QVERIFY(radio.errorString().isEmpty());
- spy.clear();
-
- /* emits QRadioTuner::OutOfRangeError if band is set to FM2 or LW
- and frequency set to >= 148500000 */
-
- radio.setBand(QRadioTuner::LW);
- radio.setBand(QRadioTuner::FM2);
- radio.setFrequency(148500000);
- QVERIFY(spy.count() == 3);
- QVERIFY(qvariant_cast<QRadioTuner::Error>(spy.at(0).at(0)) == QRadioTuner::OutOfRangeError);
- QVERIFY(qvariant_cast<QRadioTuner::Error>(spy.at(1).at(0)) == QRadioTuner::OutOfRangeError);
- QVERIFY(qvariant_cast<QRadioTuner::Error>(spy.at(2).at(0)) == QRadioTuner::OutOfRangeError);
- QVERIFY(radio.error() == QRadioTuner::OutOfRangeError);
- QVERIFY2(!radio.errorString().isEmpty(), "band and range not supported");
- spy.clear();
- radio.stop();
-}
-
-QTEST_GUILESS_MAIN(tst_QRadioTuner)
-#include "tst_qradiotuner.moc"