@@ -1409,6 +1409,8 @@ void TestQgsProcessing::parameterLayer()
1409
1409
QVERIFY ( !def->checkValueIsAcceptable ( true ) );
1410
1410
QVERIFY ( !def->checkValueIsAcceptable ( 5 ) );
1411
1411
QVERIFY ( def->checkValueIsAcceptable ( " layer12312312" ) );
1412
+ QVERIFY ( def->checkValueIsAcceptable ( QVariant::fromValue ( r1 ) ) );
1413
+ QVERIFY ( def->checkValueIsAcceptable ( QVariant::fromValue ( v1 ) ) );
1412
1414
QVERIFY ( !def->checkValueIsAcceptable ( " " ) );
1413
1415
QVERIFY ( !def->checkValueIsAcceptable ( QVariant () ) );
1414
1416
@@ -1437,6 +1439,13 @@ void TestQgsProcessing::parameterLayer()
1437
1439
params.insert ( " non_optional" , QString ( " i'm not a layer, and nothing you can do will make me one" ) );
1438
1440
QVERIFY ( !QgsProcessingParameters::parameterAsLayer ( def.get (), params, context ) );
1439
1441
1442
+ // layer
1443
+ params.insert ( " non_optional" , QVariant::fromValue ( r1 ) );
1444
+ QCOMPARE ( QgsProcessingParameters::parameterAsLayer ( def.get (), params, context ), r1 );
1445
+ params.insert ( " non_optional" , QVariant::fromValue ( v1 ) );
1446
+ QCOMPARE ( QgsProcessingParameters::parameterAsLayer ( def.get (), params, context ), v1 );
1447
+
1448
+
1440
1449
// optional
1441
1450
def.reset ( new QgsProcessingParameterMapLayer ( " optional" , QString (), v1->id (), true ) );
1442
1451
params.insert ( " optional" , QVariant () );
@@ -1448,6 +1457,8 @@ void TestQgsProcessing::parameterLayer()
1448
1457
QVERIFY ( def->checkValueIsAcceptable ( " c:/Users/admin/Desktop/roads_clipped_transformed_v1_reprojected_final_clipped_aAAA.shp" ) );
1449
1458
QVERIFY ( def->checkValueIsAcceptable ( " " ) );
1450
1459
QVERIFY ( def->checkValueIsAcceptable ( QVariant () ) );
1460
+ QVERIFY ( def->checkValueIsAcceptable ( QVariant::fromValue ( r1 ) ) );
1461
+ QVERIFY ( def->checkValueIsAcceptable ( QVariant::fromValue ( v1 ) ) );
1451
1462
}
1452
1463
1453
1464
void TestQgsProcessing::parameterExtent ()
@@ -1674,6 +1685,8 @@ void TestQgsProcessing::parameterLayerList()
1674
1685
QVERIFY ( def->checkValueIsAcceptable ( " layer12312312" ) );
1675
1686
QVERIFY ( !def->checkValueIsAcceptable ( " " ) );
1676
1687
QVERIFY ( !def->checkValueIsAcceptable ( QVariant () ) );
1688
+ QVERIFY ( def->checkValueIsAcceptable ( QVariant::fromValue ( r1 ) ) );
1689
+ QVERIFY ( def->checkValueIsAcceptable ( QVariant::fromValue ( v1 ) ) );
1677
1690
1678
1691
// should be OK
1679
1692
QVERIFY ( def->checkValueIsAcceptable ( " c:/Users/admin/Desktop/roads_clipped_transformed_v1_reprojected_final_clipped_aAAA.shp" ) );
@@ -1690,11 +1703,18 @@ void TestQgsProcessing::parameterLayerList()
1690
1703
QVariantMap params;
1691
1704
params.insert ( " non_optional" , v1->id () );
1692
1705
QCOMPARE ( QgsProcessingParameters::parameterAsLayerList ( def.get (), params, context ), QList< QgsMapLayer *>() << v1 );
1706
+ // using existing map layer
1707
+ params.insert ( " non_optional" , QVariant::fromValue ( v1 ) );
1708
+ QCOMPARE ( QgsProcessingParameters::parameterAsLayerList ( def.get (), params, context ), QList< QgsMapLayer *>() << v1 );
1693
1709
1694
1710
// using two existing map layer ID
1695
1711
params.insert ( " non_optional" , QVariantList () << v1->id () << r1->id () );
1696
1712
QCOMPARE ( QgsProcessingParameters::parameterAsLayerList ( def.get (), params, context ), QList< QgsMapLayer *>() << v1 << r1 );
1697
1713
1714
+ // using two existing map layers
1715
+ params.insert ( " non_optional" , QVariantList () << QVariant::fromValue ( v1 ) << QVariant::fromValue ( r1 ) );
1716
+ QCOMPARE ( QgsProcessingParameters::parameterAsLayerList ( def.get (), params, context ), QList< QgsMapLayer *>() << v1 << r1 );
1717
+
1698
1718
// mix of existing layers and non project layer string
1699
1719
params.insert ( " non_optional" , QVariantList () << v1->id () << raster2 );
1700
1720
QList< QgsMapLayer *> layers = QgsProcessingParameters::parameterAsLayerList ( def.get (), params, context );
@@ -1756,6 +1776,14 @@ void TestQgsProcessing::parameterLayerList()
1756
1776
def.reset ( new QgsProcessingParameterMultipleLayers ( " optional" , QString (), QgsProcessingParameterDefinition::TypeAny, QVariantList () << v1->id () << r1->publicSource (), true ) );
1757
1777
params.insert ( " optional" , QVariant () );
1758
1778
QCOMPARE ( QgsProcessingParameters::parameterAsLayerList ( def.get (), params, context ), QList< QgsMapLayer *>() << v1 << r1 );
1779
+
1780
+ // optional with one default direct layer
1781
+ def.reset ( new QgsProcessingParameterMultipleLayers ( " optional" , QString (), QgsProcessingParameterDefinition::TypeAny, QVariant::fromValue ( v1 ), true ) );
1782
+ QCOMPARE ( QgsProcessingParameters::parameterAsLayerList ( def.get (), params, context ), QList< QgsMapLayer *>() << v1 );
1783
+
1784
+ // optional with two default direct layers
1785
+ def.reset ( new QgsProcessingParameterMultipleLayers ( " optional" , QString (), QgsProcessingParameterDefinition::TypeAny, QVariantList () << QVariant::fromValue ( v1 ) << QVariant::fromValue ( r1 ), true ) );
1786
+ QCOMPARE ( QgsProcessingParameters::parameterAsLayerList ( def.get (), params, context ), QList< QgsMapLayer *>() << v1 << r1 );
1759
1787
}
1760
1788
1761
1789
void TestQgsProcessing::parameterNumber ()
@@ -1915,6 +1943,8 @@ void TestQgsProcessing::parameterRasterLayer()
1915
1943
QVERIFY ( def->checkValueIsAcceptable ( " layer12312312" ) );
1916
1944
QVERIFY ( !def->checkValueIsAcceptable ( " " ) );
1917
1945
QVERIFY ( !def->checkValueIsAcceptable ( QVariant () ) );
1946
+ QVERIFY ( def->checkValueIsAcceptable ( QVariant::fromValue ( r1 ) ) );
1947
+ QVERIFY ( !def->checkValueIsAcceptable ( QVariant::fromValue ( v1 ) ) );
1918
1948
1919
1949
// should be OK
1920
1950
QVERIFY ( def->checkValueIsAcceptable ( " c:/Users/admin/Desktop/roads_clipped_transformed_v1_reprojected_final_clipped_aAAA.tif" ) );
@@ -1926,10 +1956,18 @@ void TestQgsProcessing::parameterRasterLayer()
1926
1956
params.insert ( " non_optional" , r1->id () );
1927
1957
QCOMPARE ( QgsProcessingParameters::parameterAsRasterLayer ( def.get (), params, context )->id (), r1->id () );
1928
1958
1959
+ // using existing map layer
1960
+ params.insert ( " non_optional" , QVariant::fromValue ( r1 ) );
1961
+ QCOMPARE ( QgsProcessingParameters::parameterAsRasterLayer ( def.get (), params, context )->id (), r1->id () );
1962
+
1929
1963
// not raster layer
1930
1964
params.insert ( " non_optional" , v1->id () );
1931
1965
QVERIFY ( !QgsProcessingParameters::parameterAsRasterLayer ( def.get (), params, context ) );
1932
1966
1967
+ // using existing vector layer
1968
+ params.insert ( " non_optional" , QVariant::fromValue ( v1 ) );
1969
+ QVERIFY ( !QgsProcessingParameters::parameterAsRasterLayer ( def.get (), params, context ) );
1970
+
1933
1971
// string representing a project layer source
1934
1972
params.insert ( " non_optional" , raster1 );
1935
1973
QCOMPARE ( QgsProcessingParameters::parameterAsRasterLayer ( def.get (), params, context )->id (), r1->id () );
@@ -1943,7 +1981,7 @@ void TestQgsProcessing::parameterRasterLayer()
1943
1981
1944
1982
// optional
1945
1983
def.reset ( new QgsProcessingParameterRasterLayer ( " optional" , QString (), r1->id (), true ) );
1946
- QCOMPARE ( QgsProcessingParameters::parameterAsLayer ( def.get (), params, context )->id (), r1->id () );
1984
+ QCOMPARE ( QgsProcessingParameters::parameterAsRasterLayer ( def.get (), params, context )->id (), r1->id () );
1947
1985
QVERIFY ( def->checkValueIsAcceptable ( false ) );
1948
1986
QVERIFY ( def->checkValueIsAcceptable ( true ) );
1949
1987
QVERIFY ( def->checkValueIsAcceptable ( 5 ) );
@@ -1954,6 +1992,10 @@ void TestQgsProcessing::parameterRasterLayer()
1954
1992
1955
1993
params.insert ( " optional" , QVariant () );
1956
1994
QCOMPARE ( QgsProcessingParameters::parameterAsRasterLayer ( def.get (), params, context )->id (), r1->id () );
1995
+
1996
+ // optional with direct layer
1997
+ def.reset ( new QgsProcessingParameterRasterLayer ( " optional" , QString (), QVariant::fromValue ( r1 ), true ) );
1998
+ QCOMPARE ( QgsProcessingParameters::parameterAsRasterLayer ( def.get (), params, context )->id (), r1->id () );
1957
1999
}
1958
2000
1959
2001
void TestQgsProcessing::parameterEnum ()
@@ -2219,6 +2261,8 @@ void TestQgsProcessing::parameterFeatureSource()
2219
2261
QVERIFY ( !def->checkValueIsAcceptable ( " " ) );
2220
2262
QVERIFY ( !def->checkValueIsAcceptable ( QVariant () ) );
2221
2263
QVERIFY ( def->checkValueIsAcceptable ( QgsProcessingFeatureSourceDefinition ( " layer1231123" ) ) );
2264
+ QVERIFY ( def->checkValueIsAcceptable ( QVariant::fromValue ( v1 ) ) );
2265
+ QVERIFY ( !def->checkValueIsAcceptable ( QVariant::fromValue ( r1 ) ) );
2222
2266
2223
2267
// should be OK
2224
2268
QVERIFY ( def->checkValueIsAcceptable ( " c:/Users/admin/Desktop/roads_clipped_transformed_v1_reprojected_final_clipped_aAAA.shp" ) );
@@ -2230,10 +2274,18 @@ void TestQgsProcessing::parameterFeatureSource()
2230
2274
params.insert ( " non_optional" , v1->id () );
2231
2275
QCOMPARE ( QgsProcessingParameters::parameterAsVectorLayer ( def.get (), params, context )->id (), v1->id () );
2232
2276
2277
+ // using existing layer
2278
+ params.insert ( " non_optional" , QVariant::fromValue ( v1 ) );
2279
+ QCOMPARE ( QgsProcessingParameters::parameterAsVectorLayer ( def.get (), params, context )->id (), v1->id () );
2280
+
2233
2281
// not vector layer
2234
2282
params.insert ( " non_optional" , r1->id () );
2235
2283
QVERIFY ( !QgsProcessingParameters::parameterAsVectorLayer ( def.get (), params, context ) );
2236
2284
2285
+ // using existing non-vector layer
2286
+ params.insert ( " non_optional" , QVariant::fromValue ( r1 ) );
2287
+ QVERIFY ( !QgsProcessingParameters::parameterAsVectorLayer ( def.get (), params, context ) );
2288
+
2237
2289
// string representing a layer source
2238
2290
params.insert ( " non_optional" , vector1 );
2239
2291
QCOMPARE ( QgsProcessingParameters::parameterAsVectorLayer ( def.get (), params, context )->publicSource (), vector1 );
@@ -2254,6 +2306,10 @@ void TestQgsProcessing::parameterFeatureSource()
2254
2306
QVERIFY ( def->checkValueIsAcceptable ( " " ) );
2255
2307
QVERIFY ( def->checkValueIsAcceptable ( QVariant () ) );
2256
2308
QVERIFY ( def->checkValueIsAcceptable ( QgsProcessingFeatureSourceDefinition ( " layer1231123" ) ) );
2309
+
2310
+ // optional with direct layer default
2311
+ def.reset ( new QgsProcessingParameterFeatureSource ( " optional" , QString (), QList< int >() << QgsProcessingParameterDefinition::TypeVectorAny, QVariant::fromValue ( v1 ), true ) );
2312
+ QCOMPARE ( QgsProcessingParameters::parameterAsVectorLayer ( def.get (), params, context )->id (), v1->id () );
2257
2313
}
2258
2314
2259
2315
void TestQgsProcessing::parameterFeatureSink ()
0 commit comments