15
15
16
16
#include " qgsapplication.h"
17
17
#include " qgsvectorlayer.h"
18
-
19
18
#include " featurelayerpair.h"
20
19
#include " rememberattributescontroller.h"
20
+ #include " appsettings.h"
21
+ #include " activelayer.h"
22
+ #include " localprojectsmanager.h"
23
+ #include " activeproject.h"
21
24
22
25
void TestRememberAttributesController::init ()
23
26
{
27
+ QSettings settings;
28
+ settings.clear ();
24
29
}
25
30
26
31
void TestRememberAttributesController::cleanup ()
@@ -46,6 +51,12 @@ void TestRememberAttributesController::noFeatureTest()
46
51
void TestRememberAttributesController::storedFeatureTest ()
47
52
{
48
53
RememberAttributesController controller;
54
+ AppSettings appSettings;
55
+ ActiveLayer activeLayer;
56
+ LocalProjectsManager localProjectsManager ( QDir::tempPath () );
57
+ ActiveProject activeProject ( appSettings, activeLayer, localProjectsManager, this );
58
+ controller.setActiveProject ( &activeProject );
59
+
49
60
controller.setRememberValuesAllowed ( true );
50
61
51
62
std::unique_ptr<QgsVectorLayer> layer (
@@ -137,7 +148,13 @@ void TestRememberAttributesController::storedFeatureTest()
137
148
QCOMPARE ( val, 3 );
138
149
139
150
// ok now user switched to completely different project
140
- controller.reset ();
151
+
152
+ // reset settings
153
+ QSettings settings;
154
+ settings.beginGroup ( RememberAttributesController::CACHED_ATTRIBUTES_GROUP );
155
+ settings.remove ( " " );
156
+ settings.endGroup ();
157
+
141
158
QCOMPARE ( controller.shouldRememberValue ( layer.get (), 0 ), false );
142
159
QCOMPARE ( controller.rememberedValue ( layer.get (), 0 , val ), false );
143
160
QCOMPARE ( controller.shouldRememberValue ( layer.get (), 1 ), false );
0 commit comments