void TestGeoDataPack::loadCitiesFromCache() { GeoDataDocument *cacheDocument = new GeoDataDocument(); QString path = QString( "%1/%2.cache" ); path = path.arg( QCoreApplication::applicationDirPath() ); path = path.arg( QString( "CitiesTest" ) ); QFile cacheFile( path ); if ( cacheFile.open( QIODevice::ReadOnly ) ) { QDataStream stream ( &cacheFile ); cacheDocument->unpack( stream ); cacheFile.close(); qDebug( "Loaded kml document from cache: %s", path.toLatin1().data() ); } QVERIFY( cacheDocument ); qDebug() << "read Timer " << timer.elapsed(); GeoDataParser parser( GeoData_KML ); QFile citiesFile( CITIES_PATH ); citiesFile.open( QIODevice::ReadOnly ); if ( !parser.read( &citiesFile ) ) { qWarning( "Could not parse data!" ); QFAIL( "Could not parse data!" ); return; } GeoDocument* document = parser.releaseDocument(); QVERIFY( document ); qDebug() << "parse Timer " << timer.elapsed(); // commented out as it timeouts the test on build.kde.org // GeoDataDocument *dataDocument = static_cast<GeoDataDocument*>( document ); // QVERIFY( compareDocuments( cacheDocument, dataDocument ) ); // qDebug() << "compare Timer " << timer.elapsed(); delete cacheDocument; // delete dataDocument; }
void TestGeoDataPack::loadKMLFromCache() { GeoDataDocument *cacheDocument = new GeoDataDocument(); QString path = QString( "%1/%2.cache" ); path = path.arg( QCoreApplication::applicationDirPath() ); path = path.arg( QString( "KMLTest" ) ); QFile cacheFile( path ); if ( cacheFile.open( QIODevice::ReadOnly ) ) { QDataStream stream ( &cacheFile ); cacheDocument->unpack( stream ); cacheFile.close(); qDebug( "Loaded kml document from cache: %s", path.toLatin1().data() ); } QVERIFY( cacheDocument ); qDebug() << "read Timer " << timer.elapsed(); GeoDataParser parser( GeoData_KML ); QByteArray array( content.toUtf8() ); QBuffer buffer( &array ); buffer.open( QIODevice::ReadOnly ); if ( !parser.read( &buffer ) ) { qWarning( "Could not parse data!" ); QFAIL( "Could not parse data!" ); return; } GeoDocument* document = parser.releaseDocument(); QVERIFY( document ); qDebug() << "parse Timer " << timer.elapsed(); GeoDataDocument *dataDocument = static_cast<GeoDataDocument*>( document ); QVERIFY( compareDocuments( cacheDocument, dataDocument ) ); qDebug() << "compare Timer " << timer.elapsed(); delete document; delete cacheDocument; }