summary refs log tree commit diff stats
path: root/tests/stdlib
diff options
context:
space:
mode:
authorAnatoly Galiulin <galiulin.anatoly@gmail.com>2017-04-06 13:10:08 +0700
committerAndreas Rumpf <rumpf_a@web.de>2017-04-06 08:10:08 +0200
commit3374bcb3736379cbf42663ca9ddbc15053b27f3c (patch)
tree4d6f2b9bfcd759889f3d4cf88daf438a8eb1a657 /tests/stdlib
parent4ba6f9808e057928b14ca89ae065154b0c5559b2 (diff)
downloadNim-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.nim46
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)