Cleanup multimedia unit tests.

Use QTEST_MAIN or QTEST_GUILESS_MAIN instead of equivalent custom main()
functions.  Also collapse each test into a single source file, in line
with most other autotests.

Change-Id: I38c7b6a9eb0ff1c9b8ac44de7d5f40d6ac6c46ea
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
This commit is contained in:
Jason McDonald
2011-12-02 14:39:42 +10:00
committed by Qt by Nokia
parent 4c834365c6
commit 3171081d43
24 changed files with 411 additions and 1023 deletions

View File

@@ -1,53 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation and
** appearing in the file LICENSE.LGPL included in the packaging of this
** file. Please review the following information to ensure the GNU Lesser
** General Public License version 2.1 requirements will be met:
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU General
** Public License version 3.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of this
** file. Please review the following information to ensure the GNU General
** Public License version 3.0 requirements will be met:
** http://www.gnu.org/copyleft/gpl.html.
**
** Other Usage
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include <QtCore/qcoreapplication.h>
#include <QtTest/QtTest>
#include "tst_qmediaobject.h"
int main(int argc, char**argv)
{
QCoreApplication app(argc,argv);
int ret;
tst_QMediaObject test_api;
ret = QTest::qExec(&test_api, argc, argv);
return ret;
}

View File

@@ -1,11 +1,7 @@
CONFIG += testcase
CONFIG += testcase no_private_qt_headers_warning
TARGET = tst_qmediaobject
QT += multimedia-private testlib
CONFIG += no_private_qt_headers_warning
include (../qmultimedia_common/mockrecorder.pri)
HEADERS+= tst_qmediaobject.h
SOURCES += main.cpp tst_qmediaobject.cpp
SOURCES += tst_qmediaobject.cpp

View File

@@ -4,7 +4,7 @@
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Toolkit.
** This file is part of the test suite of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
@@ -41,13 +41,111 @@
//TESTED_COMPONENT=src/multimedia
#include "tst_qmediaobject.h"
#include <QtTest/QtTest>
#include <QtCore/qtimer.h>
#include <qmediaobject.h>
#include <qmediaservice.h>
#include <qmetadatareadercontrol.h>
#include <qaudiocapturesource.h>
#include <qaudioendpointselector.h>
#include "mockmediarecorderservice.h"
#include "mockmediaserviceprovider.h"
#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
{
Q_OBJECT
private slots:
void propertyWatch();
void notifySignals_data();
void notifySignals();
void notifyInterval_data();
void notifyInterval();
void nullMetaDataControl();
void isMetaDataAvailable();
void metaDataChanged();
void metaData_data();
void metaData();
void availability();
void extendedMetaData_data() { metaData_data(); }
void extendedMetaData();
void service();
void availabilityChangedSignal();
private:
void setupNotifyTests();
};
class QtTestMediaObject : public QMediaObject
{
Q_OBJECT
Q_PROPERTY(int a READ a WRITE setA NOTIFY aChanged)
Q_PROPERTY(int b READ b WRITE setB NOTIFY bChanged)
Q_PROPERTY(int c READ c WRITE setC NOTIFY cChanged)
Q_PROPERTY(int d READ d WRITE setD)
public:
QtTestMediaObject(QMediaService *service = 0): QMediaObject(0, service), m_a(0), m_b(0), m_c(0), m_d(0) {}
using QMediaObject::addPropertyWatch;
using QMediaObject::removePropertyWatch;
int a() const { return m_a; }
void setA(int a) { m_a = a; }
int b() const { return m_b; }
void setB(int b) { m_b = b; }
int c() const { return m_c; }
void setC(int c) { m_c = c; }
int d() const { return m_d; }
void setD(int d) { m_d = d; }
Q_SIGNALS:
void aChanged(int a);
void bChanged(int b);
void cChanged(int c);
private:
int m_a;
int m_b;
int m_c;
int m_d;
};
void tst_QMediaObject::propertyWatch()
{
QtTestMediaObject object;
@@ -400,4 +498,7 @@ void tst_QMediaObject::availability()
QVERIFY(spy.count() == 1);
available = qvariant_cast<bool>(spy.at(0).at(0));
QVERIFY(available == false);
}
}
QTEST_GUILESS_MAIN(tst_QMediaObject)
#include "tst_qmediaobject.moc"

