25
25
#include " qgsofflineediting.h"
26
26
#include " qgstest.h"
27
27
#include " qgsvectorlayerref.h"
28
+ #include " qgslayertree.h"
28
29
29
30
/* *
30
31
* \ingroup UnitTests
@@ -107,12 +108,21 @@ void TestQgsOfflineEditing::createSpatialiteAndSynchronizeBack()
107
108
QCOMPARE ( mpLayer->featureCount (), numberOfFeatures );
108
109
QCOMPARE ( mpLayer->fields ().size (), numberOfFields );
109
110
111
+ // set on LayerTreeNode showFeatureCount property
112
+ QgsLayerTreeLayer *layerTreelayer = QgsProject::instance ()->layerTreeRoot ()->findLayer ( mpLayer->id () );
113
+ layerTreelayer->setCustomProperty ( QStringLiteral ( " showFeatureCount" ), 1 );
114
+
110
115
// convert
111
116
mOfflineEditing ->convertToOfflineProject ( offlineDataPath, offlineDbFile, layerIds, false , QgsOfflineEditing::SpatiaLite );
112
117
113
118
mpLayer = qobject_cast<QgsVectorLayer *>( QgsProject::instance ()->mapLayers ().first () );
114
119
QCOMPARE ( mpLayer->name (), QStringLiteral ( " points (offline)" ) );
115
120
QCOMPARE ( mpLayer->featureCount (), numberOfFeatures );
121
+ // check LayerTreeNode showFeatureCount property
122
+ layerTreelayer = QgsProject::instance ()->layerTreeRoot ()->findLayer ( mpLayer->id () );
123
+ QCOMPARE ( layerTreelayer->customProperty ( QStringLiteral ( " showFeatureCount" ), 0 ).toInt (), 1 );
124
+ // unset on LayerTreeNode showFeatureCount property
125
+ layerTreelayer->setCustomProperty ( QStringLiteral ( " showFeatureCount" ), 0 );
116
126
117
127
// synchronize back
118
128
mOfflineEditing ->synchronize ();
@@ -121,6 +131,10 @@ void TestQgsOfflineEditing::createSpatialiteAndSynchronizeBack()
121
131
QCOMPARE ( mpLayer->name (), QStringLiteral ( " points" ) );
122
132
QCOMPARE ( mpLayer->featureCount (), numberOfFeatures );
123
133
QCOMPARE ( mpLayer->fields ().size (), numberOfFields );
134
+
135
+ // check LayerTreeNode showFeatureCount property
136
+ layerTreelayer = QgsProject::instance ()->layerTreeRoot ()->findLayer ( mpLayer->id () );
137
+ QCOMPARE ( layerTreelayer->customProperty ( QStringLiteral ( " showFeatureCount" ), 0 ).toInt (), 0 );
124
138
}
125
139
126
140
void TestQgsOfflineEditing::createGeopackageAndSynchronizeBack ()
@@ -134,6 +148,11 @@ void TestQgsOfflineEditing::createGeopackageAndSynchronizeBack()
134
148
it.nextFeature ( firstFeatureBeforeAction );
135
149
136
150
connect ( mOfflineEditing , &QgsOfflineEditing::warning, this , []( const QString & title, const QString & message ) { qDebug () << title << message; } );
151
+
152
+ // set on LayerTreeNode showFeatureCount property
153
+ QgsLayerTreeLayer *layerTreelayer = QgsProject::instance ()->layerTreeRoot ()->findLayer ( mpLayer->id () );
154
+ layerTreelayer->setCustomProperty ( QStringLiteral ( " showFeatureCount" ), 1 );
155
+
137
156
// convert
138
157
mOfflineEditing ->convertToOfflineProject ( offlineDataPath, offlineDbFile, layerIds, false , QgsOfflineEditing::GPKG );
139
158
@@ -142,6 +161,9 @@ void TestQgsOfflineEditing::createGeopackageAndSynchronizeBack()
142
161
QCOMPARE ( mpLayer->featureCount (), numberOfFeatures );
143
162
// comparing with the number +1 because GPKG created an fid
144
163
QCOMPARE ( mpLayer->fields ().size (), numberOfFields + 1 );
164
+ // check LayerTreeNode showFeatureCount property
165
+ layerTreelayer = QgsProject::instance ()->layerTreeRoot ()->findLayer ( mpLayer->id () );
166
+ QCOMPARE ( layerTreelayer->customProperty ( QStringLiteral ( " showFeatureCount" ), 0 ).toInt (), 1 );
145
167
146
168
QgsFeature firstFeatureInAction;
147
169
it = mpLayer->getFeatures ();
@@ -159,13 +181,20 @@ void TestQgsOfflineEditing::createGeopackageAndSynchronizeBack()
159
181
mpLayer->commitChanges ();
160
182
QCOMPARE ( mpLayer->featureCount (), numberOfFeatures + 1 );
161
183
184
+ // unset on LayerTreeNode showFeatureCount property
185
+ layerTreelayer->setCustomProperty ( QStringLiteral ( " showFeatureCount" ), 0 );
186
+
162
187
// synchronize back
163
188
mOfflineEditing ->synchronize ();
164
189
165
190
mpLayer = qobject_cast<QgsVectorLayer *>( QgsProject::instance ()->mapLayers ().first () );
166
191
QCOMPARE ( mpLayer->name (), QStringLiteral ( " points" ) );
167
192
QCOMPARE ( mpLayer->dataProvider ()->featureCount (), numberOfFeatures + 1 );
168
193
QCOMPARE ( mpLayer->fields ().size (), numberOfFields );
194
+ // check LayerTreeNode showFeatureCount property
195
+ layerTreelayer = QgsProject::instance ()->layerTreeRoot ()->findLayer ( mpLayer->id () );
196
+ QCOMPARE ( layerTreelayer->customProperty ( QStringLiteral ( " showFeatureCount" ), 0 ).toInt (), 0 );
197
+
169
198
// get last feature
170
199
QgsFeature f = mpLayer->getFeature ( mpLayer->dataProvider ()->featureCount () - 1 );
171
200
qDebug () << " FID:" << f.id () << " Class:" << f.attribute ( " Class" ).toString ();
0 commit comments