Support for a default configuration for INI files

This commit is contained in:
2026-02-19 19:57:49 +01:00
parent 02e64e3e45
commit a5ccd67143
11 changed files with 157 additions and 73 deletions
+17 -3
View File
@@ -1,9 +1,9 @@
from src.config_parser.ini import INIConfiguration, INIConfigurationGroup
from src.config_parser.ini import INIConfiguration, INIConfigurationSection
from src.config_parser.exceptions import INISyntaxError
def test_generating():
config = INIConfiguration()
config.test_group = INIConfigurationGroup('test_group')
config.test_group = INIConfigurationSection('test_group')
config.test_group.key1 = 'value1'
config.test_group.key2 = 'value2'
assert config.to_string() == '''[test_group]
@@ -43,4 +43,18 @@ invalid_line2
INIConfiguration.from_string('key=value"')
assert False, 'Expected INISyntaxError for unterminated literal'
except INISyntaxError:
pass
pass
def test_default():
default_configuration = INIConfiguration.from_string('''[section1]
k1=v1
k2=v2
k3=v3
[section2]
l1=w1
l2=w2''')
assert dict(INIConfiguration.from_string('''[section1]
k1=v1
k2=v2
k4=v4''', default = default_configuration)) == {'section1': {'k1': 'v1', 'k2': 'v2', 'k3': 'v3', 'k4': 'v4'}, 'section2': {'l1': 'w1', 'l2': 'w2'}}