|
33 | 33 | QgsExpressionContextUtils,
|
34 | 34 | QgsFeature,
|
35 | 35 | QgsGeometry,
|
| 36 | + QgsLayerNotesUtils, |
36 | 37 | QgsLabelingEngineSettings,
|
37 | 38 | QgsMapLayer,
|
38 | 39 | QgsProject,
|
@@ -1611,6 +1612,31 @@ def test_remember_evaluate_default_values(self):
|
1611 | 1612 | self.assertEqual(layers[0].dataProvider().providerProperty(QgsDataProvider.EvaluateDefaultValues, None), True)
|
1612 | 1613 | self.assertEqual(layers[1].dataProvider().providerProperty(QgsDataProvider.EvaluateDefaultValues, None), True)
|
1613 | 1614 |
|
| 1615 | + def testRasterLayerFlagDontResolveLayers(self): |
| 1616 | + """ |
| 1617 | + Test that we can read layer notes from a raster layer when opening with FlagDontResolveLayers |
| 1618 | + """ |
| 1619 | + tmpDir = QTemporaryDir() |
| 1620 | + tmpFile = f"{tmpDir.path()}/project.qgs" |
| 1621 | + copyfile(os.path.join(TEST_DATA_DIR, "landsat_4326.tif"), os.path.join(tmpDir.path(), "landsat_4326.tif")) |
| 1622 | + |
| 1623 | + project = QgsProject() |
| 1624 | + |
| 1625 | + l = QgsRasterLayer(os.path.join(tmpDir.path(), "landsat_4326.tif"), "landsat", "gdal") |
| 1626 | + self.assertTrue(l.isValid()) |
| 1627 | + QgsLayerNotesUtils.setLayerNotes(l, 'my notes') |
| 1628 | + self.assertTrue(project.addMapLayers([l])) |
| 1629 | + self.assertTrue(project.write(tmpFile)) |
| 1630 | + del project |
| 1631 | + |
| 1632 | + # Read the project with FlagDontResolveLayers |
| 1633 | + project = QgsProject() |
| 1634 | + self.assertTrue(project.read(tmpFile, QgsProject.FlagDontResolveLayers)) |
| 1635 | + layers = list(project.mapLayers().values()) |
| 1636 | + self.assertEqual(QgsLayerNotesUtils.layerNotes(layers[0]), "my notes") |
| 1637 | + |
| 1638 | + del project |
| 1639 | + |
1614 | 1640 |
|
1615 | 1641 | if __name__ == '__main__':
|
1616 | 1642 | unittest.main()
|
0 commit comments