Fixed broken test. Added closureScope test.

This commit is contained in:
Yuriy Glukhov 2016-06-28 13:13:37 +03:00
commit e61cfea78b
2 changed files with 16 additions and 2 deletions

View file

@ -1 +1,4 @@
discard """
output: ""
"""
import "../template/utemplates", "../closure/uclosures" import "../template/utemplates", "../closure/uclosures"

View file

@ -1,12 +1,23 @@
# This test is included from within tunittests
import unittest import unittest
test "loop variables are captured by copy": test "loop variables are captured by ref":
var funcs: seq[proc (): int {.closure.}] = @[] var funcs: seq[proc (): int {.closure.}] = @[]
for i in 0..10: for i in 0..10:
let ii = i let ii = i
funcs.add do -> int: return ii * ii funcs.add do -> int: return ii * ii
check funcs[0]() == 100
check funcs[3]() == 100
test "loop variables in closureScope are captured by copy":
var funcs: seq[proc (): int {.closure.}] = @[]
for i in 0..10:
closureScope:
let ii = i
funcs.add do -> int: return ii * ii
check funcs[0]() == 0 check funcs[0]() == 0
check funcs[3]() == 9 check funcs[3]() == 9