@@ -55,6 +55,7 @@ class TestQgsExpression: public QObject
55
55
private:
56
56
57
57
QgsVectorLayer *mPointsLayer = nullptr ;
58
+ QgsVectorLayer *mPointsLayerMetadata = nullptr ;
58
59
QgsVectorLayer *mMemoryLayer = nullptr ;
59
60
QgsVectorLayer *mAggregatesLayer = nullptr ;
60
61
QgsVectorLayer *mChildLayer = nullptr ;
@@ -90,6 +91,25 @@ class TestQgsExpression: public QObject
90
91
mPointsLayer ->setMinimumScale ( 500 );
91
92
mPointsLayer ->setMaximumScale ( 1000 );
92
93
94
+ mPointsLayerMetadata = new QgsVectorLayer ( pointFileInfo.filePath (),
95
+ pointFileInfo.completeBaseName () + " _metadata" , QStringLiteral ( " ogr" ) );
96
+ QgsProject::instance ()->addMapLayer ( mPointsLayerMetadata );
97
+ QgsLayerMetadata metadata;
98
+ metadata.setTitle ( QStringLiteral ( " metadata title" ) );
99
+ metadata.setAbstract ( QStringLiteral ( " metadata abstract" ) );
100
+ QMap<QString, QStringList> keywords;
101
+ keywords.insert ( QStringLiteral ( " key1" ), QStringList () << QStringLiteral ( " val1" ) << QStringLiteral ( " val2" ) );
102
+ keywords.insert ( QStringLiteral ( " key2" ), QStringList () << QStringLiteral ( " val3" ) );
103
+ metadata.setKeywords ( keywords );
104
+ metadata.setRights ( QStringList () << QStringLiteral ( " right1" ) << QStringLiteral ( " right2" ) );
105
+ mPointsLayerMetadata ->setMetadata ( metadata );
106
+ mPointsLayerMetadata ->setTitle ( QStringLiteral ( " layer title" ) );
107
+ mPointsLayerMetadata ->setAbstract ( QStringLiteral ( " layer abstract" ) );
108
+ mPointsLayerMetadata ->setKeywordList ( QStringLiteral ( " layer,keywords" ) );
109
+ mPointsLayerMetadata ->setDataUrl ( QStringLiteral ( " data url" ) );
110
+ mPointsLayerMetadata ->setAttribution ( QStringLiteral ( " layer attribution" ) );
111
+ mPointsLayerMetadata ->setAttributionUrl ( QStringLiteral ( " attribution url" ) );
112
+
93
113
QString rasterFileName = testDataDir + " tenbytenraster.asc" ;
94
114
QFileInfo rasterFileInfo ( rasterFileName );
95
115
mRasterLayer = new QgsRasterLayer ( rasterFileInfo.filePath (),
@@ -1263,6 +1283,11 @@ class TestQgsExpression: public QObject
1263
1283
QTest::newRow ( " layer_property storage_type" ) << QStringLiteral ( " layer_property('%1','storage_type')" ).arg ( mPointsLayer ->name () ) << false << QVariant ( " ESRI Shapefile" );
1264
1284
QTest::newRow ( " layer_property geometry_type" ) << QStringLiteral ( " layer_property('%1','geometry_type')" ).arg ( mPointsLayer ->name () ) << false << QVariant ( " Point" );
1265
1285
1286
+ QTest::newRow ( " layer_property title with metadata" ) << QStringLiteral ( " layer_property('%1','title')" ).arg ( mPointsLayerMetadata ->name () ) << false << QVariant ( " metadata title" );
1287
+ QTest::newRow ( " layer_property abstract with metadata" ) << QStringLiteral ( " layer_property('%1','abstract')" ).arg ( mPointsLayerMetadata ->name () ) << false << QVariant ( " metadata abstract" );
1288
+ QTest::newRow ( " layer_property keywords with metadata" ) << QStringLiteral ( " array_to_string(layer_property('%1','keywords'),',')" ).arg ( mPointsLayerMetadata ->name () ) << false << QVariant ( " val1,val2,val3" );
1289
+ QTest::newRow ( " layer_property attribution with metadata" ) << QStringLiteral ( " array_to_string(layer_property('%1','attribution'))" ).arg ( mPointsLayerMetadata ->name () ) << false << QVariant ( " right1,right2" );
1290
+
1266
1291
// raster_statistic tests
1267
1292
QTest::newRow ( " raster_statistic no layer" ) << " raster_statistic('',1,'min')" << false << QVariant ();
1268
1293
QTest::newRow ( " raster_statistic bad layer" ) << " raster_statistic('bad',1,'min')" << false << QVariant ();
0 commit comments