diff --git a/tests/src/python/test_qgsrasterlayer.py b/tests/src/python/test_qgsrasterlayer.py index 23682480cde..3f02e5df9a2 100644 --- a/tests/src/python/test_qgsrasterlayer.py +++ b/tests/src/python/test_qgsrasterlayer.py @@ -151,6 +151,18 @@ class TestQgsRasterLayer(TestCase): myResultFlag = myChecker.runTest("raster_transparency_python"); assert myResultFlag, "Raster transparency rendering test failed" + def testIssue7023(self): + """Check if converting a raster from 1.8 to 2 works.""" + myPath = os.path.join(unitTestDataPath('raster'), + 'raster-pallette-crash2.tif') + myFileInfo = QFileInfo(myPath) + myBaseName = myFileInfo.baseName() + myRasterLayer = QgsRasterLayer(myPath, myBaseName) + myMessage = 'Raster not loaded: %s' % myPath + assert myRasterLayer.isValid(), myMessage + # crash on next line + QgsMapLayerRegistry.addMapLayers([myRasterLayer]) + def testShaderCrash(self): """Check if we assign a shader and then reassign it no crash occurs.""" myPath = os.path.join(unitTestDataPath('raster'), diff --git a/tests/testdata/raster/raster-pallette-crash2.qml b/tests/testdata/raster/raster-pallette-crash2.qml new file mode 100644 index 00000000000..2800ad494be --- /dev/null +++ b/tests/testdata/raster/raster-pallette-crash2.qml @@ -0,0 +1,44 @@ + + + 255 + + PalettedColor + ColorRampShader + + Not Set + Not Set + Not Set + Band 1 + 0 + + + + + NoEnhancement + + + -1.79769e+308 + 1.79769e+308 + + + nan + + + + + + + + + + + + DISCRETE + + + + + + + + diff --git a/tests/testdata/raster/raster-pallette-crash2.tif b/tests/testdata/raster/raster-pallette-crash2.tif new file mode 100644 index 00000000000..de309a93fb2 Binary files /dev/null and b/tests/testdata/raster/raster-pallette-crash2.tif differ diff --git a/tests/testdata/raster/raster-pallette-crash2.tif.aux.xml b/tests/testdata/raster/raster-pallette-crash2.tif.aux.xml new file mode 100644 index 00000000000..00063f7bf34 --- /dev/null +++ b/tests/testdata/raster/raster-pallette-crash2.tif.aux.xml @@ -0,0 +1,5 @@ + + + nan + +