diff options
author | Anatoly Galiulin <galiulin.anatoly@gmail.com> | 2017-04-06 13:10:08 +0700 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2017-04-06 08:10:08 +0200 |
commit | 3374bcb3736379cbf42663ca9ddbc15053b27f3c (patch) | |
tree | 4d6f2b9bfcd759889f3d4cf88daf438a8eb1a657 /tests/stdlib | |
parent | 4ba6f9808e057928b14ca89ae065154b0c5559b2 (diff) | |
download | Nim-3374bcb3736379cbf42663ca9ddbc15053b27f3c.tar.gz |
parsecfg: handle streams and strings when saving or loading configuration (#5554)
Diffstat (limited to 'tests/stdlib')
-rw-r--r-- | tests/stdlib/tparscfg.nim | 46 |
1 files changed, 39 insertions, 7 deletions
diff --git a/tests/stdlib/tparscfg.nim b/tests/stdlib/tparscfg.nim index 7022d071b..fc735f3eb 100644 --- a/tests/stdlib/tparscfg.nim +++ b/tests/stdlib/tparscfg.nim @@ -1,4 +1,31 @@ -import parsecfg +discard """ +output: ''' +utf-8 +on +hello +lihf8515 +10214028 +lihaifeng@wxm.com +=== +charset=utf-8 +[Package] +name=hello +--threads:on +[Author] +name=lhf +qq=10214028 +email="lihaifeng@wxm.com" +=== +charset=utf-8 +[Package] +name=hello +--threads:on +[Author] +name=lihf8515 +qq=10214028 +''' +""" +import parsecfg, streams ## Creating a configuration file. var dict1=newConfig() @@ -8,10 +35,11 @@ dict1.setSectionKey("Package","--threads","on") dict1.setSectionKey("Author","name","lihf8515") dict1.setSectionKey("Author","qq","10214028") dict1.setSectionKey("Author","email","lihaifeng@wxm.com") -dict1.writeConfig("config.ini") +var ss = newStringStream() +dict1.writeConfig(ss) ## Reading a configuration file. -var dict2 = loadConfig("config.ini") +var dict2 = loadConfig(newStringStream(ss.data)) var charset = dict2.getSectionValue("","charset") var threads = dict2.getSectionValue("Package","--threads") var pname = dict2.getSectionValue("Package","name") @@ -25,13 +53,17 @@ echo name echo qq echo email +echo "===" + ## Modifying a configuration file. -var dict3 = loadConfig("config.ini") +var dict3 = loadConfig(newStringStream(ss.data)) dict3.setSectionKey("Author","name","lhf") -dict3.writeConfig("config.ini") +write(stdout, $dict3) + +echo "===" ## Deleting a section key in a configuration file. -var dict4 = loadConfig("config.ini") +var dict4 = loadConfig(newStringStream(ss.data)) dict4.delSectionKey("Author","email") -dict4.writeConfig("config.ini") +write(stdout, $dict4) |