1
/****************************************************************************
3
** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
4
** All rights reserved.
5
** Contact: Nokia Corporation (qt-info@nokia.com)
7
** This file is part of the Qt Mobility Components.
9
** $QT_BEGIN_LICENSE:LGPL$
11
** Licensees holding valid Qt Commercial licenses may use this file in
12
** accordance with the Qt Solutions Commercial License Agreement provided
13
** with the Software or, alternatively, in accordance with the terms
14
** contained in a written agreement between you and Nokia.
16
** GNU Lesser General Public License Usage
17
** Alternatively, this file may be used under the terms of the GNU Lesser
18
** General Public License version 2.1 as published by the Free Software
19
** Foundation and appearing in the file LICENSE.LGPL included in the
20
** packaging of this file. Please review the following information to
21
** ensure the GNU Lesser General Public License version 2.1 requirements
22
** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
24
** In addition, as a special exception, Nokia gives you certain additional
25
** rights. These rights are described in the Nokia Qt LGPL Exception
26
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
28
** GNU General Public License Usage
29
** Alternatively, this file may be used under the terms of the GNU
30
** General Public License version 3.0 as published by the Free Software
31
** Foundation and appearing in the file LICENSE.GPL included in the
32
** packaging of this file. Please review the following information to
33
** ensure the GNU General Public License version 3.0 requirements will be
34
** met: http://www.gnu.org/copyleft/gpl.html.
36
** Please note Third Party Software included with Qt Solutions may impose
37
** additional restrictions and it is the user's responsibility to ensure
38
** that they have met the licensing requirements of the GPL, LGPL, or Qt
39
** Solutions Commercial license and the relevant license of the Third
40
** Party Software they are using.
42
** If you are unsure which license is appropriate for your use, please
43
** contact the sales department at qt-sales@nokia.com.
46
****************************************************************************/
48
//TESTED_COMPONENT=src/documentgallery
50
#include <qgalleryremoverequest.h>
52
#include <qabstractgallery.h>
53
#include <qgalleryabstractresponse.h>
55
#include <QtTest/QtTest>
59
class tst_QGalleryRemoveRequest : public QObject
65
void executeSynchronous();
66
void executeAsynchronous();
69
class QtGalleryTestResponse : public QGalleryAbstractResponse
73
QtGalleryTestResponse(
74
QGalleryAbstractRequest::Status status, int error, const QString &errorString)
76
if (error != QGalleryAbstractRequest::NoError)
77
QGalleryAbstractResponse::error(error, errorString);
78
else if (status == QGalleryAbstractRequest::Finished)
80
else if (status == QGalleryAbstractRequest::Idle)
84
bool waitForFinished(int) { return false; }
87
void doFinish(bool idle) { finish(idle); }
88
void doError(int error, const QString &errorString) {
89
QGalleryAbstractResponse::error(error, errorString); }
92
class QtTestGallery : public QAbstractGallery
97
: m_status(QGalleryAbstractRequest::Active)
98
, m_error(QGalleryAbstractRequest::NoError)
101
bool isRequestSupported(QGalleryAbstractRequest::RequestType type) const {
102
return type == QGalleryAbstractRequest::RemoveRequest; }
104
void setStatus(QGalleryAbstractRequest::Status status) { m_status = status; }
105
void setError(int error, const QString &errorString) {
106
m_error = error; m_errorString = errorString; }
112
void finish(bool idle);
113
void error(int error, const QString &errorString);
116
QGalleryAbstractResponse *createResponse(QGalleryAbstractRequest *request)
118
if (request->type() == QGalleryAbstractRequest::RemoveRequest) {
119
QtGalleryTestResponse *response = new QtGalleryTestResponse(
120
m_status, m_error, m_errorString);
122
connect(this, SIGNAL(finish(bool)), response, SLOT(doFinish(bool)));
123
connect(this, SIGNAL(error(int,QString)), response, SLOT(doError(int,QString)));
131
QGalleryAbstractRequest::Status m_status;
133
QString m_errorString;
137
void tst_QGalleryRemoveRequest::properties()
139
QGalleryRemoveRequest request;
141
request.setItemId(QVariant(76));
142
QCOMPARE(request.itemId(), QVariant(76));
144
request.setItemId(QVariant(QLatin1String("65")));
145
QCOMPARE(request.itemId(), QVariant(QLatin1String("65")));
148
void tst_QGalleryRemoveRequest::executeSynchronous()
150
QtTestGallery gallery;
151
gallery.setStatus(QGalleryAbstractRequest::Finished);
152
gallery.setError(80, QString());
154
QGalleryRemoveRequest request(&gallery);
157
QCOMPARE(request.error(), 80);
158
QCOMPARE(request.status(), QGalleryAbstractRequest::Error);
160
gallery.setError(QGalleryAbstractRequest::NoError, QString());
162
QCOMPARE(request.error(), int(QGalleryAbstractRequest::NoError));
163
QCOMPARE(request.status(), QGalleryAbstractRequest::Finished);
166
QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive);
169
void tst_QGalleryRemoveRequest::executeAsynchronous()
171
QtTestGallery gallery;
172
gallery.setStatus(QGalleryAbstractRequest::Active);
174
QGalleryRemoveRequest request(&gallery);
177
QCOMPARE(request.status(), QGalleryAbstractRequest::Active);
179
gallery.finish(false);
180
QCOMPARE(request.status(), QGalleryAbstractRequest::Finished);
183
QCOMPARE(request.status(), QGalleryAbstractRequest::Inactive);
186
QTEST_MAIN(tst_QGalleryRemoveRequest)
188
#include "tst_qgalleryremoverequest.moc"