|
17 | 17 |
|
18 | 18 | #include "qgssettings.h"
|
19 | 19 | #include "qgsunittypes.h"
|
| 20 | +#include "qgsmaplayerproxymodel.h" |
20 | 21 | #include "qgstest.h"
|
21 | 22 |
|
22 | 23 |
|
@@ -50,9 +51,21 @@ void TestQgsSettings::enumSettingValue()
|
50 | 51 | QgsUnitTypes::LayoutUnit v2 = settings.enumSettingValue( QStringLiteral( "qgis/testing/my_value_for_units" ), QgsUnitTypes::LayoutMeters );
|
51 | 52 | QCOMPARE( v2, QgsUnitTypes::LayoutMeters );
|
52 | 53 |
|
| 54 | + // test a different value than default |
53 | 55 | settings.setValue( QStringLiteral( "qgis/testing/my_value_for_units" ), QgsUnitTypes::LayoutCentimeters );
|
54 | 56 | QgsUnitTypes::LayoutUnit v3 = settings.enumSettingValue( QStringLiteral( "qgis/testing/my_value_for_units" ), QgsUnitTypes::LayoutMeters );
|
55 | 57 | QCOMPARE( v3, QgsUnitTypes::LayoutCentimeters );
|
| 58 | + |
| 59 | + // test for flags |
| 60 | + QgsMapLayerProxyModel::Filters pointAndLine = QgsMapLayerProxyModel::Filters( QgsMapLayerProxyModel::PointLayer | QgsMapLayerProxyModel::LineLayer ); |
| 61 | + QgsMapLayerProxyModel::Filters pointAndPolygon = QgsMapLayerProxyModel::Filters( QgsMapLayerProxyModel::PointLayer | QgsMapLayerProxyModel::PolygonLayer ); |
| 62 | + settings.setValue( QStringLiteral( "qgis/testing/my_value_for_a_flag" ), 1e8 ); // invalid |
| 63 | + QgsMapLayerProxyModel::Filters v4 = settings.enumSettingValue( QStringLiteral( "qgis/testing/my_value_for_a_flag" ), pointAndLine ); |
| 64 | + QCOMPARE( v4, pointAndLine ); |
| 65 | + |
| 66 | + settings.setValue( QStringLiteral( "qgis/testing/my_value_for_a_flag" ), static_cast<int>( pointAndPolygon ) ); |
| 67 | + QgsMapLayerProxyModel::Filters v5 = settings.enumSettingValue( QStringLiteral( "qgis/testing/my_value_for_a_flag" ), pointAndLine, QgsSettings::NoSection, true ); |
| 68 | + QCOMPARE( v5, pointAndPolygon ); |
56 | 69 | }
|
57 | 70 |
|
58 | 71 |
|
|
0 commit comments