Skip to content

Commit f43adf7

Browse files
committed
Fix test
1 parent 2cc9bc8 commit f43adf7

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

python/plugins/processing/gui/NumberInputPanel.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ def getLayerFromValue(self, value):
224224
value, ok = value.source.valueAsString(context.expressionContext())
225225
if isinstance(value, str):
226226
value = QgsProcessingUtils.mapLayerFromString(value, context)
227-
if value is None:
227+
if value is None or not isinstance(value, QgsMapLayer):
228228
return None
229229

230230
# need to return layer with ownership - otherwise layer may be deleted when context

python/plugins/processing/tests/GuiTest.py

+14-3
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@
2929
from qgis.core import (QgsApplication,
3030
QgsCoordinateReferenceSystem,
3131
QgsProcessingParameterMatrix,
32-
QgsVectorLayer)
32+
QgsVectorLayer,
33+
QgsProject)
3334
from qgis.analysis import QgsNativeAlgorithms
3435

3536
from processing.gui.AlgorithmDialog import AlgorithmDialog
@@ -152,11 +153,21 @@ def testDistance(self):
152153
widget.setUnitParameterValue(vl)
153154
self.assertEqual(widget.label.text(), 'meters')
154155
self.assertFalse(widget.warning_label.isVisible())
155-
vl = QgsVectorLayer("Polygon?crs=epsg:4326&field=pk:int", "vl", "memory")
156-
widget.setUnitParameterValue(vl)
156+
vl2 = QgsVectorLayer("Polygon?crs=epsg:4326&field=pk:int", "vl", "memory")
157+
widget.setUnitParameterValue(vl2)
157158
self.assertEqual(widget.label.text(), 'degrees')
158159
self.assertTrue(widget.warning_label.isVisible())
159160

161+
# unresolvable values
162+
widget.setUnitParameterValue(vl.id())
163+
self.assertEqual(widget.label.text(), '<unknown>')
164+
self.assertFalse(widget.warning_label.isVisible())
165+
# resolvable text value
166+
QgsProject.instance().addMapLayer(vl)
167+
widget.setUnitParameterValue(vl.id())
168+
self.assertEqual(widget.label.text(), 'meters')
169+
self.assertFalse(widget.warning_label.isVisible())
170+
160171
widget.deleteLater()
161172

162173
def testMatrix(self):

0 commit comments

Comments
 (0)