summary refs log tree commit diff stats
path: root/tests
diff options
context:
space:
mode:
authorTimothee Cour <timothee.cour2@gmail.com>2020-11-12 07:36:57 -0600
committerGitHub <noreply@github.com>2020-11-12 14:36:57 +0100
commitcc882917feda383a283eb128f80bf49681921995 (patch)
tree2c89778250178a911c2dc6ecbd95db2668f05a0c /tests
parentbc007a3cd32890d30501c7c0921681281be4ebb9 (diff)
downloadNim-cc882917feda383a283eb128f80bf49681921995.tar.gz
js -d:nodejs now supports osenv: `getEnv`, `putEnv`, `envPairs`, `delEnv`, `existsEnv` (v2) (#15826)
* js -d:nodejs now supports osenv: `getEnv`, `putEnv`, `envPairs`, `delEnv`, `existsEnv`

* refactor to osenv

* fix for js (without -d:nodejs) + VM

Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
Diffstat (limited to 'tests')
-rw-r--r--tests/js/tos.nim26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/js/tos.nim b/tests/js/tos.nim
index 30c19c1ae..07eb3aaa3 100644
--- a/tests/js/tos.nim
+++ b/tests/js/tos.nim
@@ -19,3 +19,29 @@ block:
   if not isWindows:
     doAssert cwd.isAbsolute
     doAssert relativePath(getCurrentDir() / "foo", "bar") == "../foo"
+
+import std/sequtils
+
+template main =
+  putEnv("foo", "bar")
+  doAssert getEnv("foo") == "bar"
+  doAssert existsEnv("foo")
+
+  putEnv("foo", "")
+  doAssert existsEnv("foo")
+  putEnv("foo", "bar2")
+  doAssert getEnv("foo") == "bar2"
+
+  when nimvm:
+    discard
+  else:
+    # need support in vmops: envPairs, delEnv
+    let s = toSeq(envPairs())
+    doAssert ("foo", "bar2") in s
+    doAssert ("foo", "bar") notin s
+
+    delEnv("foo")
+    doAssert not existsEnv("foo")
+
+static: main()
+main()