Skip to content

Commit f1b2940

Browse files
committed
Fix tests
1 parent b833c24 commit f1b2940

9 files changed

Lines changed: 38 additions & 30 deletions

‎src/core/qgspropertycollection.cpp‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ void QgsPropertyCollection::clear()
123123
mDirty = false;
124124
mHasActiveProperties = false;
125125
mHasDynamicProperties = false;
126+
mCount = 0;
126127
}
127128

128129
void QgsPropertyCollection::setProperty( int key, const QgsProperty& property )

‎tests/src/python/test_qgsarrowsymbollayer.py‎

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@
4040
QgsArrowSymbolLayer,
4141
QgsSymbol,
4242
QgsMultiRenderChecker,
43-
QgsDataDefined
43+
QgsProperty,
44+
QgsSymbolLayer
4445
)
4546

4647
from qgis.testing import start_app, unittest
@@ -78,12 +79,12 @@ def tearDown(self):
7879
def test_1(self):
7980
sym = self.lines_layer.renderer().symbol()
8081
sym_layer = QgsArrowSymbolLayer.create({'head_length': '6.5', 'head_thickness': '6.5'})
81-
dd = QgsDataDefined("(@geometry_point_num % 4) * 2")
82-
sym_layer.setDataDefinedProperty("arrow_width", dd)
83-
dd2 = QgsDataDefined("(@geometry_point_num % 4) * 2")
84-
sym_layer.setDataDefinedProperty("head_length", dd2)
85-
dd3 = QgsDataDefined("(@geometry_point_num % 4) * 2")
86-
sym_layer.setDataDefinedProperty("head_thickness", dd3)
82+
dd = QgsProperty.fromExpression("(@geometry_point_num % 4) * 2")
83+
sym_layer.setDataDefinedProperty(QgsSymbolLayer.PropertyArrowWidth, dd)
84+
dd2 = QgsProperty.fromExpression("(@geometry_point_num % 4) * 2")
85+
sym_layer.setDataDefinedProperty(QgsSymbolLayer.PropertyArrowHeadLength, dd2)
86+
dd3 = QgsProperty.fromExpression("(@geometry_point_num % 4) * 2")
87+
sym_layer.setDataDefinedProperty(QgsSymbolLayer.PropertyArrowHeadThickness, dd3)
8788
fill_sym = QgsFillSymbol.createSimple({'color': '#8bcfff', 'outline_color': '#000000', 'outline_style': 'solid', 'outline_width': '1'})
8889
sym_layer.setSubSymbol(fill_sym)
8990
sym.changeSymbolLayer(0, sym_layer)

‎tests/src/python/test_qgscomposeritem.py‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
QgsComposition,
2020
QgsComposerLabel,
2121
QgsComposerObject,
22-
QgsExpressionBasedProperty)
22+
QgsProperty)
2323
from qgis.PyQt.QtGui import (QColor)
2424
start_app()
2525

@@ -39,7 +39,7 @@ def testDataDefinedFrameColor(self):
3939
self.assertEqual(item.frameOutlineColor(), QColor(255, 0, 0))
4040
self.assertEqual(item.pen().color().name(), QColor(255, 0, 0).name())
4141

42-
item.dataDefinedProperties().setProperty(QgsComposerObject.FrameColor, QgsExpressionBasedProperty("'blue'"))
42+
item.dataDefinedProperties().setProperty(QgsComposerObject.FrameColor, QgsProperty.fromExpression("'blue'"))
4343
item.refreshDataDefinedProperty()
4444
self.assertEqual(item.frameOutlineColor(), QColor(255, 0, 0)) # should not change
4545
self.assertEqual(item.pen().color().name(), QColor(0, 0, 255).name())
@@ -57,7 +57,7 @@ def testDataDefinedBackgroundColor(self):
5757
self.assertEqual(item.backgroundColor(), QColor(255, 0, 0))
5858
self.assertEqual(item.brush().color().name(), QColor(255, 0, 0).name())
5959

