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 #include <QtCore/QString>
30 #include <QtLocation/QPlaceImage>
31 #include <QtLocation/QPlaceUser>
32 #include <QtTest/QtTest>
33 
34 #include "../utils/qlocationtestutils_p.h"
35 
36 QT_USE_NAMESPACE
37 
38 class tst_QPlaceImage : public QObject
39 {
40     Q_OBJECT
41 
42 public:
43     tst_QPlaceImage();
44 
45     //needed for QLocationTestUtils::testConversion
46     QPlaceImage initialSubObject();
47     bool checkType(const QPlaceContent &);
48     void detach(QPlaceContent *);
49     void setSubClassProperty(QPlaceImage *);
50 
51 private Q_SLOTS:
52     void constructorTest();
53     void supplierTest();
54     void idTest();
55     void mimeTypeTest();
56     void attributionTest();
57     void operatorsTest();
58     void conversionTest();
59 };
60 
tst_QPlaceImage()61 tst_QPlaceImage::tst_QPlaceImage()
62 {
63 }
64 
initialSubObject()65 QPlaceImage tst_QPlaceImage::initialSubObject()
66 {
67     QPlaceUser user;
68     user.setName("user 1");
69     user.setUserId("0001");
70 
71     QPlaceSupplier supplier;
72     supplier.setName("supplier");
73     supplier.setSupplierId("1");
74 
75     QPlaceImage image;
76     image.setUrl(QUrl(QStringLiteral("file:///opt/icon/img.png")));
77     image.setImageId("0001");
78     image.setMimeType("image/png");
79     image.setUser(user);
80     image.setSupplier(supplier);
81     image.setAttribution("attribution");
82 
83     return image;
84 }
85 
checkType(const QPlaceContent & content)86 bool tst_QPlaceImage::checkType(const QPlaceContent &content)
87 {
88     return content.type() == QPlaceContent::ImageType;
89 }
90 
detach(QPlaceContent * content)91 void tst_QPlaceImage::detach(QPlaceContent *content)
92 {
93     content->setAttribution("attribution");
94 }
95 
setSubClassProperty(QPlaceImage * image)96 void tst_QPlaceImage::setSubClassProperty(QPlaceImage *image)
97 {
98     image->setImageId("0002");
99 }
100 
constructorTest()101 void tst_QPlaceImage::constructorTest()
102 {
103     QPlaceImage testObj;
104     testObj.setImageId("testId");
105     QPlaceImage *testObjPtr = new QPlaceImage(testObj);
106     QVERIFY2(testObjPtr != NULL, "Copy constructor - null");
107     QVERIFY2(*testObjPtr == testObj, "Copy constructor - compare");
108     delete testObjPtr;
109 }
110 
supplierTest()111 void tst_QPlaceImage::supplierTest()
112 {
113     QPlaceImage testObj;
114     QVERIFY2(testObj.supplier().supplierId() == QString(), "Wrong default value");
115     QPlaceSupplier sup;
116     sup.setName("testName1");
117     sup.setSupplierId("testId");
118     testObj.setSupplier(sup);
119     QVERIFY2(testObj.supplier() == sup, "Wrong value returned");
120 }
121 
idTest()122 void tst_QPlaceImage::idTest()
123 {
124     QPlaceImage testObj;
125     QVERIFY2(testObj.imageId() == QString(), "Wrong default value");
126     testObj.setImageId("testText");
127     QVERIFY2(testObj.imageId() == "testText", "Wrong value returned");
128 }
129 
mimeTypeTest()130 void tst_QPlaceImage::mimeTypeTest()
131 {
132     QPlaceImage testObj;
133     QVERIFY2(testObj.mimeType() == QString(), "Wrong default value");
134     testObj.setMimeType("testText");
135     QVERIFY2(testObj.mimeType() == "testText", "Wrong value returned");
136 }
137 
attributionTest()138 void tst_QPlaceImage::attributionTest()
139 {
140     QPlaceImage image;
141     QVERIFY(image.attribution().isEmpty());
142     image.setAttribution(QStringLiteral("Brought to you by acme"));
143     QCOMPARE(image.attribution(), QStringLiteral("Brought to you by acme"));
144     image.setAttribution(QString());
145     QVERIFY(image.attribution().isEmpty());
146 }
147 
operatorsTest()148 void tst_QPlaceImage::operatorsTest()
149 {
150     QPlaceImage testObj;
151     testObj.setMimeType("testValue");
152     QPlaceImage testObj2;
153     testObj2 = testObj;
154     QVERIFY2(testObj == testObj2, "Not copied correctly");
155     testObj2.setImageId("testValue2");
156     QVERIFY2(testObj != testObj2, "Object should be different");
157 }
158 
conversionTest()159 void tst_QPlaceImage::conversionTest()
160 {
161     QLocationTestUtils::testConversion<tst_QPlaceImage,
162                                        QPlaceContent,
163                                        QPlaceImage>(this);
164 }
165 
166 QTEST_APPLESS_MAIN(tst_QPlaceImage);
167 
168 #include "tst_qplaceimage.moc"
169