summary refs log tree commit diff stats
path: root/tests/destructor
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2019-04-28 13:28:18 +0200
committerGitHub <noreply@github.com>2019-04-28 13:28:18 +0200
commit55aa2129b5b32c0bb9862c66d3ebbd681f727274 (patch)
tree38d8ac59d6829d283a1d56504a1e972d87c5e1bb /tests/destructor
parenta432aedb5457f113d2389bfd09fbb20fd6eafc9b (diff)
downloadNim-55aa2129b5b32c0bb9862c66d3ebbd681f727274.tar.gz
make twidgets example green (#11135)
Diffstat (limited to 'tests/destructor')
-rw-r--r--tests/destructor/tdestructor.nim4
-rw-r--r--tests/destructor/tdestructor3.nim4
-rw-r--r--tests/destructor/twidgets.nim15
3 files changed, 12 insertions, 11 deletions
diff --git a/tests/destructor/tdestructor.nim b/tests/destructor/tdestructor.nim
index 09dce19ab..780a45288 100644
--- a/tests/destructor/tdestructor.nim
+++ b/tests/destructor/tdestructor.nim
@@ -7,8 +7,8 @@ mygeneric1 constructed
 mygeneric1 destroyed
 ----
 mygeneric2 constructed
-myobj destroyed
 mygeneric2 destroyed
+myobj destroyed
 ----
 mygeneric3 constructed
 mygeneric1 destroyed
@@ -20,10 +20,10 @@ mygeneric2 destroyed
 ----
 ----
 myobj destroyed
-mygeneric1 destroyed
 myobj destroyed
 myobj destroyed
 myobj destroyed
+mygeneric1 destroyed
 ---
 myobj destroyed
 myobj destroyed
diff --git a/tests/destructor/tdestructor3.nim b/tests/destructor/tdestructor3.nim
index 9c41abe81..a1de284ae 100644
--- a/tests/destructor/tdestructor3.nim
+++ b/tests/destructor/tdestructor3.nim
@@ -4,8 +4,8 @@ destroy
 destroy
 5
 123
-destroy Foo: 5
-destroy Foo: 123'''
+destroy Foo: 123
+destroy Foo: 5'''
 joinable: false
 """
 
diff --git a/tests/destructor/twidgets.nim b/tests/destructor/twidgets.nim
index 0495769bd..5d533fe44 100644
--- a/tests/destructor/twidgets.nim
+++ b/tests/destructor/twidgets.nim
@@ -1,8 +1,8 @@
 discard """
   cmd: '''nim c --newruntime $file'''
   output: '''button
-clicked!'''
-  disabled: "true"
+clicked!
+1 1  alloc/dealloc pairs: 0'''
 """
 
 import core / allocators
@@ -41,13 +41,14 @@ iterator unitems*[T](a: seq[owned T]): T {.inline.} =
     assert(len(a) == L, "seq modified while iterating over it")
 
 proc newWindow(): owned Window =
-  proc draw(self: Widget) =
+  proc windraw(self: Widget) =
     let w = Window(self)
-    for e in unitems(w.elements):
+    for i in 0..<len(w.elements):
+      let e = Widget(w.elements[i])
       let d = (proc(self: Widget))e.drawImpl
       if not d.isNil: d(e)
 
-  result = Window(drawImpl: draw, elements: @[])
+  result = Window(drawImpl: windraw, elements: @[])
 
 proc draw(w: Widget) =
   let d = (proc(self: Widget))w.drawImpl
@@ -60,14 +61,14 @@ proc main =
   var w = newWindow()
 
   var b = newButton("button", nil)
-  #let u: Button = b
+  let u: Button = b
   b.onclick = proc () =
     b.caption = "clicked!"
   w.add b
 
   w.draw()
   # simulate button click:
-  #u.onclick()
+  u.onclick()
 
   w.draw()