60-
item.dataDefinedProperties().setProperty(QgsComposerObject.BackgroundColor, QgsExpressionBasedProperty("'blue'"))
60+
item.dataDefinedProperties().setProperty(QgsComposerObject.BackgroundColor, QgsProperty.fromExpression("'blue'"))
6161
item.refreshDataDefinedProperty()
6262
self.assertEqual(item.backgroundColor(), QColor(255, 0, 0)) # should not change
6363
self.assertEqual(item.brush().color().name(), QColor(0, 0, 255).name())

‎tests/src/python/test_qgscomposerlegend.py‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
QgsRectangle,
2727
QgsProject,
2828
QgsComposerObject,
29-
QgsExpressionBasedProperty
29+
QgsProperty
3030
)
3131
from qgis.testing import (start_app,
3232
unittest
@@ -215,7 +215,7 @@ def testDataDefinedTitle(self):
215215
self.assertEqual(legend.title(), 'original')
216216
self.assertEqual(legend.legendSettings().title(), 'original')
217217

218-
legend.dataDefinedProperties().setProperty(QgsComposerObject.LegendTitle, QgsExpressionBasedProperty("'new'"))
218+
legend.dataDefinedProperties().setProperty(QgsComposerObject.LegendTitle, QgsProperty.fromExpression("'new'"))
219219
legend.refreshDataDefinedProperty()
220220
self.assertEqual(legend.title(), 'original')
221221
self.assertEqual(legend.legendSettings().title(), 'new')
@@ -233,7 +233,7 @@ def testDataDefinedColumnCount(self):
233233
self.assertEqual(legend.columnCount(), 2)
234234
self.assertEqual(legend.legendSettings().columnCount(), 2)
235235

236-
legend.dataDefinedProperties().setProperty(QgsComposerObject.LegendColumnCount, QgsExpressionBasedProperty("5"))
236+
legend.dataDefinedProperties().setProperty(QgsComposerObject.LegendColumnCount, QgsProperty.fromExpression("5"))
237237
legend.refreshDataDefinedProperty()
238238
self.assertEqual(legend.columnCount(), 2)
239239
self.assertEqual(legend.legendSettings().columnCount(), 5)

‎tests/src/python/test_qgspallabeling_placement.py‎

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,10 @@
2323

2424
from qgis.PyQt.QtCore import QThreadPool, qDebug
2525

26-
from qgis.core import QgsPalLayerSettings, QgsSingleSymbolRenderer, QgsMarkerSymbol
26+
from qgis.core import (QgsPalLayerSettings,
27+
QgsSingleSymbolRenderer,
28+
QgsMarkerSymbol,
29+
QgsProperty)
2730
from utilities import getTempfilePath, renderMapToImage, mapSettingsString
2831

2932
from test_qgspallabeling_base import TestQgsPalLabeling, runSuite
@@ -232,7 +235,7 @@ def test_point_dd_ordered_placement(self):
232235
self._TestMapSettings = self.cloneMapSettings(self._MapSettings)
233236
self.lyr.placement = QgsPalLayerSettings.OrderedPositionsAroundPoint
234237
self.lyr.dist = 2
235-
self.lyr.setDataDefinedProperty(QgsPalLayerSettings.PredefinedPositionOrder, True, True, "'T,B'", None)
238+
self.lyr.properties().setProperty(QgsPalLayerSettings.PredefinedPositionOrder, QgsProperty.fromExpression("'T,B'"))
236239
self.checkTest()
237240
self.removeMapLayer(self.layer)
238241
self.lyr.removeDataDefinedProperty(QgsPalLayerSettings.PredefinedPositionOrder)
@@ -245,7 +248,7 @@ def test_point_dd_ordered_placement1(self):
245248
self._TestMapSettings = self.cloneMapSettings(self._MapSettings)
246249
self.lyr.placement = QgsPalLayerSettings.OrderedPositionsAroundPoint
247250
self.lyr.dist = 2
248-
self.lyr.setDataDefinedProperty(QgsPalLayerSettings.PredefinedPositionOrder, True, True, "'T,B'", None)
251+
self.lyr.properties().setProperty(QgsPalLayerSettings.PredefinedPositionOrder, QgsProperty.fromExpression("'T,B'"))
249252
self.checkTest()
250253
self.removeMapLayer(obstacleLayer)
251254
self.removeMapLayer(self.layer)

‎tests/src/python/test_qgspointclusterrenderer.py‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,8 @@
4141
QgsSingleSymbolRenderer,
4242
QgsPointDisplacementRenderer,
4343
QgsMapSettings,
44-
QgsDataDefined
44+
QgsProperty,
45+
QgsSymbolLayer
4546
)
4647
from qgis.testing import start_app, unittest
4748
from utilities import (unitTestDataPath)
@@ -170,8 +171,8 @@ def testRenderVariables(self):
170171
old_marker = self.layer.renderer().clusterSymbol().clone()
171172

