From c855e9833371fc426c61a3a6c3087325bedc4262 Mon Sep 17 00:00:00 2001 From: Nyall Dawson Date: Tue, 23 Jun 2015 16:34:57 +1000 Subject: [PATCH] Explicitly set dpi for test images, should help tests pass on OSX --- tests/src/core/testqgsblendmodes.cpp | 1 + tests/src/core/testqgsdiagram.cpp | 1 + tests/src/core/testqgsinvertedpolygonrenderer.cpp | 1 + tests/src/core/testqgsmaprotation.cpp | 1 + tests/src/core/testqgspainteffect.cpp | 1 + tests/src/core/testqgsrasterfill.cpp | 1 + tests/src/core/testqgsrenderers.cpp | 1 + tests/src/core/testqgsshapeburst.cpp | 1 + tests/src/core/testqgsstylev2.cpp | 1 + tests/src/gui/testqgsmapcanvas.cpp | 10 ++++++++-- tests/src/python/test_qgsblendmodes.py | 1 + 11 files changed, 18 insertions(+), 2 deletions(-) diff --git a/tests/src/core/testqgsblendmodes.cpp b/tests/src/core/testqgsblendmodes.cpp index 030f34f397b..e0bc3dc3316 100644 --- a/tests/src/core/testqgsblendmodes.cpp +++ b/tests/src/core/testqgsblendmodes.cpp @@ -226,6 +226,7 @@ bool TestQgsBlendModes::imageCheck( QString theTestType ) { //use the QgsRenderChecker test utility class to //ensure the rendered output matches our control image + mMapSettings.setOutputDpi( 96 ); QgsMultiRenderChecker myChecker; myChecker.setControlName( "expected_" + theTestType ); myChecker.setMapSettings( mMapSettings ); diff --git a/tests/src/core/testqgsdiagram.cpp b/tests/src/core/testqgsdiagram.cpp index 20b73811643..cdff4987f25 100644 --- a/tests/src/core/testqgsdiagram.cpp +++ b/tests/src/core/testqgsdiagram.cpp @@ -217,6 +217,7 @@ bool TestQgsDiagram::imageCheck( QString theTestType ) QgsRectangle extent( -126, 23, -70, 47 ); mMapSettings.setExtent( extent ); mMapSettings.setFlag( QgsMapSettings::ForceVectorOutput ); + mMapSettings.setOutputDpi( 96 ); QgsMultiRenderChecker myChecker; myChecker.setControlName( "expected_" + theTestType ); myChecker.setMapSettings( mMapSettings ); diff --git a/tests/src/core/testqgsinvertedpolygonrenderer.cpp b/tests/src/core/testqgsinvertedpolygonrenderer.cpp index 0d665563f9c..85a4df9334d 100644 --- a/tests/src/core/testqgsinvertedpolygonrenderer.cpp +++ b/tests/src/core/testqgsinvertedpolygonrenderer.cpp @@ -182,6 +182,7 @@ bool TestQgsInvertedPolygon::imageCheck( QString theTestType, const QgsRectangle { mMapSettings.setExtent( *extent ); } + mMapSettings.setOutputDpi( 96 ); QgsMultiRenderChecker myChecker; myChecker.setControlName( "expected_" + theTestType ); myChecker.setMapSettings( mMapSettings ); diff --git a/tests/src/core/testqgsmaprotation.cpp b/tests/src/core/testqgsmaprotation.cpp index 3786de819ee..75cf16bc475 100644 --- a/tests/src/core/testqgsmaprotation.cpp +++ b/tests/src/core/testqgsmaprotation.cpp @@ -205,6 +205,7 @@ void TestQgsMapRotation::linesLayer() bool TestQgsMapRotation::render( QString theTestType ) { mReport += "

" + theTestType + "

\n"; + mMapSettings.setOutputDpi( 96 ); QgsRenderChecker checker; checker.setControlPathPrefix( "maprotation" ); checker.setControlName( "expected_" + theTestType ); diff --git a/tests/src/core/testqgspainteffect.cpp b/tests/src/core/testqgspainteffect.cpp index 7a30c496760..a47879a2673 100644 --- a/tests/src/core/testqgspainteffect.cpp +++ b/tests/src/core/testqgspainteffect.cpp @@ -919,6 +919,7 @@ bool TestQgsPaintEffect::imageCheck( QString testName, QImage &image, int mismat bool TestQgsPaintEffect::mapRenderCheck( QString testName, QgsMapSettings& mapSettings, int mismatchCount ) { QgsMultiRenderChecker checker; + mapSettings.setOutputDpi( 96 ); checker.setControlName( "expected_" + testName ); checker.setMapSettings( mapSettings ); checker.setColorTolerance( 20 ); diff --git a/tests/src/core/testqgsrasterfill.cpp b/tests/src/core/testqgsrasterfill.cpp index 375ea64ace4..f11eaf0fa33 100644 --- a/tests/src/core/testqgsrasterfill.cpp +++ b/tests/src/core/testqgsrasterfill.cpp @@ -213,6 +213,7 @@ bool TestQgsRasterFill::imageCheck( QString theTestType ) //use the QgsRenderChecker test utility class to //ensure the rendered output matches our control image mMapSettings.setExtent( mpPolysLayer->extent() ); + mMapSettings.setOutputDpi( 96 ); QgsMultiRenderChecker myChecker; myChecker.setControlName( "expected_" + theTestType ); myChecker.setMapSettings( mMapSettings ); diff --git a/tests/src/core/testqgsrenderers.cpp b/tests/src/core/testqgsrenderers.cpp index 47fcff42a0c..5f615e344ff 100644 --- a/tests/src/core/testqgsrenderers.cpp +++ b/tests/src/core/testqgsrenderers.cpp @@ -221,6 +221,7 @@ bool TestQgsRenderers::imageCheck( QString theTestType ) QgsRectangle extent( -118.8888888888887720, 22.8002070393376783, -83.3333333333331581, 46.8719806763287536 ); mMapSettings.setExtent( extent ); mMapSettings.setFlag( QgsMapSettings::ForceVectorOutput ); + mMapSettings.setOutputDpi( 96 ); QgsMultiRenderChecker myChecker; myChecker.setControlName( "expected_" + theTestType ); myChecker.setMapSettings( mMapSettings ); diff --git a/tests/src/core/testqgsshapeburst.cpp b/tests/src/core/testqgsshapeburst.cpp index a5141497e4e..59f721976b6 100644 --- a/tests/src/core/testqgsshapeburst.cpp +++ b/tests/src/core/testqgsshapeburst.cpp @@ -243,6 +243,7 @@ bool TestQgsShapeburst::imageCheck( QString theTestType ) //use the QgsRenderChecker test utility class to //ensure the rendered output matches our control image mMapSettings.setExtent( mpPolysLayer->extent() ); + mMapSettings.setOutputDpi( 96 ); QgsMultiRenderChecker myChecker; myChecker.setControlName( "expected_" + theTestType ); myChecker.setMapSettings( mMapSettings ); diff --git a/tests/src/core/testqgsstylev2.cpp b/tests/src/core/testqgsstylev2.cpp index 485fa6007e0..ed22641c994 100644 --- a/tests/src/core/testqgsstylev2.cpp +++ b/tests/src/core/testqgsstylev2.cpp @@ -176,6 +176,7 @@ void TestStyleV2::cleanupTestCase() bool TestStyleV2::imageCheck( QgsMapSettings& ms, const QString& testName ) { QgsMultiRenderChecker checker; + ms.setOutputDpi( 96 ); checker.setControlName( "expected_" + testName ); checker.setMapSettings( ms ); bool result = checker.runTest( testName, 0 ); diff --git a/tests/src/gui/testqgsmapcanvas.cpp b/tests/src/gui/testqgsmapcanvas.cpp index c33b422a5af..34021920be6 100644 --- a/tests/src/gui/testqgsmapcanvas.cpp +++ b/tests/src/gui/testqgsmapcanvas.cpp @@ -72,14 +72,20 @@ void TestQgsMapCanvas::testMapRendererInteraction() QgsRectangle r1( 10, 10, 20, 20 ); mr->setExtent( r1 ); QgsRectangle r2 = mr->extent(); - QCOMPARE( mCanvas->extent(), r2 ); + QVERIFY( qgsDoubleNear( mCanvas->extent().xMinimum(), r2.xMinimum(), 0.0000000001 ) ); + QVERIFY( qgsDoubleNear( mCanvas->extent().yMinimum(), r2.yMinimum(), 0.0000000001 ) ); + QVERIFY( qgsDoubleNear( mCanvas->extent().xMaximum(), r2.xMaximum(), 0.0000000001 ) ); + QVERIFY( qgsDoubleNear( mCanvas->extent().yMaximum(), r2.yMaximum(), 0.0000000001 ) ); QCOMPARE( spy2.count(), 1 ); QgsRectangle r3( 100, 100, 200, 200 ); QSignalSpy spy3( mr, SIGNAL( extentsChanged() ) ); mCanvas->setExtent( r3 ); QgsRectangle r4 = mCanvas->extent(); - QCOMPARE( mr->extent(), r4 ); + QVERIFY( qgsDoubleNear( mr->extent().xMinimum(), r4.xMinimum(), 0.0000000001 ) ); + QVERIFY( qgsDoubleNear( mr->extent().yMinimum(), r4.yMinimum(), 0.0000000001 ) ); + QVERIFY( qgsDoubleNear( mr->extent().xMaximum(), r4.xMaximum(), 0.0000000001 ) ); + QVERIFY( qgsDoubleNear( mr->extent().yMaximum(), r4.yMaximum(), 0.0000000001 ) ); QCOMPARE( spy3.count(), 1 ); // Destination CRS diff --git a/tests/src/python/test_qgsblendmodes.py b/tests/src/python/test_qgsblendmodes.py index fcf7d5e58ea..3637e371d72 100644 --- a/tests/src/python/test_qgsblendmodes.py +++ b/tests/src/python/test_qgsblendmodes.py @@ -93,6 +93,7 @@ class TestQgsBlendModes(TestCase): self.mMap.resize(QSize(400, 400)) self.mapSettings = self.mCanvas.mapSettings() self.mapSettings.setOutputSize(QSize(400, 400)) + self.mapSettings.setOutputDpi( 96 ) def testVectorBlending(self): """Test that blend modes work for vector layers."""