QGIS/tests/src/core/testqgsapplication.cpp
Denis Rouzaud 37ebcdd1cd [spellcheck] allow inwords checks and line skipping
spell check will be done automatically in words by default (when some conditions are fulfilled)
possibility to avoid in words checking by adding :* at the end in spelling.dat

one can add #spellok at the end of a line of code to skip spell check on this line
2017-01-10 20:18:37 +01:00

105 lines
3.3 KiB
C++

/***************************************************************************
testqgsapplication.cpp
--------------------------------------
Date : Sun Sep 16 12:22:49 AKDT 2007
Copyright : (C) 2007 by Gary E. Sherman
Email : sherman at mrcc dot com
***************************************************************************
* *
* This program 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 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#include "qgstest.h"
#include <QPixmap>
#define CPL_SUPRESS_CPLUSPLUS //#spellok
#include <gdal.h>
//header for class being tested
#include <qgsapplication.h>
class TestQgsApplication: public QObject
{
Q_OBJECT
private slots:
void checkPaths();
void checkGdalSkip();
void initTestCase();
void cleanupTestCase();
void accountName();
void osName();
void platformName();
private:
QString getQgisPath();
};
void TestQgsApplication::initTestCase()
{
//
// Runs once before any tests are run
//
// init QGIS's paths - true means that all path will be inited from prefix
QgsApplication::init();
QgsApplication::initQgis();
qDebug( "%s", QgsApplication::showSettings().toUtf8().constData() );
}
void TestQgsApplication::cleanupTestCase()
{
QgsApplication::exitQgis();
}
void TestQgsApplication::accountName()
{
QString loginName = QgsApplication::userLoginName();
qDebug() << QStringLiteral( "Got login name: '%1'" ).arg( loginName );
QVERIFY( !loginName.isEmpty() );
//test cached return works correctly
QCOMPARE( loginName, QgsApplication::userLoginName() );
//can't test contents, as it can be validly empty (e.g., on Travis). Just testing that we don't crash
QString fullName = QgsApplication::userFullName();
qDebug() << QStringLiteral( "Got full name: '%1'" ).arg( fullName );
//test cached return works correctly
QCOMPARE( fullName, QgsApplication::userFullName() );
}
void TestQgsApplication::osName()
{
// can't test expected result, so just check for non-empty result
qDebug() << QStringLiteral( "Got OS name: '%1'" ).arg( QgsApplication::osName() );
QVERIFY( !QgsApplication::osName().isEmpty() );
}
void TestQgsApplication::platformName()
{
// test will always be run under desktop platform
QCOMPARE( QgsApplication::platform(), QString( "desktop" ) );
}
void TestQgsApplication::checkPaths()
{
QString myPath = QgsApplication::authorsFilePath();
qDebug( "Checking authors file exists:" );
qDebug( "%s", myPath.toLocal8Bit().constData() );
QVERIFY( !myPath.isEmpty() );
}
void TestQgsApplication::checkGdalSkip()
{
GDALAllRegister();
QgsApplication::skipGdalDriver( QStringLiteral( "GTiff" ) );
QVERIFY( QgsApplication::skippedGdalDrivers().contains( "GTiff" ) );
QgsApplication::restoreGdalDriver( QStringLiteral( "GTiff" ) );
QVERIFY( !QgsApplication::skippedGdalDrivers().contains( "GTiff" ) );
}
QGSTEST_MAIN( TestQgsApplication )
#include "testqgsapplication.moc"