172173
new_marker = QgsMarkerSymbol.createSimple({'color': '#ffff00', 'size': '3', 'outline_style': 'no'})
173-
new_marker.symbolLayer(0).setDataDefinedProperty('color', QgsDataDefined('@cluster_color'))
174-
new_marker.symbolLayer(0).setDataDefinedProperty('size', QgsDataDefined('@cluster_size*2'))
174+
new_marker.symbolLayer(0).setDataDefinedProperty(QgsSymbolLayer.PropertyFillColor, QgsProperty.fromExpression('@cluster_color'))
175+
new_marker.symbolLayer(0).setDataDefinedProperty(QgsSymbolLayer.PropertySize, QgsProperty.fromExpression('@cluster_size*2'))
175176
self.layer.renderer().setClusterSymbol(new_marker)
176177
renderchecker = QgsMultiRenderChecker()
177178
renderchecker.setMapSettings(self.mapsettings)

‎tests/src/python/test_qgspointdisplacementrenderer.py‎

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@
4343
QgsSingleSymbolRenderer,
4444
QgsPointClusterRenderer,
4545
QgsMapSettings,
46-
QgsDataDefined
46+
QgsProperty,
47+
QgsSymbolLayer
4748
)
4849
from qgis.testing import start_app, unittest
4950
from utilities import (unitTestDataPath)
@@ -193,8 +194,8 @@ def testRenderVariables(self):
193194
old_marker = self.layer.renderer().centerSymbol().clone()
194195

195196
new_marker = QgsMarkerSymbol.createSimple({'color': '#ffff00', 'size': '3', 'outline_style': 'no'})
196-
new_marker.symbolLayer(0).setDataDefinedProperty('color', QgsDataDefined('@cluster_color'))
197-
new_marker.symbolLayer(0).setDataDefinedProperty('size', QgsDataDefined('@cluster_size*2'))
197+
new_marker.symbolLayer(0).setDataDefinedProperty(QgsSymbolLayer.PropertyFillColor, QgsProperty.fromExpression('@cluster_color'))
198+
new_marker.symbolLayer(0).setDataDefinedProperty(QgsSymbolLayer.PropertySize, QgsProperty.fromExpression('@cluster_size*2'))
198199
self.layer.renderer().setCenterSymbol(new_marker)
199200
renderchecker = QgsMultiRenderChecker()
200201
renderchecker.setMapSettings(self.mapsettings)

‎tests/src/python/test_qgssymbolexpressionvariables.py‎

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@
3737
QgsSingleSymbolRenderer,
3838
QgsFillSymbol,
3939
QgsRenderContext,
40-
QgsDataDefined
40+
QgsProperty,
41+
QgsSymbolLayer
4142
)
4243

4344
from qgis.testing import unittest, start_app
@@ -71,7 +72,7 @@ def testPartNum(self):
7172
sym1 = QgsFillSymbol.createSimple({'color': '#fdbf6f'})
7273

7374
renderer = QgsSingleSymbolRenderer(sym1)
74-
renderer.symbols(QgsRenderContext())[0].symbolLayers()[0].setDataDefinedProperty('color', QgsDataDefined('color_rgb( (@geometry_part_num - 1) * 200, 0, 0 )'))
75+
renderer.symbols(QgsRenderContext())[0].symbolLayers()[0].setDataDefinedProperty(QgsSymbolLayer.PropertyFillColor, QgsProperty.fromExpression('color_rgb( (@geometry_part_num - 1) * 200, 0, 0 )'))
7576
self.layer.setRenderer(renderer)
7677

