summary refs log tree commit diff stats
path: root/tests/run
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2012-07-18 17:21:10 +0200
committerAraq <rumpf_a@web.de>2012-07-18 17:21:10 +0200
commite68830a952473682fdb41808e2791e8ab8d1f2f6 (patch)
treef3c3ad0a9b8fdc7be5b443f7ff45a375f8159396 /tests/run
parent83deb233eec4b80b37146024df64a11a437da386 (diff)
downloadNim-e68830a952473682fdb41808e2791e8ab8d1f2f6.tar.gz
improvements for 'bind', fixes #166
Diffstat (limited to 'tests/run')
-rw-r--r--tests/run/tstempl.nim24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/run/tstempl.nim b/tests/run/tstempl.nim
new file mode 100644
index 000000000..2b4a8baa0
--- /dev/null
+++ b/tests/run/tstempl.nim
@@ -0,0 +1,24 @@
+discard """
+  output: '''global = levB, arg = levA, test = false
+levB'''
+"""
+
+# tstempl.nim
+import strutils
+
+type 
+  TLev = enum
+    levA,
+    levB
+
+var abclev = levB
+
+template tstLev(abclev: TLev) =
+  bind tstempl.abclev, `%`
+  writeln(stdout, "global = $1, arg = $2, test = $3" % [
+    $tstempl.abclev, $abclev, $(tstempl.abclev == abclev)])
+  # evaluates to true, but must be false
+
+
+tstLev(levA)
+writeln(stdout, $abclev)