@@ -809,6 +809,7 @@ class TestQgsProcessing: public QObject
809
809
void sourceTypeToString();
810
810
void formatHelp();
811
811
void preprocessParameters();
812
+ void guiDefaultParameterValues();
812
813
813
814
private:
814
815
@@ -12659,5 +12660,26 @@ void TestQgsProcessing::preprocessParameters()
12659
12660
QCOMPARE( outputs.value( QStringLiteral( "DISTANCE" ) ).value< QgsProperty >().expressionString(), QStringLiteral( "A_FIELD * 200" ) );
12660
12661
}
12661
12662
12663
+ void TestQgsProcessing::guiDefaultParameterValues()
12664
+ {
12665
+ DummyAlgorithm alg( "testAlgorithm" );
12666
+ QgsProcessingParameterNumber *intTestParam = new QgsProcessingParameterNumber( QStringLiteral( "testIntegerParameter" ), QStringLiteral( "A test parameter" ), QgsProcessingParameterNumber::Integer, 10 );
12667
+ alg.addParameter( intTestParam );
12668
+ QgsProcessingParameterString *stringTestParam = new QgsProcessingParameterString( QStringLiteral( "testStringParameter" ), QStringLiteral( "A test parameter" ), QStringLiteral( "test, test, test" ) );
12669
+ alg.addParameter( stringTestParam );
12670
+
12671
+ QgsSettings s;
12672
+ s.setValue( QStringLiteral( "/Processing/DefaultGuiParam/testAlgorithm/testIntegerParameter" ), 42 );
12673
+ s.setValue( QStringLiteral( "/Processing/DefaultGuiParam/testAlgorithm/testStringParameter" ), QStringLiteral( "defaultString" ) );
12674
+
12675
+ QCOMPARE( intTestParam->defaultValueForGui(), 42 );
12676
+ QCOMPARE( intTestParam->guiDefaultValueOverride(), 42 );
12677
+ QCOMPARE( stringTestParam->defaultValueForGui(), QStringLiteral( "defaultString" ) );
12678
+ QCOMPARE( stringTestParam->guiDefaultValueOverride(), QStringLiteral( "defaultString" ) );
12679
+
12680
+ s.remove( QStringLiteral( "/Processing/DefaultGuiParam/testAlgorithm/testIntegerParameter" ) );
12681
+ s.remove( QStringLiteral( "/Processing/DefaultGuiParam/testAlgorithm/testStringParameter" ) );
12682
+ }
12683
+
12662
12684
QGSTEST_MAIN( TestQgsProcessing )
12663
12685
#include "testqgsprocessing.moc"
0 commit comments