Skip to content

Commit 3f4999b

Browse files
committed
Add test for opacity
1 parent 8f76c23 commit 3f4999b

File tree

4 files changed

+39
-0
lines changed

4 files changed

+39
-0
lines changed

tests/src/core/testqgslegendrenderer.cpp

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -141,6 +141,7 @@ class TestQgsLegendRenderer : public QObject
141141
void testTextOnSymbol();
142142

143143
void testBasicJson();
144+
void testOpacityJson();
144145

145146
private:
146147
QgsLayerTree *mRoot = nullptr;
@@ -927,6 +928,44 @@ void TestQgsLegendRenderer::testBasicJson()
927928
QVERIFY( _verifyImage( test_name, mReport, 50 ) );
928929
}
929930

931+
void TestQgsLegendRenderer::testOpacityJson()
932+
{
933+
const int opacity = mVL3->opacity();
934+
mVL3->setOpacity( 0.5 );
935+
QgsLayerTreeModel legendModel( mRoot );
936+
937+
QgsLegendSettings settings;
938+
settings.setTitle( QStringLiteral( "Legend" ) );
939+
_setStandardTestFont( settings );
940+
const QJsonObject json = _renderJsonLegend( &legendModel, settings );
941+
942+
QCOMPARE( json[ "title" ], "Legend" );
943+
944+
const QJsonArray root = json["nodes"].toArray();
945+
946+
const QJsonObject point_layer = root[1].toObject();
947+
const QJsonArray point_layer_symbols = point_layer["symbols"].toArray();
948+
949+
const QJsonObject point_layer_symbol_red = point_layer_symbols[0].toObject();
950+
const QImage point_layer_icon_red = _base64ToImage( point_layer_symbol_red["icon"].toString() );
951+
QString test_name = "point_layer_icon_red_opacity";
952+
point_layer_icon_red.save( _fileNameForTest( test_name ) );
953+
QVERIFY( _verifyImage( test_name, mReport, 50 ) );
954+
955+
const QJsonObject point_layer_symbol_green = point_layer_symbols[1].toObject();
956+
const QImage point_layer_icon_green = _base64ToImage( point_layer_symbol_green["icon"].toString() );
957+
test_name = "point_layer_icon_green_opacity";
958+
point_layer_icon_green.save( _fileNameForTest( test_name ) );
959+
QVERIFY( _verifyImage( test_name, mReport, 50 ) );
960+
961+
const QJsonObject point_layer_symbol_blue = point_layer_symbols[2].toObject();
962+
const QImage point_layer_icon_blue = _base64ToImage( point_layer_symbol_blue["icon"].toString() );
963+
test_name = "point_layer_icon_blue_opacity";
964+
point_layer_icon_blue.save( _fileNameForTest( test_name ) );
965+
QVERIFY( _verifyImage( test_name, mReport, 50 ) );
966+
967+
mVL3->setOpacity( opacity );
968+
}
930969

931970
QGSTEST_MAIN( TestQgsLegendRenderer )
932971
#include "testqgslegendrenderer.moc"

0 commit comments

Comments
 (0)