View File

@@ -1,147 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation and
** appearing in the file LICENSE.LGPL included in the packaging of this
** file. Please review the following information to ensure the GNU Lesser
** General Public License version 2.1 requirements will be met:
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU General
** Public License version 3.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of this
** file. Please review the following information to ensure the GNU General
** Public License version 3.0 requirements will be met:
** http://www.gnu.org/copyleft/gpl.html.
**
** Other Usage
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
#ifndef TST_QMEDIAOBJECT_H
#define TST_QMEDIAOBJECT_H
#include <QtTest/QtTest>
#include <QtCore/qtimer.h>
#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
{
Q_OBJECT
private slots:
void propertyWatch();
void notifySignals_data();
void notifySignals();
void notifyInterval_data();
void notifyInterval();
void nullMetaDataControl();
void isMetaDataAvailable();
void metaDataChanged();
void metaData_data();
void metaData();
void availability();
void extendedMetaData_data() { metaData_data(); }
void extendedMetaData();
void service();
void availabilityChangedSignal();
private:
void setupNotifyTests();
};
class QtTestMediaObject : public QMediaObject
{
Q_OBJECT
Q_PROPERTY(int a READ a WRITE setA NOTIFY aChanged)
Q_PROPERTY(int b READ b WRITE setB NOTIFY bChanged)
Q_PROPERTY(int c READ c WRITE setC NOTIFY cChanged)
Q_PROPERTY(int d READ d WRITE setD)
public:
QtTestMediaObject(QMediaService *service = 0): QMediaObject(0, service), m_a(0), m_b(0), m_c(0), m_d(0) {}
using QMediaObject::addPropertyWatch;
using QMediaObject::removePropertyWatch;
int a() const { return m_a; }
void setA(int a) { m_a = a; }
int b() const { return m_b; }
void setB(int b) { m_b = b; }
int c() const { return m_c; }
void setC(int c) { m_c = c; }
int d() const { return m_d; }
void setD(int d) { m_d = d; }
Q_SIGNALS:
void aChanged(int a);
void bChanged(int b);
void cChanged(int c);
private:
int m_a;
int m_b;
int m_c;
int m_d;
};
#endif //TST_QMEDIAOBJECT_H

View File

@@ -1,53 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation and
** appearing in the file LICENSE.LGPL included in the packaging of this
** file. Please review the following information to ensure the GNU Lesser
** General Public License version 2.1 requirements will be met:
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU General
** Public License version 3.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of this
** file. Please review the following information to ensure the GNU General
** Public License version 3.0 requirements will be met:
** http://www.gnu.org/copyleft/gpl.html.
**
** Other Usage
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include <QtCore/qcoreapplication.h>
#include <QtTest/QtTest>
#include "tst_qmediaplayer.h"
int main(int argc, char**argv)
{
QCoreApplication app(argc,argv);
int ret;
tst_QMediaPlayer test_api;
ret = QTest::qExec(&test_api, argc, argv);
return ret;
}

View File

@@ -1,11 +1,7 @@
CONFIG += testcase
CONFIG += testcase no_private_qt_headers_warning
TARGET = tst_qmediaplayer
QT += network multimedia-private testlib
CONFIG += no_private_qt_headers_warning
HEADERS += tst_qmediaplayer.h
SOURCES += main.cpp tst_qmediaplayer.cpp
SOURCES += tst_qmediaplayer.cpp
include (../qmultimedia_common/mock.pri)
include (../qmultimedia_common/mockplayer.pri)

View File

@@ -4,7 +4,7 @@
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Toolkit.
** This file is part of the test suite of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
@@ -41,10 +41,26 @@
//TESTED_COMPONENT=src/multimedia
#include "tst_qmediaplayer.h"
#include <QtTest/QtTest>
#include <QtCore/qdebug.h>
#include <QtCore/qbuffer.h>
#include <QtNetwork/qnetworkconfiguration.h>
#include <QtNetwork/qnetworkconfigmanager.h>
#include <qabstractvideosurface.h>
#include <qmediaplayer.h>
#include <qmediaplayercontrol.h>
#include <qmediaplaylist.h>
#include <qmediaservice.h>
#include <qmediastreamscontrol.h>
#include <qmedianetworkaccesscontrol.h>
#include <qvideorenderercontrol.h>
#include "mockmediaserviceprovider.h"
#include "mockmediaplayerservice.h"
#include "mockvideosurface.h"
// Encouraging successful diversity through copy and paste.
#ifndef QTRY_COMPARE
#define QTRY_COMPARE(__expr, __expected) \
@@ -78,7 +94,75 @@
QT_USE_NAMESPACE
#include "mockvideosurface.h"
class AutoConnection
{
public:
AutoConnection(QObject *sender, const char *signal, QObject *receiver, const char *method)
: sender(sender), signal(signal), receiver(receiver), method(method)
{
QObject::connect(sender, signal, receiver, method);
}
~AutoConnection()
{
QObject::disconnect(sender, signal, receiver, method);
}
private:
QObject *sender;
const char *signal;
QObject *receiver;
const char *method;
};
class tst_QMediaPlayer: public QObject
{
Q_OBJECT
public slots:
void initTestCase_data();
void initTestCase();
void cleanupTestCase();
void init();
void cleanup();
private slots:
void testNullService();
void testValid();
void testMedia();
void testDuration();
void testPosition();
void testVolume();
void testMuted();
void testIsAvailable();
void testVideoAvailable();
void testBufferStatus();
void testSeekable();
void testPlaybackRate();
void testError();
void testErrorString();
void testService();
void testPlay();
void testPause();
void testStop();
void testMediaStatus();
void testPlaylist();
void testNetworkAccess();
void testSetVideoOutput();
void testSetVideoOutputNoService();
void testSetVideoOutputNoControl();
void testSetVideoOutputDestruction();
void testPositionPropertyWatch();
void debugEnums();
void testPlayerFlags();
void testDestructor();
void testSupportedMimeTypes();
private:
MockMediaServiceProvider *mockProvider;
MockMediaPlayerService *mockService;
QMediaPlayer *player;
};
void tst_QMediaPlayer::initTestCase_data()
{
@@ -1048,3 +1132,6 @@ void tst_QMediaPlayer::testSupportedMimeTypes()
// This is empty on some platforms, and not on others, so can't test something here at the moment.
}
QTEST_GUILESS_MAIN(tst_QMediaPlayer)
#include "tst_qmediaplayer.moc"

View File

@@ -1,133 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation and
** appearing in the file LICENSE.LGPL included in the packaging of this
** file. Please review the following information to ensure the GNU Lesser
** General Public License version 2.1 requirements will be met:
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU General
** Public License version 3.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of this
** file. Please review the following information to ensure the GNU General
** Public License version 3.0 requirements will be met:
** http://www.gnu.org/copyleft/gpl.html.
**
** Other Usage
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
#ifndef TST_QMEDIAPLAYER_H
#define TST_QMEDIAPLAYER_H
#include <QtTest/QtTest>
#include <QtCore/qdebug.h>
#include <QtCore/qbuffer.h>
#include <QtNetwork/qnetworkconfiguration.h>
#include <qabstractvideosurface.h>
#include <qmediaplayer.h>
#include <qmediaplayercontrol.h>
#include <qmediaplaylist.h>
#include <qmediaservice.h>
#include <qmediastreamscontrol.h>
#include <qmedianetworkaccesscontrol.h>
#include <qvideorenderercontrol.h>
#include "mockmediaserviceprovider.h"
#include "mockmediaplayerservice.h"
QT_USE_NAMESPACE
class AutoConnection
{
public:
AutoConnection(QObject *sender, const char *signal, QObject *receiver, const char *method)
: sender(sender), signal(signal), receiver(receiver), method(method)
{
QObject::connect(sender, signal, receiver, method);
}
~AutoConnection()
{
QObject::disconnect(sender, signal, receiver, method);
}
private:
QObject *sender;
const char *signal;
QObject *receiver;
const char *method;
};
class tst_QMediaPlayer: public QObject
{
Q_OBJECT
public slots:
void initTestCase_data();
void initTestCase();
void cleanupTestCase();
void init();
void cleanup();
private slots:
void testNullService();
void testValid();
void testMedia();
void testDuration();
void testPosition();
void testVolume();
void testMuted();
void testIsAvailable();
void testVideoAvailable();
void testBufferStatus();
void testSeekable();
void testPlaybackRate();
void testError();
void testErrorString();
void testService();
void testPlay();
void testPause();
void testStop();
void testMediaStatus();
void testPlaylist();
void testNetworkAccess();
void testSetVideoOutput();
void testSetVideoOutputNoService();
void testSetVideoOutputNoControl();
void testSetVideoOutputDestruction();
void testPositionPropertyWatch();
void debugEnums();
void testPlayerFlags();
void testDestructor();
void testSupportedMimeTypes();
private:
MockMediaServiceProvider *mockProvider;
MockMediaPlayerService *mockService;
QMediaPlayer *player;
};
#endif //TST_QMEDIAPLAYER_H

