Warning, file /frameworks/kcontacts/autotests/addresstest.cpp was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).
0001 /* 0002 This file is part of the KContacts framework. 0003 SPDX-FileCopyrightText: 2007 Tobias Koenig <tokoe@kde.org> 0004 0005 SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 0008 #include "addresstest.h" 0009 #include "addresseelist.h" 0010 #include "kcontacts/address.h" 0011 #include "vcardtool_p.h" 0012 #include <KConfig> 0013 #include <KConfigGroup> 0014 #include <QStandardPaths> 0015 #include <QTest> 0016 0017 QTEST_MAIN(AddressTest) 0018 void initLocale() 0019 { 0020 qputenv("LANG", "it_CH"); 0021 QLocale::setDefault(QLocale(QLocale::Italian, QLocale::Switzerland)); 0022 } 0023 0024 Q_CONSTRUCTOR_FUNCTION(initLocale) 0025 0026 void AddressTest::initTestCase() 0027 { 0028 } 0029 0030 void AddressTest::emptyTest() 0031 { 0032 KContacts::Address address; 0033 0034 QVERIFY(address.isEmpty()); 0035 } 0036 0037 void AddressTest::storeTest() 0038 { 0039 KContacts::Address address; 0040 0041 address.setId(QStringLiteral("My Id")); 0042 address.setType(KContacts::Address::Home); 0043 address.setPostOfficeBox(QStringLiteral("1234")); 0044 address.setExtended(QStringLiteral("My Extended Label")); 0045 address.setStreet(QStringLiteral("My Street")); 0046 address.setLocality(QStringLiteral("My Locality")); 0047 address.setRegion(QStringLiteral("My Region")); 0048 address.setPostalCode(QStringLiteral("My PostalCode")); 0049 address.setCountry(QStringLiteral("My Country")); 0050 address.setLabel(QStringLiteral("My Label")); 0051 0052 QCOMPARE(address.id(), QStringLiteral("My Id")); 0053 QCOMPARE(address.type(), KContacts::Address::Home); 0054 QCOMPARE(address.postOfficeBox(), QStringLiteral("1234")); 0055 QCOMPARE(address.extended(), QStringLiteral("My Extended Label")); 0056 QCOMPARE(address.street(), QStringLiteral("My Street")); 0057 QCOMPARE(address.locality(), QStringLiteral("My Locality")); 0058 QCOMPARE(address.region(), QStringLiteral("My Region")); 0059 QCOMPARE(address.postalCode(), QStringLiteral("My PostalCode")); 0060 QCOMPARE(address.country(), QStringLiteral("My Country")); 0061 QCOMPARE(address.label(), QStringLiteral("My Label")); 0062 QVERIFY(!address.geo().isValid()); 0063 } 0064 0065 void AddressTest::equalsTest() 0066 { 0067 KContacts::Address address1; 0068 KContacts::Address address2; 0069 0070 address1.setId(QStringLiteral("My Id")); 0071 address1.setType(KContacts::Address::Home); 0072 address1.setPostOfficeBox(QStringLiteral("1234")); 0073 address1.setExtended(QStringLiteral("My Extended Label")); 0074 address1.setStreet(QStringLiteral("My Street")); 0075 address1.setLocality(QStringLiteral("My Locality")); 0076 address1.setRegion(QStringLiteral("My Region")); 0077 address1.setPostalCode(QStringLiteral("My Postalcode")); 0078 address1.setCountry(QStringLiteral("My country")); 0079 address1.setLabel(QStringLiteral("My Label")); 0080 0081 address2.setId(QStringLiteral("My Id")); 0082 address2.setType(KContacts::Address::Home); 0083 address2.setPostOfficeBox(QStringLiteral("1234")); 0084 address2.setExtended(QStringLiteral("My Extended Label")); 0085 address2.setStreet(QStringLiteral("My Street")); 0086 address2.setLocality(QStringLiteral("My Locality")); 0087 address2.setRegion(QStringLiteral("My Region")); 0088 address2.setPostalCode(QStringLiteral("My Postalcode")); 0089 address2.setCountry(QStringLiteral("My country")); 0090 address2.setLabel(QStringLiteral("My Label")); 0091 0092 QVERIFY(address1 == address2); 0093 } 0094 0095 void AddressTest::differsTest() 0096 { 0097 KContacts::Address address1(KContacts::Address::Home); 0098 KContacts::Address address2(KContacts::Address::Work); 0099 0100 QVERIFY(address1 != address2); 0101 } 0102 0103 void AddressTest::assignmentTest() 0104 { 0105 KContacts::Address address1; 0106 KContacts::Address address2; 0107 0108 address1.setId(QStringLiteral("My Id")); 0109 address1.setType(KContacts::Address::Home); 0110 address1.setPostOfficeBox(QStringLiteral("1234")); 0111 address1.setExtended(QStringLiteral("My Extended Label")); 0112 address1.setStreet(QStringLiteral("My Street")); 0113 address1.setLocality(QStringLiteral("My Locality")); 0114 address1.setRegion(QStringLiteral("My Region")); 0115 address1.setPostalCode(QStringLiteral("My Postalcode")); 0116 address1.setCountry(QStringLiteral("My country")); 0117 address1.setLabel(QStringLiteral("My Label")); 0118 0119 address2 = address1; 0120 0121 QVERIFY(address1 == address2); 0122 } 0123 0124 void AddressTest::serializeTest() 0125 { 0126 KContacts::Address address1; 0127 KContacts::Address address2; 0128 0129 address1.setType(KContacts::Address::Work); 0130 address1.setPostOfficeBox(QStringLiteral("1234")); 0131 address1.setExtended(QStringLiteral("My Extended Label")); 0132 address1.setStreet(QStringLiteral("My Street")); 0133 address1.setLocality(QStringLiteral("My Locality")); 0134 address1.setRegion(QStringLiteral("My Region")); 0135 address1.setPostalCode(QStringLiteral("My Postalcode")); 0136 address1.setCountry(QStringLiteral("My country")); 0137 address1.setLabel(QStringLiteral("My Label")); 0138 0139 QByteArray data; 0140 QDataStream s(&data, QIODevice::WriteOnly); 0141 s << address1; 0142 0143 QDataStream t(&data, QIODevice::ReadOnly); 0144 t >> address2; 0145 0146 QVERIFY(address1 == address2); 0147 } 0148 0149 void AddressTest::formatTest() 0150 { 0151 { 0152 KContacts::Address address; 0153 address.setStreet(QStringLiteral("Lummerlandstr. 1")); 0154 address.setPostalCode(QStringLiteral("12345")); 0155 address.setLocality(QStringLiteral("Lummerstadt")); 0156 address.setCountry(QStringLiteral("Germany")); 0157 0158 const QString result( 0159 QStringLiteral("Jim Knopf\nLummerlandstr. 1\n" 0160 "12345 Lummerstadt\n\nGERMANIA")); 0161 0162 QCOMPARE(address.formatted(KContacts::AddressFormatStyle::Postal, QStringLiteral("Jim Knopf")), result); 0163 #if KCONTACTS_BUILD_DEPRECATED_SINCE(5, 92) 0164 QCOMPARE(address.formattedAddress(QStringLiteral("Jim Knopf")), result); 0165 #endif 0166 } 0167 0168 { 0169 KContacts::Address address; 0170 address.setStreet(QStringLiteral("457 Foobar Ave")); 0171 address.setPostalCode(QStringLiteral("1A2B3C")); 0172 address.setLocality(QStringLiteral("Nervousbreaktown")); 0173 address.setRegion(QStringLiteral("DC")); 0174 address.setCountry(QStringLiteral("United States of America")); 0175 0176 const QString result( 0177 QStringLiteral("Huck Finn\n457 Foobar Ave\nNERVOUSBREAKTOWN," 0178 " DC 1A2B3C\n\nSTATI UNITI")); 0179 QCOMPARE(address.formatted(KContacts::AddressFormatStyle::Postal, QStringLiteral("Huck Finn")), result); 0180 } 0181 0182 { 0183 KContacts::Address address; 0184 address.setStreet(QStringLiteral("Lummerlandstr. 1")); 0185 address.setPostalCode(QStringLiteral("12345")); 0186 address.setLocality(QStringLiteral("Lummerstadt")); 0187 address.setCountry(QStringLiteral("Deutschland")); 0188 0189 const QString result( 0190 QStringLiteral("Jim Knopf\nLummerlandstr. 1\n" 0191 "12345 Lummerstadt\n\nGERMANIA")); 0192 0193 QCOMPARE(address.formatted(KContacts::AddressFormatStyle::Postal, QStringLiteral("Jim Knopf")), result); 0194 } 0195 0196 { 0197 KContacts::Address address; 0198 address.setStreet(QStringLiteral("Lummerlandstr. 1")); 0199 address.setPostalCode(QStringLiteral("12345")); 0200 address.setLocality(QStringLiteral("Lummerstadt")); 0201 address.setCountry(QString()); 0202 0203 const QString result(QStringLiteral("Jim Knopf\nLummerlandstr. 1\n12345 Lummerstadt")); 0204 0205 QCOMPARE(address.formatted(KContacts::AddressFormatStyle::Postal, QStringLiteral("Jim Knopf")), result); 0206 } 0207 0208 { 0209 KContacts::Address address; 0210 address.setStreet(QStringLiteral("Haus Randa")); 0211 address.setPostalCode(QStringLiteral("1234")); 0212 address.setLocality(QStringLiteral("Randa")); 0213 address.setPostOfficeBox(QStringLiteral("5678")); 0214 address.setCountry(QStringLiteral("Schweiz")); 0215 0216 // we want the Italian variant of the Swiss format for it_CH 0217 const QString result(QStringLiteral("Dr. Konqui\nCasella postale 5678\nHaus Randa\n1234 Randa\n\nSVIZZERA")); 0218 0219 QCOMPARE(address.formatted(KContacts::AddressFormatStyle::Postal, QStringLiteral("Dr. Konqui")), result); 0220 } 0221 0222 { 0223 KContacts::Address address; 0224 address.setStreet(QStringLiteral("Haus Randa")); 0225 address.setPostalCode(QStringLiteral("1234")); 0226 address.setLocality(QStringLiteral("Randa")); 0227 address.setPostOfficeBox(QStringLiteral("5678")); 0228 address.setCountry(QStringLiteral("CH")); 0229 0230 // we want the Italian variant of the Swiss format for it_CH 0231 const QString result(QStringLiteral("Dr. Konqui\nCasella postale 5678\nHaus Randa\n1234 Randa\n\nSVIZZERA")); 0232 QCOMPARE(address.formatted(KContacts::AddressFormatStyle::Postal, QStringLiteral("Dr. Konqui")), result); 0233 } 0234 0235 { 0236 KContacts::Address address; 0237 address.setCountry(QStringLiteral("CH")); 0238 QCOMPARE(address.formatted(KContacts::AddressFormatStyle::Postal, QString()), QLatin1String("SVIZZERA")); 0239 } 0240 0241 { 0242 // business format for postal style 0243 KContacts::Address address; 0244 address.setCountry(QStringLiteral("AT")); 0245 address.setLocality(QStringLiteral("Berlin")); 0246 address.setPostalCode(QStringLiteral("10969")); 0247 address.setStreet(QStringLiteral("Prinzenstraße 85 F")); 0248 const auto result = QString::fromUtf8("KDE e.V.\nz.Hd. Dr. Konqi\nPrinzenstraße 85 F\n10969 Berlin\n\nAUSTRIA"); 0249 QCOMPARE(address.formatted(KContacts::AddressFormatStyle::Postal, QStringLiteral("Dr. Konqi"), QStringLiteral("KDE e.V.")), result); 0250 } 0251 0252 { 0253 // local vs latin script formats 0254 KContacts::Address address; 0255 address.setCountry(QStringLiteral("JP")); 0256 address.setRegion(QStringLiteral("Tokyo")); 0257 address.setLocality(QStringLiteral("Minato-ku")); 0258 address.setPostalCode(QStringLiteral("106-0047")); 0259 address.setStreet(QStringLiteral("4-6-28 Minami-Azabu")); 0260 auto result = QString::fromUtf8("4-6-28 Minami-Azabu, Minato-ku\nTOKYO 106-0047\n\nGIAPPONE"); 0261 QCOMPARE(address.formatted(KContacts::AddressFormatStyle::Postal), result); 0262 0263 address.setRegion(QStringLiteral("東京")); 0264 address.setLocality(QStringLiteral("都港区")); 0265 address.setPostalCode(QStringLiteral("106-0047")); 0266 address.setStreet(QStringLiteral("南麻布 4-6-28")); 0267 result = QString::fromUtf8("〒106-0047\n東京都港区南麻布 4-6-28\n\nGIAPPONE"); 0268 QCOMPARE(address.formatted(KContacts::AddressFormatStyle::Postal), result); 0269 } 0270 } 0271 0272 void AddressTest::shouldExportVcard3() 0273 { 0274 KContacts::Address address; 0275 0276 address.setId(QStringLiteral("My Id")); 0277 address.setType(KContacts::Address::Home); 0278 address.setPostOfficeBox(QStringLiteral("1234")); 0279 address.setExtended(QStringLiteral("My Extended Label")); 0280 address.setStreet(QStringLiteral("My Street")); 0281 address.setLocality(QStringLiteral("My Locality")); 0282 address.setRegion(QStringLiteral("My Region")); 0283 address.setPostalCode(QStringLiteral("My Postalcode")); 0284 address.setCountry(QStringLiteral("My country")); 0285 address.setLabel(QStringLiteral("My Label")); 0286 0287 KContacts::AddresseeList lst; 0288 KContacts::Addressee addr; 0289 addr.setEmails(QStringList() << QStringLiteral("foo@kde.org")); 0290 addr.setUid(QStringLiteral("testuid")); 0291 addr.insertAddress(address); 0292 lst << addr; 0293 0294 KContacts::VCardTool vcard; 0295 const QByteArray ba = vcard.exportVCards(lst, KContacts::VCard::v3_0); 0296 QByteArray expected( 0297 "BEGIN:VCARD\r\n" 0298 "VERSION:3.0\r\n" 0299 "ADR;TYPE=home:1234;My Extended Label;My Street;My Locality;My Region;My Pos\r\n" 0300 " talcode;My country\r\n" 0301 "EMAIL:foo@kde.org\r\n" 0302 "LABEL;TYPE=home:My Label\r\n" 0303 "N:;;;;\r\n" 0304 "UID:testuid\r\n" 0305 "END:VCARD\r\n\r\n"); 0306 QCOMPARE(ba, expected); 0307 } 0308 0309 void AddressTest::shouldParseAddressVCard3() 0310 { 0311 QByteArray vcarddata( 0312 "BEGIN:VCARD\n" 0313 "VERSION:3.0\n" 0314 "N:LastName;FirstName;;;\n" 0315 "ADR;TYPE=home:1234;My Extended Label;My Street;My Locality;My Region;My Pos\r\n" 0316 " talcode;My country\r\n" 0317 "UID:c80cf296-0825-4eb0-ab16-1fac1d522a33@xxxxxx.xx\n" 0318 "LABEL;TYPE=home:My Label\r\n" 0319 "REV:2015-03-14T09:24:45+00:00\n" 0320 "FN:FirstName LastName\n" 0321 "END:VCARD\n"); 0322 0323 KContacts::VCardTool vcard; 0324 const KContacts::AddresseeList lst = vcard.parseVCards(vcarddata); 0325 QCOMPARE(lst.count(), 1); 0326 QCOMPARE(lst.at(0).addresses().count(), 1); 0327 KContacts::Address address = lst.at(0).addresses().at(0); 0328 QCOMPARE(address.type(), KContacts::Address::Home); 0329 QCOMPARE(address.postOfficeBox(), QStringLiteral("1234")); 0330 QCOMPARE(address.extended(), QStringLiteral("My Extended Label")); 0331 QCOMPARE(address.region(), QStringLiteral("My Region")); 0332 QCOMPARE(address.street(), QStringLiteral("My Street")); 0333 QCOMPARE(address.country(), QStringLiteral("My country")); 0334 QCOMPARE(address.postalCode(), QStringLiteral("My Postalcode")); 0335 QCOMPARE(address.label(), QStringLiteral("My Label")); 0336 } 0337 0338 void AddressTest::shouldParseAddressVCard4() 0339 { 0340 QByteArray vcarddata( 0341 "BEGIN:VCARD\r\n" 0342 "VERSION:4.0\r\n" 0343 "ADR;LABEL=\"My Label\";TYPE=home:1234;My Extended Label;My Street;My Locality\r\n" 0344 " ;My Region;My Postalcode;My country\r\nEMAIL:foo@kde.org\r\n" 0345 "N:;;;;\r\n" 0346 "UID:testuid\r\n" 0347 "END:VCARD\r\n\r\n"); 0348 KContacts::VCardTool vcard; 0349 const KContacts::AddresseeList lst = vcard.parseVCards(vcarddata); 0350 QCOMPARE(lst.count(), 1); 0351 QCOMPARE(lst.at(0).addresses().count(), 1); 0352 KContacts::Address address = lst.at(0).addresses().at(0); 0353 QCOMPARE(address.type(), KContacts::Address::Home); 0354 QCOMPARE(address.postOfficeBox(), QStringLiteral("1234")); 0355 QCOMPARE(address.extended(), QStringLiteral("My Extended Label")); 0356 QCOMPARE(address.region(), QStringLiteral("My Region")); 0357 QCOMPARE(address.street(), QStringLiteral("My Street")); 0358 QCOMPARE(address.country(), QStringLiteral("My country")); 0359 QCOMPARE(address.postalCode(), QStringLiteral("My Postalcode")); 0360 QCOMPARE(address.label(), QStringLiteral("My Label")); 0361 } 0362 0363 void AddressTest::shouldParseAddressVCard4WithGeoPosition() 0364 { 0365 QByteArray vcarddata( 0366 "BEGIN:VCARD\r\n" 0367 "VERSION:4.0\r\n" 0368 "ADR;GEO=\"geo:22.500000,45.099998\";LABEL=\"My Label\";TYPE=home:1234;My Extend\r\n" 0369 " ed Label;My Street;My Locality;My Region;My Postalcode;My country\r\n" 0370 "EMAIL:foo@kde.org\r\n" 0371 "N:;;;;\r\n" 0372 "UID:testuid\r\n" 0373 "END:VCARD\r\n\r\n"); 0374 KContacts::VCardTool vcard; 0375 const KContacts::AddresseeList lst = vcard.parseVCards(vcarddata); 0376 QCOMPARE(lst.count(), 1); 0377 QCOMPARE(lst.at(0).addresses().count(), 1); 0378 KContacts::Address address = lst.at(0).addresses().at(0); 0379 QCOMPARE(address.type(), KContacts::Address::Home); 0380 QCOMPARE(address.postOfficeBox(), QStringLiteral("1234")); 0381 QCOMPARE(address.extended(), QStringLiteral("My Extended Label")); 0382 QCOMPARE(address.region(), QStringLiteral("My Region")); 0383 QCOMPARE(address.street(), QStringLiteral("My Street")); 0384 QCOMPARE(address.country(), QStringLiteral("My country")); 0385 QCOMPARE(address.postalCode(), QStringLiteral("My Postalcode")); 0386 QCOMPARE(address.label(), QStringLiteral("My Label")); 0387 KContacts::Geo geo = address.geo(); 0388 QVERIFY(geo.isValid()); 0389 QCOMPARE(geo.latitude(), 22.5f); 0390 QCOMPARE(geo.longitude(), 45.1f); 0391 } 0392 0393 void AddressTest::shouldExportVCard4WithGeoPosition() 0394 { 0395 KContacts::Address address; 0396 0397 address.setId(QStringLiteral("My Id")); 0398 address.setType(KContacts::Address::Home); 0399 address.setPostOfficeBox(QStringLiteral("1234")); 0400 address.setExtended(QStringLiteral("My Extended Label")); 0401 address.setStreet(QStringLiteral("My Street")); 0402 address.setLocality(QStringLiteral("My Locality")); 0403 address.setRegion(QStringLiteral("My Region")); 0404 address.setPostalCode(QStringLiteral("My Postalcode")); 0405 address.setCountry(QStringLiteral("My country")); 0406 address.setLabel(QStringLiteral("My Label")); 0407 0408 KContacts::Geo geo; 0409 0410 geo.setLatitude(22.5f); 0411 geo.setLongitude(45.1f); 0412 address.setGeo(geo); 0413 0414 KContacts::AddresseeList lst; 0415 KContacts::Addressee addr; 0416 addr.setEmails(QStringList() << QStringLiteral("foo@kde.org")); 0417 addr.setUid(QStringLiteral("testuid")); 0418 addr.insertAddress(address); 0419 lst << addr; 0420 0421 KContacts::VCardTool vcard; 0422 const QByteArray ba = vcard.exportVCards(lst, KContacts::VCard::v4_0); 0423 QByteArray expected( 0424 "BEGIN:VCARD\r\n" 0425 "VERSION:4.0\r\n" 0426 "ADR;GEO=\"geo:22.500000,45.099998\";LABEL=\"My Label\";TYPE=home:1234;My Extend\r\n" 0427 " ed Label;My Street;My Locality;My Region;My Postalcode;My country\r\n" 0428 "EMAIL:foo@kde.org\r\n" 0429 "N:;;;;\r\n" 0430 "UID:testuid\r\n" 0431 "END:VCARD\r\n\r\n"); 0432 QCOMPARE(ba, expected); 0433 } 0434 0435 void AddressTest::shouldExportVcard4() 0436 { 0437 KContacts::Address address; 0438 0439 address.setId(QStringLiteral("My Id")); 0440 address.setType(KContacts::Address::Home); 0441 address.setPostOfficeBox(QStringLiteral("1234")); 0442 address.setExtended(QStringLiteral("My Extended Label")); 0443 address.setStreet(QStringLiteral("My Street")); 0444 address.setLocality(QStringLiteral("My Locality")); 0445 address.setRegion(QStringLiteral("My Region")); 0446 address.setPostalCode(QStringLiteral("My Postalcode")); 0447 address.setCountry(QStringLiteral("My country")); 0448 address.setLabel(QStringLiteral("My Label")); 0449 0450 KContacts::AddresseeList lst; 0451 KContacts::Addressee addr; 0452 addr.setEmails(QStringList() << QStringLiteral("foo@kde.org")); 0453 addr.setUid(QStringLiteral("testuid")); 0454 addr.insertAddress(address); 0455 lst << addr; 0456 0457 KContacts::VCardTool vcard; 0458 const QByteArray ba = vcard.exportVCards(lst, KContacts::VCard::v4_0); 0459 QByteArray expected( 0460 "BEGIN:VCARD\r\n" 0461 "VERSION:4.0\r\n" 0462 "ADR;LABEL=\"My Label\";TYPE=home:1234;My Extended Label;My Street;My Locality\r\n" 0463 " ;My Region;My Postalcode;My country\r\nEMAIL:foo@kde.org\r\n" 0464 "N:;;;;\r\n" 0465 "UID:testuid\r\n" 0466 "END:VCARD\r\n\r\n"); 0467 QCOMPARE(ba, expected); 0468 } 0469 0470 void AddressTest::countryToISOTest() 0471 { 0472 using namespace KContacts; 0473 #if KCONTACTS_BUILD_DEPRECATED_SINCE(5, 89) 0474 QCOMPARE(Address::countryToISO(QStringLiteral("France")), QLatin1String("fr")); 0475 QCOMPARE(Address::countryToISO(QStringLiteral("Frankreich")), QLatin1String("fr")); 0476 QCOMPARE(Address::countryToISO(QStringLiteral("Germany")), QLatin1String("de")); 0477 QCOMPARE(Address::countryToISO(QStringLiteral("Österreich")), QLatin1String("at")); 0478 QCOMPARE(Address::countryToISO(QStringLiteral("Disneyland")), QString()); 0479 QCOMPARE(Address::countryToISO(QStringLiteral("Østrig")), QLatin1String("at")); 0480 QCOMPARE(Address::countryToISO(QStringLiteral("Den Demokratiske Republik Congo")), QLatin1String("cd")); 0481 QCOMPARE(Address::countryToISO(QStringLiteral("South Sudan")), QLatin1String("ss")); 0482 QCOMPARE(Address::countryToISO(QStringLiteral("United States")), QLatin1String("us")); 0483 QCOMPARE(Address::countryToISO(QStringLiteral("United States Of America")), QLatin1String("us")); 0484 QCOMPARE(Address::countryToISO(QStringLiteral("United")), QString()); 0485 QCOMPARE(Address::countryToISO(QStringLiteral("대한민국")), QLatin1String("kr")); 0486 0487 QCOMPARE(Address::countryToISO(QStringLiteral("Osterreich")), QLatin1String("at")); 0488 QCOMPARE(Address::countryToISO(QStringLiteral("Ünited States\nOf America")), QLatin1String("us")); 0489 #endif 0490 } 0491 0492 void AddressTest::isoToCountryTest() 0493 { 0494 qunsetenv("LC_ALL"); 0495 qputenv("LANGUAGE", "en"); 0496 0497 using namespace KContacts; 0498 #if KCONTACTS_BUILD_DEPRECATED_SINCE(5, 89) 0499 QCOMPARE(Address::ISOtoCountry(QStringLiteral("FR")), QLatin1String("France")); 0500 QCOMPARE(Address::ISOtoCountry(QStringLiteral("de")), QLatin1String("Germany")); 0501 0502 // invalid 0503 QCOMPARE(Address::ISOtoCountry(QStringLiteral("EU")), QLatin1String("EU")); 0504 QCOMPARE(Address::ISOtoCountry(QStringLiteral("zz")), QLatin1String("zz")); 0505 QCOMPARE(Address::ISOtoCountry(QStringLiteral("0")), QLatin1String("0")); 0506 #endif 0507 } 0508 0509 void AddressTest::testGeoUri() 0510 { 0511 KContacts::Address addr; 0512 addr.setCountry(QStringLiteral("DE")); 0513 addr.setRegion(QStringLiteral("BE")); 0514 addr.setLocality(QStringLiteral("Berlin")); 0515 addr.setPostalCode(QStringLiteral("10969")); 0516 addr.setStreet(QStringLiteral("Prinzenstraße 85 F")); 0517 addr.setExtended(QStringLiteral("East wing")); 0518 0519 QCOMPARE(addr.geoUri(), QUrl(QStringLiteral("geo:0,0?q=Prinzenstraße 85 F,10969 Berlin,DE"))); 0520 0521 addr.setGeo({52.503, 13.41}); 0522 QCOMPARE(addr.geoUri(), QUrl(QStringLiteral("geo:52.503,13.41"))); 0523 }