Skip to content

Commit

Permalink
Refactored tests using control images to get control image path from …
Browse files Browse the repository at this point in the history
…renderchecker.
  • Loading branch information
timlinux committed Apr 13, 2012
1 parent 25dccaf commit 6ebcd65
Show file tree
Hide file tree
Showing 7 changed files with 21 additions and 18 deletions.
9 changes: 9 additions & 0 deletions tests/src/core/qgsrenderchecker.cpp
Expand Up @@ -34,6 +34,15 @@ QgsRenderChecker::QgsRenderChecker( ) :
{

}

QString QgsRenderChecker::controlImagePath() const
{
QString myDataDir( TEST_DATA_DIR ); //defined in CmakeLists.txt
QString myControlImageDir = myDataDir + QDir::separator() + "control_images"
+ QDir::separator() ;
return myControlImageDir;
}

bool QgsRenderChecker::runTest( QString theTestName,
unsigned int theMismatchCount )
{
Expand Down
2 changes: 2 additions & 0 deletions tests/src/core/qgsrenderchecker.h
Expand Up @@ -34,6 +34,8 @@ class QgsRenderChecker
//! Destructor
~QgsRenderChecker(){};

QString controlImagePath() const;

QString report() { return mReport; };
float matchPercent() { return static_cast<float>(mMismatchCount) /
static_cast<float>(mMatchTarget) * 100; };
Expand Down
5 changes: 2 additions & 3 deletions tests/src/core/regression992.cpp
Expand Up @@ -105,10 +105,9 @@ void Regression992::regression992()
{
QVERIFY( mpRasterLayer->isValid() );
mpMapRenderer->setExtent( mpRasterLayer->extent() );
QString myDataDir( TEST_DATA_DIR ); //defined in CmakeLists.txt
QString myTestDataDir = myDataDir + QDir::separator();
QgsRenderChecker myChecker;
myChecker.setExpectedImage( myTestDataDir + "expected_rgbwcmyk01_YeGeo.jp2.png" );
myChecker.setExpectedImage( myChecker.controlImagePath() +
"expected_rgbwcmyk01_YeGeo.jp2.png" );
myChecker.setMapRenderer( mpMapRenderer );
// allow up to 300 mismatched pixels
bool myResultFlag = myChecker.runTest( "regression992", 300 );
Expand Down
5 changes: 2 additions & 3 deletions tests/src/core/testqgsgeometry.cpp
Expand Up @@ -312,11 +312,10 @@ bool TestQgsGeometry::renderCheck( QString theTestName, QString theComment )
mReport += "<h3>" + theComment + "</h3>\n";
QString myTmpDir = QDir::tempPath() + QDir::separator() ;
QString myFileName = myTmpDir + theTestName + ".png";
QString myDataDir( TEST_DATA_DIR ); //defined in CmakeLists.txt
QString myTestDataDir = myDataDir + QDir::separator();
mImage.save( myFileName, "PNG" );
QgsRenderChecker myChecker;
myChecker.setExpectedImage( myTestDataDir + "expected_" + theTestName + ".png" );
myChecker.setExpectedImage( myChecker.controlImagePath() +
"expected_" + theTestName + ".png" );
myChecker.setRenderedImage( myFileName );
bool myResultFlag = myChecker.compareImages( theTestName );
mReport += myChecker.report();
Expand Down
10 changes: 2 additions & 8 deletions tests/src/core/testqgsmaprenderer.cpp
Expand Up @@ -176,7 +176,6 @@ void TestQgsMapRenderer::initTestCase()
mReport += "<h1>Map Render Tests</h1>\n";
}


void TestQgsMapRenderer::cleanupTestCase()
{
QString myReportFile = QDir::tempPath() + QDir::separator() + "qgistest.html";
Expand All @@ -188,25 +187,20 @@ void TestQgsMapRenderer::cleanupTestCase()
myFile.close();
//QDesktopServices::openUrl( "file:///" + myReportFile );
}

}



void TestQgsMapRenderer::performanceTest()
{
mpMapRenderer->setExtent( mpPolysLayer->extent() );
QString myDataDir( TEST_DATA_DIR ); //defined in CmakeLists.txt
QString myTestDataDir = myDataDir + QDir::separator();
QgsRenderChecker myChecker;
myChecker.setExpectedImage( myTestDataDir + "expected_maprender.png" );
myChecker.setExpectedImage(
myChecker.controlImagePath() + "expected_maprender.png" );
myChecker.setMapRenderer( mpMapRenderer );
bool myResultFlag = myChecker.runTest( "maprender" );
mReport += myChecker.report();
QVERIFY( myResultFlag );
}


QTEST_MAIN( TestQgsMapRenderer )
#include "moc_testqgsmaprenderer.cxx"

Expand Down
5 changes: 2 additions & 3 deletions tests/src/core/testqgsrasterlayer.cpp
Expand Up @@ -255,10 +255,9 @@ void TestQgsRasterLayer::registry()
bool TestQgsRasterLayer::render( QString theTestType )
{
mReport += "<h2>" + theTestType + "</h2>\n";
QString myDataDir( TEST_DATA_DIR ); //defined in CmakeLists.txt
QString myTestDataDir = myDataDir + QDir::separator();
QgsRenderChecker myChecker;
myChecker.setExpectedImage( myTestDataDir + "expected_" + theTestType + ".png" );
myChecker.setExpectedImage( myChecker.controlImagePath()
+ "expected_" + theTestType + ".png" );
myChecker.setMapRenderer( mpMapRenderer );
bool myResultFlag = myChecker.runTest( theTestType );
mReport += "\n\n\n" + myChecker.report();
Expand Down
3 changes: 2 additions & 1 deletion tests/src/core/testqgsrenderers.cpp
Expand Up @@ -215,8 +215,9 @@ bool TestQgsRenderers::imageCheck( QString theTestType )
//use the QgsRenderChecker test utility class to
//ensure the rendered output matches our control image
mpMapRenderer->setExtent( mpPointsLayer->extent() );
QString myExpectedImage = mTestDataDir + "expected_" + theTestType + ".png";
QgsRenderChecker myChecker;
QString myExpectedImage = myChecker.controlImagePath() +
"expected_" + theTestType + ".png";
myChecker.setExpectedImage( myExpectedImage );
myChecker.setMapRenderer( mpMapRenderer );
bool myResultFlag = myChecker.runTest( theTestType );
Expand Down

0 comments on commit 6ebcd65

Please sign in to comment.