summary refs log tree commit diff stats
path: root/tests/stdlib
diff options
context:
space:
mode:
Diffstat (limited to 'tests/stdlib')
-rw-r--r--tests/stdlib/tdistros_detect.nim16
-rw-r--r--tests/stdlib/tmemory.nim16
-rw-r--r--tests/stdlib/tquit.nim18
-rw-r--r--tests/stdlib/trat_float.nim9
-rw-r--r--tests/stdlib/trat_init.nim14
-rw-r--r--tests/stdlib/treadln.nim23
-rw-r--r--tests/stdlib/tstrtabs2.nim15
7 files changed, 77 insertions, 34 deletions
diff --git a/tests/stdlib/tdistros_detect.nim b/tests/stdlib/tdistros_detect.nim
new file mode 100644
index 000000000..1176c8993
--- /dev/null
+++ b/tests/stdlib/tdistros_detect.nim
@@ -0,0 +1,16 @@
+import std/[assertions, distros]
+
+when defined(windows):
+    doAssert detectOs(Windows) == true
+    doAssert detectOs(Linux) == false
+    doAssert detectOs(MacOSX) == false
+
+when defined(linux):
+    doAssert detectOs(Linux) == true
+    doAssert detectOs(Windows) == false
+    doAssert detectOs(MacOSX) == false
+
+when defined(macosx):
+    doAssert detectOs(MacOSX) == true
+    doAssert detectOs(Windows) == false
+    doAssert detectOs(Linux) == false
diff --git a/tests/stdlib/tmemory.nim b/tests/stdlib/tmemory.nim
deleted file mode 100644
index 553037011..000000000
--- a/tests/stdlib/tmemory.nim
+++ /dev/null
@@ -1,16 +0,0 @@
-import std/assertions
-
-block: # cmpMem
-  type
-    SomeHash = array[15, byte]
-
-  var
-    a: SomeHash
-    b: SomeHash
-
-  a[^1] = byte(1)
-  let c = a
-
-  doAssert cmpMem(a.addr, b.addr, sizeof(SomeHash)) > 0
-  doAssert cmpMem(b.addr, a.addr, sizeof(SomeHash)) < 0
-  doAssert cmpMem(a.addr, c.addr, sizeof(SomeHash)) == 0
diff --git a/tests/stdlib/tquit.nim b/tests/stdlib/tquit.nim
deleted file mode 100644
index 12385e57b..000000000
--- a/tests/stdlib/tquit.nim
+++ /dev/null
@@ -1,18 +0,0 @@
-discard """
-disabled: true
-output: '''
-just exiting...
-'''
-joinable: false
-"""
-
-# Test `addQuitProc` (now deprecated by `addExitProc`)
-
-import std/syncio
-
-proc myExit() {.noconv.} =
-  write(stdout, "just exiting...\n")
-
-{.push warning[deprecated]: off.}
-addQuitProc(myExit)
-{.pop.}
diff --git a/tests/stdlib/trat_float.nim b/tests/stdlib/trat_float.nim
new file mode 100644
index 000000000..663973bf9
--- /dev/null
+++ b/tests/stdlib/trat_float.nim
@@ -0,0 +1,9 @@
+discard """
+  errormsg: '''type mismatch: got'''
+  file: "trat_float.nim"
+  line: "9,19"
+"""
+import rationals
+var
+  # this fails - no floats as num or den
+  r = initRational(1.0'f, 1.0'f)
diff --git a/tests/stdlib/trat_init.nim b/tests/stdlib/trat_init.nim
new file mode 100644
index 000000000..2be0c0099
--- /dev/null
+++ b/tests/stdlib/trat_init.nim
@@ -0,0 +1,14 @@
+discard """
+  output: '''true'''
+"""
+import rationals
+var
+  z = Rational[int](num: 0, den: 1)
+  o = initRational(num=1, den=1)
+  a = initRational(1, 2)
+
+try:
+  var
+    r = initRational(1, 0)  # this fails - no zero denominator
+except AssertionDefect:
+  echo "true"
diff --git a/tests/stdlib/treadln.nim b/tests/stdlib/treadln.nim
new file mode 100644
index 000000000..4a070e848
--- /dev/null
+++ b/tests/stdlib/treadln.nim
@@ -0,0 +1,23 @@
+
+discard """
+output: '''
+test the improved readline handling that does not care whether its
+Macintosh, Unix or Windows text format.
+'''
+"""
+
+import std/syncio
+
+# test the improved readline handling that does not care whether its
+# Macintosh, Unix or Windows text format.
+
+var
+  inp: File
+  line: string
+
+if open(inp, "tests/stdlib/treadln.nim"):
+  while not endOfFile(inp):
+    line = readLine(inp)
+    if line.len >= 2 and line[0] == '#' and line[1] == ' ':
+      echo line[2..^1]
+  close(inp)
diff --git a/tests/stdlib/tstrtabs2.nim b/tests/stdlib/tstrtabs2.nim
index aeef28d65..a4030ec77 100644
--- a/tests/stdlib/tstrtabs2.nim
+++ b/tests/stdlib/tstrtabs2.nim
@@ -15,3 +15,18 @@ block:
   doAssert t["name"] == "John"
 
 m()
+
+proc fun()=
+  let ret = newStringTable(modeCaseSensitive)
+  ret["foo"] = "bar"
+
+  doAssert $ret == "{foo: bar}"
+
+  let b = ret["foo"]
+  doAssert b == "bar"
+
+proc main()=
+  static: fun()
+  fun()
+
+main()