View File

@@ -1,53 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation and
** appearing in the file LICENSE.LGPL included in the packaging of this
** file. Please review the following information to ensure the GNU Lesser
** General Public License version 2.1 requirements will be met:
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU General
** Public License version 3.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of this
** file. Please review the following information to ensure the GNU General
** Public License version 3.0 requirements will be met:
** http://www.gnu.org/copyleft/gpl.html.
**
** Other Usage
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include <QtWidgets/QApplication>
#include <QtTest/QtTest>
#include "tst_qmediaplayerwidgets.h"
int main(int argc, char**argv)
{
QApplication app(argc,argv);
int ret;
tst_QMediaPlayerWidgets test_api;
ret = QTest::qExec(&test_api, argc, argv);
return ret;
}

View File

@@ -1,11 +1,7 @@
CONFIG += testcase
CONFIG += testcase no_private_qt_headers_warning
TARGET = tst_qmediaplayerwidgets
QT += network multimedia-private multimediawidgets-private testlib widgets
CONFIG += no_private_qt_headers_warning
HEADERS += tst_qmediaplayerwidgets.h
SOURCES += main.cpp tst_qmediaplayerwidgets.cpp
SOURCES += tst_qmediaplayerwidgets.cpp
include (../qmultimedia_common/mock.pri)
include (../qmultimedia_common/mockplayer.pri)

View File

@@ -4,7 +4,7 @@
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Toolkit.
** This file is part of the test suite of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
@@ -41,12 +41,43 @@
//TESTED_COMPONENT=src/multimedia
#include "tst_qmediaplayerwidgets.h"
#include "mockvideosurface.h"
#include <QtTest/QtTest>
#include <QtCore/qdebug.h>
#include <QtCore/qbuffer.h>
#include <QtNetwork/qnetworkconfiguration.h>
#include <qgraphicsvideoitem.h>
#include <qabstractvideosurface.h>
#include <qmediaplayer.h>
#include <qmediaplayercontrol.h>
#include "mockmediaserviceprovider.h"
#include "mockmediaplayerservice.h"
#include "mockvideosurface.h"
QT_USE_NAMESPACE
class tst_QMediaPlayerWidgets: public QObject
{
Q_OBJECT
public slots:
void initTestCase();
void cleanupTestCase();
void init();
void cleanup();
private slots:
void testSetVideoOutput();
void testSetVideoOutputNoService();
void testSetVideoOutputNoControl();
private:
MockMediaServiceProvider *mockProvider;
MockMediaPlayerService *mockService;
QMediaPlayer *player;
};
void tst_QMediaPlayerWidgets::initTestCase()
{
qRegisterMetaType<QMediaPlayer::State>("QMediaPlayer::State");
@@ -160,3 +191,5 @@ void tst_QMediaPlayerWidgets::testSetVideoOutputNoControl()
QVERIFY(service.rendererControl->surface() == 0);
}
QTEST_MAIN(tst_QMediaPlayerWidgets)
#include "tst_qmediaplayerwidgets.moc"

