mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-29 09:24:36 +00:00
* StringStream & more stdlib modules support for JS/NimScript * change back pegs test in line with #14134
57 lines
1.5 KiB
Nim
57 lines
1.5 KiB
Nim
discard """
|
|
targets: "c js"
|
|
"""
|
|
import parsecfg, streams
|
|
|
|
## Creating a configuration file.
|
|
var dict1=newConfig()
|
|
dict1.setSectionKey("","charset","utf-8")
|
|
dict1.setSectionKey("Package","name","hello")
|
|
dict1.setSectionKey("Package","--threads","on")
|
|
dict1.setSectionKey("Author","name","lihf8515")
|
|
dict1.setSectionKey("Author","qq","10214028")
|
|
dict1.setSectionKey("Author","email","lihaifeng@wxm.com")
|
|
var ss = newStringStream()
|
|
dict1.writeConfig(ss)
|
|
|
|
## Reading a configuration file.
|
|
var dict2 = loadConfig(newStringStream(ss.data))
|
|
var charset = dict2.getSectionValue("","charset")
|
|
var threads = dict2.getSectionValue("Package","--threads")
|
|
var pname = dict2.getSectionValue("Package","name")
|
|
var name = dict2.getSectionValue("Author","name")
|
|
var qq = dict2.getSectionValue("Author","qq")
|
|
var email = dict2.getSectionValue("Author","email")
|
|
doAssert charset == "utf-8"
|
|
doAssert threads == "on"
|
|
doAssert pname == "hello"
|
|
doAssert name == "lihf8515"
|
|
doAssert qq == "10214028"
|
|
doAssert email == "lihaifeng@wxm.com"
|
|
|
|
## Modifying a configuration file.
|
|
var dict3 = loadConfig(newStringStream(ss.data))
|
|
dict3.setSectionKey("Author","name","lhf")
|
|
doAssert $dict3 == """charset=utf-8
|
|
[Package]
|
|
name=hello
|
|
--threads:on
|
|
[Author]
|
|
name=lhf
|
|
qq=10214028
|
|
email="lihaifeng@wxm.com"
|
|
"""
|
|
|
|
## Deleting a section key in a configuration file.
|
|
var dict4 = loadConfig(newStringStream(ss.data))
|
|
dict4.delSectionKey("Author","email")
|
|
doAssert $dict4 == """charset=utf-8
|
|
[Package]
|
|
name=hello
|
|
--threads:on
|
|
[Author]
|
|
name=lihf8515
|
|
qq=10214028
|
|
"""
|
|
|