static bool _verifyImage( const QString &testName, QString &report ) { QgsRenderChecker checker; checker.setControlPathPrefix( QStringLiteral( "data_defined_size_legend" ) ); checker.setControlName( "expected_" + testName ); checker.setRenderedImage( _fileNameForTest( testName ) ); checker.setSizeTolerance( 3, 3 ); bool equal = checker.compareImages( testName, 500 ); report += checker.report(); return equal; }
bool QgsMultiRenderChecker::runTest( const QString &testName, unsigned int mismatchCount ) { bool successful = false; const QString baseDir = controlImagePath(); QStringList subDirs = QDir( baseDir ).entryList( QDir::Dirs | QDir::NoDotAndDotDot ); if ( subDirs.isEmpty() ) { subDirs << QLatin1String( "" ); } QVector<QgsDartMeasurement> dartMeasurements; Q_FOREACH ( const QString &suffix, subDirs ) { qDebug() << "Checking subdir " << suffix; bool result; QgsRenderChecker checker; checker.enableDashBuffering( true ); checker.setColorTolerance( mColorTolerance ); checker.setControlPathPrefix( mControlPathPrefix ); checker.setControlPathSuffix( suffix ); checker.setControlName( mControlName ); checker.setMapSettings( mMapSettings ); if ( !mRenderedImage.isNull() ) { checker.setRenderedImage( mRenderedImage ); result = checker.compareImages( testName, mismatchCount, mRenderedImage ); } else { result = checker.runTest( testName, mismatchCount ); mRenderedImage = checker.renderedImage(); } successful |= result; dartMeasurements << checker.dartMeasurements(); mReport += checker.report(); }
bool TestQgsSvgCache::imageCheck( const QString &testName, QImage &image, int mismatchCount ) { //draw background QImage imageWithBackground( image.width(), image.height(), QImage::Format_RGB32 ); QgsRenderChecker::drawBackground( &imageWithBackground ); QPainter painter( &imageWithBackground ); painter.drawImage( 0, 0, image ); painter.end(); mReport += "<h2>" + testName + "</h2>\n"; QString tempDir = QDir::tempPath() + '/'; QString fileName = tempDir + testName + ".png"; imageWithBackground.save( fileName, "PNG" ); QgsRenderChecker checker; checker.setControlName( "expected_" + testName ); checker.setRenderedImage( fileName ); checker.setColorTolerance( 2 ); bool resultFlag = checker.compareImages( testName, mismatchCount ); mReport += checker.report(); return resultFlag; }