@@ -57,6 +57,7 @@ class TestQgsExpression: public QObject
57
57
private:
58
58
59
59
QgsVectorLayer *mPointsLayer = nullptr ;
60
+ QgsVectorLayer *mPointsLayerMetadata = nullptr ;
60
61
QgsVectorLayer *mMemoryLayer = nullptr ;
61
62
QgsVectorLayer *mAggregatesLayer = nullptr ;
62
63
QgsVectorLayer *mChildLayer = nullptr ;
@@ -92,6 +93,25 @@ class TestQgsExpression: public QObject
92
93
mPointsLayer ->setMinimumScale ( 500 );
93
94
mPointsLayer ->setMaximumScale ( 1000 );
94
95
96
+ mPointsLayerMetadata = new QgsVectorLayer ( pointFileInfo.filePath (),
97
+ pointFileInfo.completeBaseName () + " _metadata" , QStringLiteral ( " ogr" ) );
98
+ QgsProject::instance ()->addMapLayer ( mPointsLayerMetadata );
99
+ QgsLayerMetadata metadata;
100
+ metadata.setTitle ( QStringLiteral ( " metadata title" ) );
101
+ metadata.setAbstract ( QStringLiteral ( " metadata abstract" ) );
102
+ QMap<QString, QStringList> keywords;
103
+ keywords.insert ( QStringLiteral ( " key1" ), QStringList () << QStringLiteral ( " val1" ) << QStringLiteral ( " val2" ) );
104
+ keywords.insert ( QStringLiteral ( " key2" ), QStringList () << QStringLiteral ( " val3" ) );
105
+ metadata.setKeywords ( keywords );
106
+ metadata.setRights ( QStringList () << QStringLiteral ( " right1" ) << QStringLiteral ( " right2" ) );
107
+ mPointsLayerMetadata ->setMetadata ( metadata );
108
+ mPointsLayerMetadata ->setTitle ( QStringLiteral ( " layer title" ) );
109
+ mPointsLayerMetadata ->setAbstract ( QStringLiteral ( " layer abstract" ) );
110
+ mPointsLayerMetadata ->setKeywordList ( QStringLiteral ( " layer,keywords" ) );
111
+ mPointsLayerMetadata ->setDataUrl ( QStringLiteral ( " data url" ) );
112
+ mPointsLayerMetadata ->setAttribution ( QStringLiteral ( " layer attribution" ) );
113
+ mPointsLayerMetadata ->setAttributionUrl ( QStringLiteral ( " attribution url" ) );
114
+
95
115
QString rasterFileName = testDataDir + " tenbytenraster.asc" ;
96
116
QFileInfo rasterFileInfo ( rasterFileName );
97
117
mRasterLayer = new QgsRasterLayer ( rasterFileInfo.filePath (),
@@ -1288,6 +1308,11 @@ class TestQgsExpression: public QObject
1288
1308
QTest::newRow ( " layer_property storage_type" ) << QStringLiteral ( " layer_property('%1','storage_type')" ).arg ( mPointsLayer ->name () ) << false << QVariant ( " ESRI Shapefile" );
1289
1309
QTest::newRow ( " layer_property geometry_type" ) << QStringLiteral ( " layer_property('%1','geometry_type')" ).arg ( mPointsLayer ->name () ) << false << QVariant ( " Point" );
1290
1310
1311
+ QTest::newRow ( " layer_property title with metadata" ) << QStringLiteral ( " layer_property('%1','title')" ).arg ( mPointsLayerMetadata ->name () ) << false << QVariant ( " metadata title" );
1312
+ QTest::newRow ( " layer_property abstract with metadata" ) << QStringLiteral ( " layer_property('%1','abstract')" ).arg ( mPointsLayerMetadata ->name () ) << false << QVariant ( " metadata abstract" );
1313
+ QTest::newRow ( " layer_property keywords with metadata" ) << QStringLiteral ( " array_to_string(layer_property('%1','keywords'),',')" ).arg ( mPointsLayerMetadata ->name () ) << false << QVariant ( " val1,val2,val3" );
1314
+ QTest::newRow ( " layer_property attribution with metadata" ) << QStringLiteral ( " array_to_string(layer_property('%1','attribution'))" ).arg ( mPointsLayerMetadata ->name () ) << false << QVariant ( " right1,right2" );
1315
+
1291
1316
QTest::newRow ( " decode_uri shp path" ) << QStringLiteral ( " array_last(string_to_array(replace(decode_uri('%1', 'path'), '\\\\ ', '/'), '/'))" ).arg ( mPointsLayer ->name () ) << false << QVariant ( " points.shp" );
1292
1317
1293
1318
// raster_statistic tests
0 commit comments