View File

@@ -1,79 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation and
** appearing in the file LICENSE.LGPL included in the packaging of this
** file. Please review the following information to ensure the GNU Lesser
** General Public License version 2.1 requirements will be met:
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU General
** Public License version 3.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of this
** file. Please review the following information to ensure the GNU General
** Public License version 3.0 requirements will be met:
** http://www.gnu.org/copyleft/gpl.html.
**
** Other Usage
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
#ifndef TST_QMEDIAPLAYER_H
#define TST_QMEDIAPLAYER_H
#include <QtTest/QtTest>
#include <QtCore/qdebug.h>
#include <QtCore/qbuffer.h>
#include <QtNetwork/qnetworkconfiguration.h>
#include <qabstractvideosurface.h>
#include <qmediaplayer.h>
#include <qmediaplayercontrol.h>
#include "mockmediaserviceprovider.h"
#include "mockmediaplayerservice.h"
QT_USE_NAMESPACE
class tst_QMediaPlayerWidgets: public QObject
{
Q_OBJECT
public slots:
void initTestCase();
void cleanupTestCase();
void init();
void cleanup();
private slots:
void testSetVideoOutput();
void testSetVideoOutputNoService();
void testSetVideoOutputNoControl();
private:
MockMediaServiceProvider *mockProvider;
MockMediaPlayerService *mockService;
QMediaPlayer *player;
};
#endif //TST_QMEDIAPLAYER_H

View File

@@ -1,53 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation and
** appearing in the file LICENSE.LGPL included in the packaging of this
** file. Please review the following information to ensure the GNU Lesser
** General Public License version 2.1 requirements will be met:
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU General
** Public License version 3.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of this
** file. Please review the following information to ensure the GNU General
** Public License version 3.0 requirements will be met:
** http://www.gnu.org/copyleft/gpl.html.
**
** Other Usage
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include <QtCore/qcoreapplication.h>
#include <QtTest/QtTest>
#include "tst_qmediarecorder.h"
int main(int argc, char**argv)
{
QCoreApplication app(argc,argv);
int ret;
tst_QMediaRecorder test_api;
ret = QTest::qExec(&test_api, argc, argv);
return ret;
}

View File

@@ -1,12 +1,7 @@
CONFIG += testcase
CONFIG += testcase no_private_qt_headers_warning
TARGET = tst_qmediarecorder
QT += multimedia-private testlib
CONFIG += no_private_qt_headers_warning
SOURCES += tst_qmediarecorder.cpp
include (../qmultimedia_common/mock.pri)
include (../qmultimedia_common/mockrecorder.pri)
HEADERS += tst_qmediarecorder.h
SOURCES += main.cpp tst_qmediarecorder.cpp

View File

