summary refs log tree commit diff stats
path: root/tests
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2012-07-16 23:00:57 +0200
committerAraq <rumpf_a@web.de>2012-07-16 23:00:57 +0200
commit8d99753d6320489e4de8cf186415b0a7be8260b4 (patch)
tree2008a25dac1df222efc2c205fdf772ba5a533ecc /tests
parent56b4e3ad91a0dda632ba6bab7139665a3da163d3 (diff)
downloadNim-8d99753d6320489e4de8cf186415b0a7be8260b4.tar.gz
preparations for making 'closure' the default calling convention for proc types
Diffstat (limited to 'tests')
-rwxr-xr-xtests/compile/tnewlibs.nim3
-rw-r--r--tests/run/tclosure3.nim6
-rw-r--r--tests/run/teventemitter.nim10
3 files changed, 11 insertions, 8 deletions
diff --git a/tests/compile/tnewlibs.nim b/tests/compile/tnewlibs.nim
index ab358f557..041316290 100755
--- a/tests/compile/tnewlibs.nim
+++ b/tests/compile/tnewlibs.nim
@@ -10,7 +10,8 @@ import
   osproc,
   cairowin32, cairoxlib,
   gl, glut, glu, glx, glext, wingl,
-  lua, lualib, lauxlib, mysql, sqlite3, db_mongo, md5
+  lua, lualib, lauxlib, mysql, sqlite3, db_mongo, md5, asyncio, mimetypes,
+  cookies, events, ftpclient
   
 
 writeln(stdout, "test compilation of binding modules")
diff --git a/tests/run/tclosure3.nim b/tests/run/tclosure3.nim
index b2748035b..bb217387f 100644
--- a/tests/run/tclosure3.nim
+++ b/tests/run/tclosure3.nim
@@ -6,13 +6,13 @@ discard """
 proc main =
   const n = 30
   for iterations in 0..50_000:
-    var s: seq[proc(): int {.closure.}] = @[]
+    var s: seq[proc(): string {.closure.}] = @[]
     for i in 0 .. n-1:
       let ii = i
-      s.add(proc(): int = return ii*ii)
+      s.add(proc(): string = return $(ii*ii))
     for i in 0 .. n-1:
       let val = s[i]()
-      if val != i*i: echo "bug  ", val
+      if val != $(i*i): echo "bug  ", val
     
     if getOccupiedMem() > 3000_000: quit("still a leak!")
   echo "success"
diff --git a/tests/run/teventemitter.nim b/tests/run/teventemitter.nim
index 8394776a8..9ecf72ea2 100644
--- a/tests/run/teventemitter.nim
+++ b/tests/run/teventemitter.nim
@@ -7,20 +7,22 @@ import tables, lists
 type
   TEventArgs = object of TObject
   TEventEmitter = object of TObject
-    events*: TTable[string, TDoublyLinkedList[proc(e: TEventArgs)]]
+    events*: TTable[string, TDoublyLinkedList[proc(e: TEventArgs) {.nimcall.}]]
 
 proc emit*(emitter: TEventEmitter, event: string, args: TEventArgs) =
   for func in nodes(emitter.events[event]):
     func.value(args) #call function with args.
 
-proc on*(emitter: var TEventEmitter, event: string, func: proc(e: TEventArgs)) =
+proc on*(emitter: var TEventEmitter, event: string, 
+         func: proc(e: TEventArgs) {.nimcall.}) =
   if not hasKey(emitter.events, event):
-    var list: TDoublyLinkedList[proc(e: TEventArgs)]
+    var list: TDoublyLinkedList[proc(e: TEventArgs) {.nimcall.}]
     add(emitter.events, event, list) #if not, add it.
   append(emitter.events.mget(event), func)
 
 proc initEmitter(emitter: var TEventEmitter) =
-  emitter.events = initTable[string, TDoublyLinkedList[proc(e: TEventArgs)]]()
+  emitter.events = initTable[string, 
+    TDoublyLinkedList[proc(e: TEventArgs) {.nimcall.}]]()
 
 var 
   ee: TEventEmitter