7778
# Setup rendering check
@@ -87,7 +88,7 @@ def testPartCount(self):
8788
sym1 = QgsFillSymbol.createSimple({'color': '#fdbf6f'})
8889

8990
renderer = QgsSingleSymbolRenderer(sym1)
90-
renderer.symbols(QgsRenderContext())[0].symbolLayers()[0].setDataDefinedProperty('color', QgsDataDefined('color_rgb( (@geometry_part_count - 1) * 200, 0, 0 )'))
91+
renderer.symbols(QgsRenderContext())[0].symbolLayers()[0].setDataDefinedProperty(QgsSymbolLayer.PropertyFillColor, QgsProperty.fromExpression('color_rgb( (@geometry_part_count - 1) * 200, 0, 0 )'))
9192
self.layer.setRenderer(renderer)
9293

9394
# Setup rendering check
@@ -103,7 +104,7 @@ def testSymbolColor(self):
103104
sym1 = QgsFillSymbol.createSimple({'color': '#ff0000'})
104105

105106
renderer = QgsSingleSymbolRenderer(sym1)
106-
renderer.symbols(QgsRenderContext())[0].symbolLayers()[0].setDataDefinedProperty('color', QgsDataDefined('set_color_part( @symbol_color, \'value\', "Value" * 4)'))
107+
renderer.symbols(QgsRenderContext())[0].symbolLayers()[0].setDataDefinedProperty(QgsSymbolLayer.PropertyFillColor, QgsProperty.fromExpression('set_color_part( @symbol_color, \'value\', "Value" * 4)'))
107108
self.layer.setRenderer(renderer)
108109

109110
# Setup rendering check

‎tests/src/python/test_qgssymbollayer.py‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
QgsProject,
7171
QgsMultiRenderChecker,
7272
QgsSingleSymbolRenderer,
73-
QgsDataDefined
73+
QgsProperty
7474
)
7575
from qgis.testing import start_app, unittest
7676
from utilities import unitTestDataPath
@@ -408,7 +408,7 @@ def testRenderFillLayerDataDefined(self):
408408
QgsProject.instance().addMapLayer(polys_layer)
409409

410410
layer = QgsSimpleFillSymbolLayer()
411-
layer.setDataDefinedProperty("enabled", QgsDataDefined("Name='Lake'"))
411+
layer.setDataDefinedProperty(QgsSymbolLayer.PropertyLayerEnabled, QgsProperty.fromExpression("Name='Lake'"))
412412
layer.setBorderStyle(Qt.NoPen)
413413
layer.setColor(QColor(100, 150, 150))
414414

@@ -473,7 +473,7 @@ def testRenderLineLayerDataDefined(self):
473473
QgsProject.instance().addMapLayer(lines_layer)
474474

475475
layer = QgsSimpleLineSymbolLayer()
476-
layer.setDataDefinedProperty("enabled", QgsDataDefined("Name='Highway'"))
476+
layer.setDataDefinedProperty(QgsSymbolLayer.PropertyLayerEnabled, QgsProperty.fromExpression("Name='Highway'"))
477477
layer.setColor(QColor(100, 150, 150))
478478
layer.setWidth(5)
479479

@@ -536,7 +536,7 @@ def testRenderMarkerLayerDataDefined(self):
536536
QgsProject.instance().addMapLayer(points_layer)
537537

538538
layer = QgsSimpleMarkerSymbolLayer()
539-
layer.setDataDefinedProperty("enabled", QgsDataDefined("Class='Biplane'"))
539+
layer.setDataDefinedProperty(QgsSymbolLayer.PropertyLayerEnabled, QgsProperty.fromExpression("Class='Biplane'"))
540540
layer.setColor(QColor(100, 150, 150))
541541
layer.setSize(5)
542542
layer.setOutlineStyle(Qt.NoPen)

0 commit comments

Comments
 (0)