1 /****************************************************************************
2 **
3 ** Copyright (C) 2016 The Qt Company Ltd.
4 ** Contact: https://www.qt.io/licensing/
5 **
6 ** This file is part of the test suite of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:GPL-EXCEPT$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and The Qt Company. For licensing terms
14 ** and conditions see https://www.qt.io/terms-conditions. For further
15 ** information use the contact form at https://www.qt.io/contact-us.
16 **
17 ** GNU General Public License Usage
18 ** Alternatively, this file may be used under the terms of the GNU
19 ** General Public License version 3 as published by the Free Software
20 ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
21 ** included in the packaging of this file. Please review the following
22 ** information to ensure the GNU General Public License requirements will
23 ** be met: https://www.gnu.org/licenses/gpl-3.0.html.
24 **
25 ** $QT_END_LICENSE$
26 **
27 ****************************************************************************/
28 
29 #ifndef TST_QGEOCODEREPLY_H
30 #define TST_QGEOCODEREPLY_H
31 
32 #include <QtCore/QString>
33 #include <QtTest/QtTest>
34 #include <QtCore/QCoreApplication>
35 #include <QMetaType>
36 #include <QSignalSpy>
37 
38 #include "../utils/qlocationtestutils_p.h"
39 
40 #include <qgeocodereply.h>
41 #include <qgeolocation.h>
42 #include <qgeoaddress.h>
43 #include <qgeocoordinate.h>
44 #include <QtPositioning/QGeoRectangle>
45 
46 QT_USE_NAMESPACE
47 class SubGeocodeReply : public QGeoCodeReply
48 {
49     Q_OBJECT
50 public:
SubGeocodeReply()51     SubGeocodeReply() : QGeoCodeReply() {}
52 
callAddLocation(const QGeoLocation & location)53     void  callAddLocation ( const QGeoLocation & location ) {addLocation(location);}
callSetError(Error error,const QString & errorString)54     void  callSetError ( Error error, const QString & errorString ) {setError(error, errorString);}
callSetFinished(bool finished)55     void  callSetFinished ( bool finished ) {setFinished(finished);}
callSetLimit(int limit)56     void  callSetLimit ( int limit ) {setLimit(limit);}
callSetOffset(int offset)57     void  callSetOffset ( int offset ) {setOffset(offset);}
callSetLocations(const QList<QGeoLocation> & locations)58     void  callSetLocations ( const QList<QGeoLocation> & locations ) {setLocations(locations);}
callSetViewport(const QGeoShape & viewport)59     void  callSetViewport ( const QGeoShape &viewport ) {setViewport(viewport);}
60 
61 };
62 
63 class tst_QGeoCodeReply :public QObject
64 {
65     Q_OBJECT
66 
67 public slots:
68     void initTestCase();
69     void cleanupTestCase();
70     void init();
71     void cleanup();
72 
73     //Start Unit Test for QGeoCodeReply
74 private slots:
75     void constructor();
76     void constructor_error();
77     void constructor_error_data();
78     void destructor();
79     void destructor_data();
80     void abort();
81     void error();
82     void error_data();
83     void finished();
84     void limit();
85     void offset();
86     void locations();
87     void viewport();
88 
89     //End Unit Test for QGeoCodeReply
90 
91 
92 
93 private:
94     QSignalSpy *signalerror;
95     QSignalSpy *signalfinished;
96     SubGeocodeReply* reply;
97     QGeoLocation *qgeolocation;
98     QGeoRectangle *qgeoboundingbox;
99 };
100 
101 Q_DECLARE_METATYPE(QList<double>);
102 Q_DECLARE_METATYPE(QGeoCodeReply::Error);
103 
104 #endif // TST_QGEOCODEREPLY_H
105 
106