summaryrefslogtreecommitdiffstats
path: root/tests/auto/qmediaservice/tst_qmediaservice.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/qmediaservice/tst_qmediaservice.cpp')
-rw-r--r--tests/auto/qmediaservice/tst_qmediaservice.cpp280
1 files changed, 0 insertions, 280 deletions
diff --git a/tests/auto/qmediaservice/tst_qmediaservice.cpp b/tests/auto/qmediaservice/tst_qmediaservice.cpp
deleted file mode 100644
index 3a46c56..0000000
--- a/tests/auto/qmediaservice/tst_qmediaservice.cpp
+++ /dev/null
@@ -1,280 +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$
-**
-****************************************************************************/
-
-//TESTED_COMPONENT=src/multimedia
-
-#include <QtTest/QtTest>
-
-#include <qvideodevicecontrol.h>
-#include <qmediacontrol.h>
-#include <qmediaservice.h>
-
-#include <QtCore/qcoreapplication.h>
-
-QT_BEGIN_NAMESPACE
-
-class QtTestMediaService;
-
-class QtTestMediaControlA : public QMediaControl
-{
- Q_OBJECT
-};
-
-#define QtTestMediaControlA_iid "com.nokia.QtTestMediaControlA"
-Q_MEDIA_DECLARE_CONTROL(QtTestMediaControlA, QtTestMediaControlA_iid)
-
-class QtTestMediaControlB : public QMediaControl
-{
- Q_OBJECT
-};
-
-#define QtTestMediaControlB_iid "com.nokia.QtTestMediaControlB"
-Q_MEDIA_DECLARE_CONTROL(QtTestMediaControlB, QtTestMediaControlB_iid)
-
-
-class QtTestMediaControlC : public QMediaControl
-{
- Q_OBJECT
-};
-
-#define QtTestMediaControlC_iid "com.nokia.QtTestMediaControlC"
-Q_MEDIA_DECLARE_CONTROL(QtTestMediaControlC, QtTestMediaControlA_iid) // Yes A.
-
-class QtTestMediaControlD : public QMediaControl
-{
- Q_OBJECT
-};
-
-#define QtTestMediaControlD_iid "com.nokia.QtTestMediaControlD"
-Q_MEDIA_DECLARE_CONTROL(QtTestMediaControlD, QtTestMediaControlD_iid)
-
-//unimplemented service
-#define QtTestMediaControlE_iid "com.nokia.QtTestMediaControlF"
-class QtTestMediaControlE : public QMediaControl
-{
- Q_OBJECT
-};
-
-/* implementation of child class by inheriting The QMediaService base class for media service implementations. */
-class QtTestMediaService : public QMediaService
-{
- Q_OBJECT
-public:
- int refA;
- int refB;
- int refC;
- QtTestMediaControlA controlA;
- QtTestMediaControlB controlB;
- QtTestMediaControlC controlC;
-
- //constructor
- QtTestMediaService(): QMediaService(0), refA(0), refB(0), refC(0)
- {
- }
-
- //requestControl() pure virtual function of QMediaService class.
- QMediaControl *requestControl(const char *name)
- {
- if (strcmp(name, QtTestMediaControlA_iid) == 0) {
- refA += 1;
-
- return &controlA;
- } else if (strcmp(name, QtTestMediaControlB_iid) == 0) {
- refB += 1;
-
- return &controlB;
- } else if (strcmp(name, QtTestMediaControlC_iid) == 0) {
- refA += 1;
-
- return &controlA;
- } else {
- return 0;
- }
- }
-
- //releaseControl() pure virtual function of QMediaService class.
- void releaseControl(QMediaControl *control)
- {
- if (control == &controlA)
- refA -= 1;
- else if (control == &controlB)
- refB -= 1;
- else if (control == &controlC)
- refC -= 1;
- }
-
- //requestControl() function of QMediaService class.
- using QMediaService::requestControl;
-};
-
-/* Test case implementation for QMediaService class which provides a common base class for media service implementations.*/
-class tst_QMediaService : public QObject
-{
- Q_OBJECT
-private slots:
- void tst_destructor();
- void tst_releaseControl();
- void tst_requestControl();
- void tst_requestControlTemplate();
-
- void initTestCase();
-
- void control_iid();
- void control();
-
-};
-
-/*MaemoAPI-1668 :destructor property test. */
-void tst_QMediaService::tst_destructor()
-{
- QtTestMediaService *service = new QtTestMediaService;
- delete service;
-}
-
-void tst_QMediaService::initTestCase()
-{
-}
-
-/*MaemoAPI-1669 :releaseControl() API property test. */
-void tst_QMediaService::tst_releaseControl()
-{
- //test class instance creation
- QtTestMediaService service;
-
- //Get a pointer to the media control implementing interface and verify.
- QMediaControl* controlA = service.requestControl(QtTestMediaControlA_iid);
- QCOMPARE(controlA, &service.controlA);
- service.releaseControl(controlA); //Controls must be returned to the service when no longer needed
- QVERIFY(service.refA == 0);
-
- //Get a pointer to the media control implementing interface and verify.
- QMediaControl* controlB = service.requestControl(QtTestMediaControlB_iid);
- QCOMPARE(controlB, &service.controlB);
- service.releaseControl(controlB); //Controls must be returned to the service when no longer needed
- QVERIFY(service.refB == 0);
-}
-
-/*MaemoAPI-1670 :requestControl() API property test. */
-void tst_QMediaService::tst_requestControl()
-{
- //test class instance creation
- QtTestMediaService service;
-
- //Get a pointer to the media control implementing interface and verify.
- QMediaControl* controlA = service.requestControl(QtTestMediaControlA_iid);
- QCOMPARE(controlA, &service.controlA);
- service.releaseControl(controlA); //Controls must be returned to the service when no longer needed
-
- //Get a pointer to the media control implementing interface and verify.
- QMediaControl* controlB = service.requestControl(QtTestMediaControlB_iid);
- QCOMPARE(controlB, &service.controlB);
- service.releaseControl(controlB); //Controls must be returned to the service when no longer needed
-
- //If the service does not implement the control, a null pointer is returned instead.
- QMediaControl* controlE = service.requestControl(QtTestMediaControlE_iid);
- QVERIFY(!controlE); //should return null pointer
- service.releaseControl(controlE); //Controls must be returned to the service when no longer needed
-
- //If the service is unavailable a null pointer is returned instead.
- QMediaControl* control = service.requestControl("");
- QVERIFY(!control); //should return null pointer
- service.releaseControl(control); //Controls must be returned to the service when no longer needed
-}
-
-/*MaemoAPI-1671 :requestControl() API property test. */
-void tst_QMediaService::tst_requestControlTemplate()
-{
- //test class instance creation
- QtTestMediaService service;
-
- //Get a pointer to the media control of type T implemented by a media service.
- QtTestMediaControlA *controlA = service.requestControl<QtTestMediaControlA *>();
- QCOMPARE(controlA, &service.controlA);
- service.releaseControl(controlA);
-
- //Get a pointer to the media control of type T implemented by a media service.
- QtTestMediaControlB *controlB = service.requestControl<QtTestMediaControlB *>();
- QCOMPARE(controlB, &service.controlB);
- service.releaseControl(controlB);
-
- QVERIFY(!service.requestControl<QtTestMediaControlC *>()); // Faulty implementation returns A.
- QCOMPARE(service.refA, 0); // Verify the control was released.
-
- QVERIFY(!service.requestControl<QtTestMediaControlD *>()); // No control of that type.
-}
-
-
-void tst_QMediaService::control_iid()
-{
- const char *nullString = 0;
-
- // Default implementation.
- QCOMPARE(qmediacontrol_iid<QtTestMediaControlE *>(), nullString);
-
- // Partial template.
- QVERIFY(qstrcmp(qmediacontrol_iid<QtTestMediaControlA *>(), QtTestMediaControlA_iid) == 0);
-}
-
-void tst_QMediaService::control()
-{
- QtTestMediaService service;
-
- QtTestMediaControlA *controlA = service.requestControl<QtTestMediaControlA *>();
- QCOMPARE(controlA, &service.controlA);
- service.releaseControl(controlA);
-
- QtTestMediaControlB *controlB = service.requestControl<QtTestMediaControlB *>();
- QCOMPARE(controlB, &service.controlB);
- service.releaseControl(controlB);
-
- QVERIFY(!service.requestControl<QtTestMediaControlC *>()); // Faulty implementation returns A, but is wrong class
- QCOMPARE(service.refA, 0); // Verify the control was released.
-
- QVERIFY(!service.requestControl<QtTestMediaControlD *>()); // No control of that type.
-}
-
-QT_END_NAMESPACE
-
-QT_USE_NAMESPACE
-
-QTEST_MAIN(tst_QMediaService)
-
-#include "tst_qmediaservice.moc"