@@ -59,6 +59,7 @@ class TestQgsFontMarkerSymbol : public QObject
59
59
void fontMarkerSymbolStroke ();
60
60
void bounds ();
61
61
void fontMarkerSymbolDataDefinedProperties ();
62
+ void opacityWithDataDefinedColor ();
62
63
63
64
private:
64
65
bool mTestHasError = false ;
@@ -209,6 +210,25 @@ void TestQgsFontMarkerSymbol::bounds()
209
210
QVERIFY ( result );
210
211
}
211
212
213
+ void TestQgsFontMarkerSymbol::opacityWithDataDefinedColor ()
214
+ {
215
+ mFontMarkerLayer ->setColor ( QColor ( 200 , 200 , 200 ) );
216
+ mFontMarkerLayer ->setStrokeColor ( QColor ( 0 , 0 , 0 ) );
217
+ QFont font = QgsFontUtils::getStandardTestFont ( QStringLiteral ( " Bold" ) );
218
+ mFontMarkerLayer ->setFontFamily ( font.family () );
219
+ mFontMarkerLayer ->setCharacter ( QChar ( ' X' ) );
220
+ mFontMarkerLayer ->setSize ( 12 );
221
+ mFontMarkerLayer ->setDataDefinedProperty ( QgsSymbolLayer::PropertyFillColor, QgsProperty::fromExpression ( QStringLiteral ( " if(importance > 2, 'red', 'green')" ) ) );
222
+ mFontMarkerLayer ->setDataDefinedProperty ( QgsSymbolLayer::PropertyStrokeColor, QgsProperty::fromExpression ( QStringLiteral ( " if(importance > 2, 'blue', 'magenta')" ) ) );
223
+ mFontMarkerLayer ->setStrokeWidth ( 0.5 );
224
+ mMarkerSymbol ->setOpacity ( 0.5 );
225
+
226
+ bool result = imageCheck ( QStringLiteral ( " fontmarker_opacityddcolor" ) );
227
+ mFontMarkerLayer ->setDataDefinedProperty ( QgsSymbolLayer::PropertyFillColor, QgsProperty () );
228
+ mFontMarkerLayer ->setDataDefinedProperty ( QgsSymbolLayer::PropertyStrokeColor, QgsProperty () );
229
+ mMarkerSymbol ->setOpacity ( 1.0 );
230
+ QVERIFY ( result );
231
+ }
212
232
213
233
//
214
234
// Private helper functions not called directly by CTest
0 commit comments