@@ -4,7 +4,7 @@
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Toolkit.
** This file is part of the test suite of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
@@ -41,10 +41,91 @@
//TESTED_COMPONENT=src/multimedia
#include "tst_qmediarecorder.h"
#include <QtTest/QtTest>
#include <QDebug>
#include <qmediaobject.h>
#include <qmediacontrol.h>
#include <qmediaservice.h>
#include <qmediarecordercontrol.h>
#include <qmediarecorder.h>
#include <qmetadatawritercontrol.h>
#include <qaudioendpointselector.h>
#include <qaudioencodercontrol.h>
#include <qmediacontainercontrol.h>
#include <qvideoencodercontrol.h>
#include <qaudioformat.h>
#include "mockmediarecorderservice.h"
#include "mockmediaobject.h"
QT_USE_NAMESPACE
class tst_QMediaRecorder: public QObject
{
Q_OBJECT
public slots:
void initTestCase();
void cleanupTestCase();
private slots:
void testNullService();
void testNullControls();
void testDeleteMediaObject();
void testError();
void testSink();
void testRecord();
void testMute();
void testAudioDeviceControl();
void testAudioEncodeControl();
void testMediaFormatsControl();
void testVideoEncodeControl();
void testEncodingSettings();
void testAudioSettings();
void testVideoSettings();
void nullMetaDataControl();
void isMetaDataAvailable();
void isWritable();
void metaDataChanged();
void metaData_data();
void metaData();
void setMetaData_data();
void setMetaData();
void extendedMetaData_data() { metaData_data(); }
void extendedMetaData();
void setExtendedMetaData_data() { extendedMetaData_data(); }
void setExtendedMetaData();
void testAudioSettingsCopyConstructor();
void testAudioSettingsOperatorNotEqual();
void testAudioSettingsOperatorEqual();
void testAudioSettingsOperatorAssign();
void testAudioSettingsDestructor();
void testAvailabilityError();
void testIsAvailable();
void testMediaObject();
void testEnum();
void testVideoSettingsQuality();
void testVideoSettingsEncodingMode();
void testVideoSettingsCopyConstructor();
void testVideoSettingsOperatorAssignment();
void testVideoSettingsOperatorNotEqual();
void testVideoSettingsOperatorComparison();
void testVideoSettingsDestructor();
private:
QAudioEncoderControl* encode;
QAudioEndpointSelector* audio;
MockMediaObject *object;
MockMediaRecorderService*service;
MockMediaRecorderControl *mock;
QMediaRecorder *capture;
QVideoEncoderControl* videoEncode;
};
void tst_QMediaRecorder::initTestCase()
{
qRegisterMetaType<QMediaRecorder::State>("QMediaRecorder::State");
@@ -1284,3 +1365,6 @@ void tst_QMediaRecorder::testVideoSettingsDestructor()
QVERIFY(!settings2->isNull());
delete settings2;
}
QTEST_GUILESS_MAIN(tst_QMediaRecorder)
#include "tst_qmediarecorder.moc"

View File

@@ -1,127 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation and
** appearing in the file LICENSE.LGPL included in the packaging of this
** file. Please review the following information to ensure the GNU Lesser
** General Public License version 2.1 requirements will be met:
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU General
** Public License version 3.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of this
** file. Please review the following information to ensure the GNU General
** Public License version 3.0 requirements will be met:
** http://www.gnu.org/copyleft/gpl.html.
**
** Other Usage
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
#ifndef TST_QMEDIARECORDER_H
#define TST_QMEDIARECORDER_H
#include <QtTest/QtTest>
#include <QDebug>
#include <qmediaobject.h>
#include <qmediacontrol.h>
#include <qmediaservice.h>
#include <qmediarecordercontrol.h>
#include <qmediarecorder.h>
#include <qmetadatawritercontrol.h>
#include <qaudioendpointselector.h>
#include <qaudioencodercontrol.h>
#include <qmediacontainercontrol.h>
#include <qvideoencodercontrol.h>
#include <qaudioformat.h>
#include "mockmediarecorderservice.h"
#include "mockmediaobject.h"
class tst_QMediaRecorder: public QObject
{
Q_OBJECT
public slots:
void initTestCase();
void cleanupTestCase();
private slots:
void testNullService();
void testNullControls();
void testDeleteMediaObject();
void testError();
void testSink();
void testRecord();
void testMute();
void testAudioDeviceControl();
void testAudioEncodeControl();
void testMediaFormatsControl();
void testVideoEncodeControl();
void testEncodingSettings();
void testAudioSettings();
void testVideoSettings();
void nullMetaDataControl();
void isMetaDataAvailable();
void isWritable();
void metaDataChanged();
void metaData_data();
void metaData();
void setMetaData_data();
void setMetaData();
void extendedMetaData_data() { metaData_data(); }
void extendedMetaData();
void setExtendedMetaData_data() { extendedMetaData_data(); }
void setExtendedMetaData();
void testAudioSettingsCopyConstructor();
void testAudioSettingsOperatorNotEqual();
void testAudioSettingsOperatorEqual();
void testAudioSettingsOperatorAssign();
void testAudioSettingsDestructor();
void testAvailabilityError();
void testIsAvailable();
void testMediaObject();
void testEnum();
void testVideoSettingsQuality();
void testVideoSettingsEncodingMode();
void testVideoSettingsCopyConstructor();
void testVideoSettingsOperatorAssignment();
void testVideoSettingsOperatorNotEqual();
void testVideoSettingsOperatorComparison();
void testVideoSettingsDestructor();
private:
QAudioEncoderControl* encode;
QAudioEndpointSelector* audio;
MockMediaObject *object;
MockMediaRecorderService*service;
MockMediaRecorderControl *mock;
QMediaRecorder *capture;
QVideoEncoderControl* videoEncode;
};
#endif //TST_QMEDIARECORDER_H

