summary refs log tree commit diff stats
path: root/tests
diff options
context:
space:
mode:
authorflywind <43030857+xflywind@users.noreply.github.com>2020-12-03 19:15:36 +0800
committerGitHub <noreply@github.com>2020-12-03 12:15:36 +0100
commit849bc36edac47d5f62222ffc6beb015a770fc1f6 (patch)
tree28679ea2f72406ba4dcc50815df2ba24463d7677 /tests
parent629b22e3d50e9903512ec893174eb797d9ed431b (diff)
downloadNim-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.nim56
-rw-r--r--tests/stdlib/tparsecfg.nim97
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
+"""