diff options
author | flywind <43030857+xflywind@users.noreply.github.com> | 2020-12-03 19:15:36 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-03 12:15:36 +0100 |
commit | 849bc36edac47d5f62222ffc6beb015a770fc1f6 (patch) | |
tree | 28679ea2f72406ba4dcc50815df2ba24463d7677 /tests | |
parent | 629b22e3d50e9903512ec893174eb797d9ed431b (diff) | |
download | Nim-849bc36edac47d5f62222ffc6beb015a770fc1f6.tar.gz |
merge two parsecfg tests into one (#16237)
* try to fix #16206 * merge two parsecfg tests into one * Revert "fix" This reverts commit 668bdec2c499cf9967abfb7aad24975a04b092eb. * Revert "try to fix #16206" This reverts commit c399cc2153190299c9cbb0ad83f6ce85a7bbbb89.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/stdlib/tparscfg.nim | 56 | ||||
-rw-r--r-- | tests/stdlib/tparsecfg.nim | 97 |
2 files changed, 77 insertions, 76 deletions
diff --git a/tests/stdlib/tparscfg.nim b/tests/stdlib/tparscfg.nim deleted file mode 100644 index ddb9b02b7..000000000 --- a/tests/stdlib/tparscfg.nim +++ /dev/null @@ -1,56 +0,0 @@ -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 -""" - diff --git a/tests/stdlib/tparsecfg.nim b/tests/stdlib/tparsecfg.nim index 1c214e5d2..45dea0531 100644 --- a/tests/stdlib/tparsecfg.nim +++ b/tests/stdlib/tparsecfg.nim @@ -1,23 +1,80 @@ discard """ - output: '''OK''' + targets: "c js" """ -#bug #6046 -import parsecfg - -var config = newConfig() -config.setSectionKey("foo","bar","-1") -config.setSectionKey("foo","foo","abc") -config.writeConfig("test.ini") - -# test.ini now contains -# [foo] -# bar=-1 -# foo=abc - -var config2 = loadConfig("test.ini") -let bar = config2.getSectionValue("foo","bar") -let foo = config2.getSectionValue("foo","foo") -assert(bar == "-1") -assert(foo == "abc") -echo "OK" +import parsecfg, streams + +when not defined(js): + # bug #6046 + var config = newConfig() + config.setSectionKey("foo", "bar", "-1") + config.setSectionKey("foo", "foo", "abc") + + from stdtest/specialpaths import buildDir + import os + + const file = buildDir / "tparsecfg.ini" + config.writeConfig(file) + + # file now contains + # [foo] + # bar=-1 + # foo=abc + + var config2 = loadConfig(file) + let bar = config2.getSectionValue("foo", "bar") + let foo = config2.getSectionValue("foo", "foo") + assert(bar == "-1") + assert(foo == "abc") + + +## 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 +""" |