View File

@@ -1,53 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation and
** appearing in the file LICENSE.LGPL included in the packaging of this
** file. Please review the following information to ensure the GNU Lesser
** General Public License version 2.1 requirements will be met:
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU General
** Public License version 3.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of this
** file. Please review the following information to ensure the GNU General
** Public License version 3.0 requirements will be met:
** http://www.gnu.org/copyleft/gpl.html.
**
** Other Usage
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include <QtCore/qcoreapplication.h>
#include <QtTest/QtTest>
#include "tst_qradiodata.h"
int main(int argc, char**argv)
{
QCoreApplication app(argc,argv);
int ret;
tst_QRadioData test_api;
ret = QTest::qExec(&test_api, argc, argv);
return ret;
}

View File

@@ -1,11 +1,7 @@
CONFIG += testcase
CONFIG += testcase no_private_qt_headers_warning
TARGET = tst_qradiodata
QT += multimedia-private testlib
CONFIG += no_private_qt_headers_warning
HEADERS += tst_qradiodata.h
SOURCES += main.cpp tst_qradiodata.cpp
SOURCES += tst_qradiodata.cpp
include (../qmultimedia_common/mock.pri)
include (../qmultimedia_common/mockradio.pri)

View File

@@ -4,7 +4,7 @@
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Toolkit.
** This file is part of the test suite of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
@@ -41,10 +41,43 @@
//TESTED_COMPONENT=src/multimedia
#include "tst_qradiodata.h"
#include <QtTest/QtTest>
#include <QDebug>
#include <QTimer>
#include <qmediaobject.h>
#include <qmediacontrol.h>
#include <qmediaservice.h>
#include <qradiodatacontrol.h>
#include <qradiodata.h>
#include "mockmediaserviceprovider.h"
#include "mockmediaservice.h"
#include "mockradiodatacontrol.h"
QT_USE_NAMESPACE
class tst_QRadioData: public QObject
{
Q_OBJECT
public slots:
void initTestCase();
void cleanupTestCase();
private slots:
void testNullService();
void testNullControl();
void testAlternativeFrequencies();
void testRadioDataUpdates();
private:
MockRadioDataControl *mock;
MockMediaService *service;
MockMediaServiceProvider *provider;
QRadioData *radio;
};
void tst_QRadioData::initTestCase()
{
qRegisterMetaType<QRadioData::ProgramType>("QRadioData::ProgramType");
@@ -146,3 +179,6 @@ void tst_QRadioData::testRadioDataUpdates()
QCOMPARE(radio->stationId(), QString("Mock Programme Identification"));
QCOMPARE(radio->stationName(), QString("Mock Programme Service"));
}
QTEST_GUILESS_MAIN(tst_QRadioData)
#include "tst_qradiodata.moc"

View File

@@ -1,80 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation and
** appearing in the file LICENSE.LGPL included in the packaging of this
** file. Please review the following information to ensure the GNU Lesser
** General Public License version 2.1 requirements will be met:
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU General
** Public License version 3.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of this
** file. Please review the following information to ensure the GNU General
** Public License version 3.0 requirements will be met:
** http://www.gnu.org/copyleft/gpl.html.
**
** Other Usage
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
#ifndef TST_QRADIODATA_H
#define TST_QRADIODATA_H
#include <QtTest/QtTest>
#include <QDebug>
#include <QTimer>
#include <qmediaobject.h>
#include <qmediacontrol.h>
#include <qmediaservice.h>
#include <qradiodatacontrol.h>
#include <qradiodata.h>
#include "mockmediaserviceprovider.h"
#include "mockmediaservice.h"
#include "mockradiodatacontrol.h"
QT_USE_NAMESPACE
class tst_QRadioData: public QObject
{
Q_OBJECT
public slots:
void initTestCase();
void cleanupTestCase();
private slots:
void testNullService();
void testNullControl();
void testAlternativeFrequencies();
void testRadioDataUpdates();
private:
MockRadioDataControl *mock;
MockMediaService *service;
MockMediaServiceProvider *provider;
QRadioData *radio;
};
#endif

