@@ -224,6 +224,30 @@ def test_global_groups(self):
224
224
self .assertEqual ([], self .settings .globalChildGroups ())
225
225
self .settings .endGroup ()
226
226
227
+ def test_group_section (self ):
228
+ # Test group by using Section
229
+ self .settings .beginGroup ('firstgroup' , section = QgsSettings .Core )
230
+ self .assertEqual ([], self .settings .childGroups ())
231
+ self .settings .setValue ('key' , 'value' )
232
+ self .settings .setValue ('key2/subkey1' , 'subvalue1' )
233
+ self .settings .setValue ('key2/subkey2' , 'subvalue2' )
234
+ self .settings .setValue ('key3' , 'value3' )
235
+
236
+ self .assertEqual (['key' , 'key2/subkey1' , 'key2/subkey2' , 'key3' ], self .settings .allKeys ())
237
+ self .assertEqual (['key' , 'key3' ], self .settings .childKeys ())
238
+ self .assertEqual (['key2' ], self .settings .childGroups ())
239
+ self .settings .endGroup ()
240
+ # Set value by writing the group manually
241
+ self .settings .setValue ('firstgroup/key4' , 'value4' , section = QgsSettings .Core )
242
+ # Checking the value that have been set
243
+ self .assertEqual (self .settings .value ('firstgroup/key' , section = QgsSettings .Core ), 'value' )
244
+ self .assertEqual (self .settings .value ('firstgroup/key2/subkey1' , section = QgsSettings .Core ), 'subvalue1' )
245
+ self .assertEqual (self .settings .value ('firstgroup/key2/subkey2' , section = QgsSettings .Core ), 'subvalue2' )
246
+ self .assertEqual (self .settings .value ('firstgroup/key3' , section = QgsSettings .Core ), 'value3' )
247
+ self .assertEqual (self .settings .value ('firstgroup/key4' , section = QgsSettings .Core ), 'value4' )
248
+ # Clean up firstgroup
249
+ self .settings .remove ('firstgroup' , section = QgsSettings .Core )
250
+
227
251
def test_array (self ):
228
252
self .assertEqual (self .settings .allKeys (), [])
229
253
self .addArrayToDefaults ('testqgissettings' , 'key' , ['qgisrocks1' , 'qgisrocks2' , 'qgisrocks3' ])
@@ -361,6 +385,12 @@ def test_remove(self):
361
385
self .settings .remove ('testQgisSettings/temp' )
362
386
self .assertEqual (self .settings .value ('testqQgisSettings/temp' ), None )
363
387
388
+ # Test remove by using Section
389
+ self .settings .setValue ('testQgisSettings/tempSection' , True , section = QgsSettings .Core )
390
+ self .assertEqual (self .settings .value ('testQgisSettings/tempSection' , section = QgsSettings .Core ), True )
391
+ self .settings .remove ('testQgisSettings/temp' , section = QgsSettings .Core )
392
+ self .assertEqual (self .settings .value ('testqQgisSettings/temp' , section = QgsSettings .Core ), None )
393
+
364
394
365
395
if __name__ == '__main__' :
366
396
unittest .main ()
0 commit comments