Skip to content

Commit ce01bc0

Browse files
committedSep 1, 2017
Include settings.globalChildGroups in test
Fix container iteration
1 parent 59aa5d3 commit ce01bc0

File tree

3 files changed

+45
-8
lines changed

3 files changed

+45
-8
lines changed
 

‎src/core/qgssettings.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
#include <QDir>
2121

2222
#include "qgssettings.h"
23+
#include "qgslogger.h"
2324

2425
QString QgsSettings::sGlobalSettingsPath = QString();
2526

@@ -154,7 +155,7 @@ QStringList QgsSettings::globalChildGroups() const
154155
QStringList keys;
155156
if ( mGlobalSettings )
156157
{
157-
QStringList keys = mGlobalSettings->childGroups();
158+
keys = mGlobalSettings->childGroups();
158159
}
159160
return keys;
160161
}

‎src/providers/wms/qgsxyzconnection.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,10 @@ QStringList QgsXyzConnectionUtils::connectionList()
4747
settings.beginGroup( QStringLiteral( "qgis/connections-xyz" ) );
4848
connList = settings.childGroups();
4949

50-
QStringList global = settings.globalChildGroups();
50+
const QStringList global = settings.globalChildGroups();
5151
settings.endGroup();
5252

53-
for ( auto &s : global )
53+
for ( const auto &s : global )
5454
{
5555
settings.beginGroup( "qgis/connections-xyz/" + s );
5656
bool isHidden = settings.value( QStringLiteral( "hidden" ), false ).toBool();

‎tests/src/python/test_qgis_global_settings.py

Lines changed: 41 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,20 +37,56 @@ def createXYZLayerFromURL(url):
3737

3838
class TestQgsGlobalSettings(unittest.TestCase):
3939

40-
def test_global_settings_exist(self):
40+
def setUp(self):
4141
qDebug('QgsApplication.pkgDataPath(): {0}'.format(QgsApplication.pkgDataPath()))
4242
# Path after deployment
4343
# QgsSettings.setGlobalSettingsPath(QgsApplication.pkgDataPath() + '/qgis_global_settings.ini')
4444
# Path before deployment
45-
QgsSettings.setGlobalSettingsPath(QgsApplication.pkgDataPath() + '/resources/qgis_global_settings.ini')
45+
assert QgsSettings.setGlobalSettingsPath(QgsApplication.pkgDataPath() + '/resources/qgis_global_settings.ini')
4646
self.settings = QgsSettings('testqgissettings', 'testqgissettings')
47-
settings = QgsSettings()
48-
# qDebug('settings.allKeys(): {0}'.format(settings.allKeys()))
49-
defaulturl = settings.value('qgis/connections-xyz/OpenStreetMap/url')
47+
48+
def test_global_settings_exist(self):
49+
qDebug('settings.allKeys(): {0}'.format(self.settings.allKeys()))
50+
defaulturl = self.settings.value('qgis/connections-xyz/OpenStreetMap/url')
5051
self.assertEqual(defaulturl, 'http://a.tile.openstreetmap.org/{z}/{x}/{y}.png')
5152
layer = createXYZLayerFromURL(defaulturl)
5253
self.assertEqual(layer.name(), 'OpenStreetMap')
5354

55+
def test_global_settings_group(self):
56+
self.assertEqual(['qgis'], self.settings.childGroups())
57+
self.assertEqual(['qgis'], self.settings.globalChildGroups())
58+
59+
self.settings.beginGroup('qgis')
60+
self.assertEqual(['connections-xyz'], self.settings.childGroups())
61+
self.assertEqual(['connections-xyz'], self.settings.globalChildGroups())
62+
# qDebug('settings.allKeys(): {0}'.format(self.settings.allKeys()))
63+
self.settings.endGroup()
64+
65+
self.settings.beginGroup('qgis/connections-xyz')
66+
self.assertEqual(['OpenStreetMap'], self.settings.childGroups())
67+
self.assertEqual(['OpenStreetMap'], self.settings.globalChildGroups())
68+
# qDebug('settings.allKeys(): {0}'.format(self.settings.allKeys()))
69+
self.settings.endGroup()
70+
71+
# add group to user's settings
72+
self.settings.beginGroup('qgis/connections-xyz')
73+
self.settings.setValue('OSM/url', 'http://c.tile.openstreetmap.org/{z}/{x}/{y}.png')
74+
self.settings.setValue('OSM/zmax', '19')
75+
self.settings.setValue('OSM/zmin', '0')
76+
self.settings.endGroup()
77+
78+
# groups should be different
79+
self.settings.beginGroup('qgis/connections-xyz')
80+
self.assertEqual(['OSM', 'OpenStreetMap'], self.settings.childGroups())
81+
self.assertEqual(['OpenStreetMap'], self.settings.globalChildGroups())
82+
# qDebug('settings.allKeys(): {0}'.format(self.settings.allKeys()))
83+
self.settings.endGroup()
84+
85+
self.settings.beginGroup('qgis/connections-xyz')
86+
self.settings.remove('OSM')
87+
self.assertEqual(['OpenStreetMap'], self.settings.childGroups())
88+
self.assertEqual(['OpenStreetMap'], self.settings.globalChildGroups())
89+
self.settings.endGroup()
5490

5591
if __name__ == '__main__':
5692
unittest.main()

0 commit comments

Comments
 (0)
Please sign in to comment.