View File

@@ -1,53 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation and
** appearing in the file LICENSE.LGPL included in the packaging of this
** file. Please review the following information to ensure the GNU Lesser
** General Public License version 2.1 requirements will be met:
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU General
** Public License version 3.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of this
** file. Please review the following information to ensure the GNU General
** Public License version 3.0 requirements will be met:
** http://www.gnu.org/copyleft/gpl.html.
**
** Other Usage
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include <QtCore/qcoreapplication.h>
#include <QtTest/QtTest>
#include "tst_qradiotuner.h"
int main(int argc, char**argv)
{
QCoreApplication app(argc,argv);
int ret;
tst_QRadioTuner test_api;
ret = QTest::qExec(&test_api, argc, argv);
return ret;
}

View File

@@ -1,11 +1,7 @@
CONFIG += testcase
CONFIG += testcase no_private_qt_headers_warning
TARGET = tst_qradiotuner
QT += multimedia-private testlib
CONFIG += no_private_qt_headers_warning
HEADERS += tst_qradiotuner.h
SOURCES += main.cpp tst_qradiotuner.cpp
SOURCES += tst_qradiotuner.cpp
include (../qmultimedia_common/mock.pri)
include (../qmultimedia_common/mockradio.pri)

View File

@@ -4,7 +4,7 @@
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Toolkit.
** This file is part of the test suite of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
@@ -41,10 +41,50 @@
//TESTED_COMPONENT=src/multimedia
#include "tst_qradiotuner.h"
#include <QtTest/QtTest>
#include <QDebug>
#include <QTimer>
#include <qmediaobject.h>
#include <qmediacontrol.h>
#include <qmediaservice.h>
#include <qradiotunercontrol.h>
#include <qradiotuner.h>
#include "mockmediaserviceprovider.h"
#include "mockmediaservice.h"
#include "mockradiotunercontrol.h"
QT_USE_NAMESPACE
class tst_QRadioTuner: public QObject
{
Q_OBJECT
public slots:
void initTestCase();
void cleanupTestCase();
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;
MockMediaService *service;
MockMediaServiceProvider *provider;
QRadioTuner *radio;
};
void tst_QRadioTuner::initTestCase()
{
qRegisterMetaType<QRadioTuner::State>("QRadioTuner::State");
@@ -334,3 +374,6 @@ void tst_QRadioTuner::errorSignal()
spy.clear();
radio.stop();
}
QTEST_GUILESS_MAIN(tst_QRadioTuner)
#include "tst_qradiotuner.moc"

View File

@@ -1,87 +0,0 @@
/****************************************************************************
**
** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation and
** appearing in the file LICENSE.LGPL included in the packaging of this
** file. Please review the following information to ensure the GNU Lesser
** General Public License version 2.1 requirements will be met:
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU General
** Public License version 3.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of this
** file. Please review the following information to ensure the GNU General
** Public License version 3.0 requirements will be met:
** http://www.gnu.org/copyleft/gpl.html.
**
** Other Usage
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
#ifndef TST_QRADIOTUNER_H
#define TST_QRADIOTUNER_H
#include <QtTest/QtTest>
#include <QDebug>
#include <QTimer>
#include <qmediaobject.h>
#include <qmediacontrol.h>
#include <qmediaservice.h>
#include <qradiotunercontrol.h>
#include <qradiotuner.h>
#include "mockmediaserviceprovider.h"
#include "mockmediaservice.h"
#include "mockradiotunercontrol.h"
QT_USE_NAMESPACE
class tst_QRadioTuner: public QObject
{
Q_OBJECT
public slots:
void initTestCase();
void cleanupTestCase();
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;
MockMediaService *service;
MockMediaServiceProvider *provider;
QRadioTuner *radio;
};
#endif