summary refs log tree commit diff stats
path: root/tests/run
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2013-03-16 20:40:26 +0100
committerAraq <rumpf_a@web.de>2013-03-16 20:40:26 +0100
commitd9149635393d6c2de589d645b541793da2f5cc9b (patch)
treefc8e0fd99c9beaf0a2bb6d3341c01552b0f5af29 /tests/run
parent7d05356df64c99a72f6caeeec5e98ca7482b2e14 (diff)
parent7304ca061159db8345ae245309274310bbfd0ab1 (diff)
downloadNim-d9149635393d6c2de589d645b541793da2f5cc9b.tar.gz
Merge branch 'master' of github.com:Araq/Nimrod
Diffstat (limited to 'tests/run')
-rw-r--r--tests/run/tfieldindex.nim21
-rwxr-xr-xtests/run/tfinally.nim8
-rwxr-xr-xtests/run/tfinally2.nim17
3 files changed, 36 insertions, 10 deletions
diff --git a/tests/run/tfieldindex.nim b/tests/run/tfieldindex.nim
new file mode 100644
index 000000000..3ffa65e58
--- /dev/null
+++ b/tests/run/tfieldindex.nim
@@ -0,0 +1,21 @@
+discard """
+  output: "1"
+"""
+
+type
+  TMyTuple = tuple[a, b: int]
+
+proc indexOf*(t: typedesc, name: string): int {.compiletime.} =
+  ## takes a tuple and looks for the field by name.
+  ## returs index of that field.
+  var
+    d: t
+    i = 0
+  for n, x in fieldPairs(d):
+    if n == name: return i
+    i.inc
+  raise newException(EInvalidValue, "No field " & name & " in type " & 
+    astToStr(t))
+
+echo TMyTuple.indexOf("b")
+
diff --git a/tests/run/tfinally.nim b/tests/run/tfinally.nim
index 29313c3fd..273aac72b 100755
--- a/tests/run/tfinally.nim
+++ b/tests/run/tfinally.nim
@@ -1,6 +1,8 @@
 discard """
   file: "tfinally.nim"
-  output: "came here 3"
+  output: '''came
+here
+3'''
 """
 # Test return in try statement:
 
@@ -9,10 +11,10 @@ proc main: int =
     try:
       return 1
     finally:
-      stdout.write("came ")
+      echo("came")
       return 2
   finally: 
-    stdout.write("here ")
+    echo("here ")
     return 3
     
 echo main() #OUT came here 3
diff --git a/tests/run/tfinally2.nim b/tests/run/tfinally2.nim
index 3ed212a7c..e1e8d4c7e 100755
--- a/tests/run/tfinally2.nim
+++ b/tests/run/tfinally2.nim
@@ -1,6 +1,9 @@
 discard """
   file: "tfinally2.nim"
-  output: "ABCD"
+  output: '''A
+B
+C
+D'''
 """
 # Test break in try statement:
 
@@ -11,15 +14,15 @@ proc main: int =
         try:
           break AB
         finally:
-          stdout.write("A")
-        stdout.write("skipped")
+          echo("A")
+        echo("skipped")
       finally: 
         block B:
-          stdout.write("B")
-      stdout.write("skipped")
-    stdout.write("C")
+          echo("B")
+      echo("skipped")
+    echo("C")
   finally:
-    stdout.writeln("D")
+    echo("D")
     
 discard main() #OUT ABCD