summary refs log tree commit diff stats
path: root/tests/magics/tmagics.nim
diff options
context:
space:
mode:
authorMiran <narimiran@users.noreply.github.com>2018-10-16 10:50:10 +0200
committerAndreas Rumpf <rumpf_a@web.de>2018-10-16 10:50:10 +0200
commit749dbce4c69224f5464908d8f714291f17aa60fa (patch)
treecc91326ef536f15d8d9aa97efab4fc8473d093c7 /tests/magics/tmagics.nim
parentf04c93b5dd1ee5e185f6849ad8116d08a687026d (diff)
downloadNim-749dbce4c69224f5464908d8f714291f17aa60fa.tar.gz
Merge tests into a larger file (part 5 of ∞) (#9368)
* merge magics

* merge metatype tests

* merge method tests

* merge objects tests

* change `import future` to `import sugar`

Nim in Action tests are left with `import future`, to ensure compatibility.

* merge overload tests

* merge proc tests

* merge procvar tests

* merge range tests

* merge seq tests

* merge sets tests

* remove wrong assert from `tsets3`

* fix `jsTests`

* better fix
Diffstat (limited to 'tests/magics/tmagics.nim')
-rw-r--r--tests/magics/tmagics.nim45
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/magics/tmagics.nim b/tests/magics/tmagics.nim
new file mode 100644
index 000000000..d13a036bd
--- /dev/null
+++ b/tests/magics/tmagics.nim
@@ -0,0 +1,45 @@
+discard """
+  output: '''
+true
+true
+false
+true
+true
+false
+true
+'''
+"""
+
+block tlowhigh:
+  type myEnum = enum e1, e2, e3, e4, e5
+  var a: array[myEnum, int]
+  
+  for i in low(a) .. high(a):
+    a[i] = 0
+  
+  proc sum(a: openarray[int]): int =
+    result = 0
+    for i in low(a)..high(a):
+      inc(result, a[i])
+  
+  doAssert sum([1, 2, 3, 4]) == 10
+
+
+block t8693:
+  type Foo = int | float
+
+  proc bar(t1, t2: typedesc): bool =
+    echo (t1 is t2)
+    (t2 is t1)
+
+  proc bar[T](x: T, t2: typedesc): bool =
+    echo (T is t2)
+    (t2 is T)
+
+  doAssert bar(int, Foo) == false
+  doAssert bar(4, Foo) == false
+  doAssert bar(any, int)
+  doAssert bar(int, any) == false
+  doAssert bar(Foo, Foo)
+  doAssert bar(any, Foo)
+  doAssert bar(Foo, any) == false