/* === This file is part of Calamares - === * * Copyright 2018, Adriaan de Groot * * Calamares is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Calamares is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with Calamares. If not, see . */ #include "GeoIPTests.h" #include "GeoIPFreeGeoIP.h" #ifdef HAVE_XML #include "GeoIPXML.h" #endif #include QTEST_GUILESS_MAIN( GeoIPTests ) GeoIPTests::GeoIPTests() { } GeoIPTests::~GeoIPTests() { } void GeoIPTests::initTestCase() { } void GeoIPTests::testJSON() { static const char data[] = "{\"time_zone\":\"Europe/Amsterdam\"}"; FreeGeoIP handler; auto tz = handler.processReply( data ); QCOMPARE( tz.first, QLatin1String( "Europe" ) ); QCOMPARE( tz.second, QLatin1String( "Amsterdam" ) ); } void GeoIPTests::testXML() { static const char data[] = R"( 85.150.1.1 OK NL NLD Netherlands None None None 50.0 4.0 0 Europe/Amsterdam )"; #ifdef HAVE_XML XMLGeoIP handler; auto tz = handler.processReply( data ); QCOMPARE( tz.first, QLatin1String( "Europe" ) ); QCOMPARE( tz.second, QLatin1String( "Amsterdam" ) ); #endif } void GeoIPTests::testXML2() { static const char data[] = "America/North Dakota/Beulah"; #ifdef HAVE_XML XMLGeoIP handler; auto tz = handler.processReply( data ); QCOMPARE( tz.first, QLatin1String( "America" ) ); QCOMPARE( tz.second, QLatin1String( "North Dakota/Beulah" ) ); #endif }