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>
This commit is contained in:
parent
bc007a3cd3
commit
cc882917fe
3 changed files with 272 additions and 208 deletions
|
|
@ -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()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue