|
32 | 32 | QgsExpressionContextUtils,
|
33 | 33 | QgsFeature,
|
34 | 34 | QgsGeometry,
|
| 35 | + QgsLayerNotesUtils, |
35 | 36 | QgsLabelingEngineSettings,
|
36 | 37 | QgsMapLayer,
|
37 | 38 | QgsProject,
|
@@ -1890,6 +1891,31 @@ def test_remember_evaluate_default_values(self):
|
1890 | 1891 | self.assertEqual(layers[0].dataProvider().providerProperty(QgsDataProvider.ProviderProperty.EvaluateDefaultValues, None), True)
|
1891 | 1892 | self.assertEqual(layers[1].dataProvider().providerProperty(QgsDataProvider.ProviderProperty.EvaluateDefaultValues, None), True)
|
1892 | 1893 |
|
| 1894 | + def testRasterLayerFlagDontResolveLayers(self): |
| 1895 | + """ |
| 1896 | + Test that we can read layer notes from a raster layer when opening with FlagDontResolveLayers |
| 1897 | + """ |
| 1898 | + tmpDir = QTemporaryDir() |
| 1899 | + tmpFile = f"{tmpDir.path()}/project.qgs" |
| 1900 | + copyfile(os.path.join(TEST_DATA_DIR, "landsat_4326.tif"), os.path.join(tmpDir.path(), "landsat_4326.tif")) |
| 1901 | + |
| 1902 | + project = QgsProject() |
| 1903 | + |
| 1904 | + l = QgsRasterLayer(os.path.join(tmpDir.path(), "landsat_4326.tif"), "landsat", "gdal") |
| 1905 | + self.assertTrue(l.isValid()) |
| 1906 | + QgsLayerNotesUtils.setLayerNotes(l, 'my notes') |
| 1907 | + self.assertTrue(project.addMapLayers([l])) |
| 1908 | + self.assertTrue(project.write(tmpFile)) |
| 1909 | + del project |
| 1910 | + |
| 1911 | + # Read the project with FlagDontResolveLayers |
| 1912 | + project = QgsProject() |
| 1913 | + self.assertTrue(project.read(tmpFile, QgsProject.FlagDontResolveLayers)) |
| 1914 | + layers = list(project.mapLayers().values()) |
| 1915 | + self.assertEqual(QgsLayerNotesUtils.layerNotes(layers[0]), "my notes") |
| 1916 | + |
| 1917 | + del project |
| 1918 | + |
1893 | 1919 |
|
1894 | 1920 | if __name__ == '__main__':
|
1895 | 1921 | unittest.main()
|
0 commit comments