diff options
Diffstat (limited to 'tests/02_runtime')
-rw-r--r-- | tests/02_runtime/05_closure_scope | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/02_runtime/05_closure_scope b/tests/02_runtime/05_closure_scope new file mode 100644 index 0000000..40f9245 --- /dev/null +++ b/tests/02_runtime/05_closure_scope @@ -0,0 +1,35 @@ +Testing closure scopes. + + +1. Ensure that the declaring scope is retained in functions. + +-- Expect stdout -- +Make function with x=1 +Make function with x=2 +Make function with x=3 +x is 1 +x is 2 +x is 3 +-- End -- + +-- Testcase -- +{% + local count=0; + + function a() { + local x = ++count; + print("Make function with x=", x, "\n"); + return function() { + print("x is ", x, "\n"); + }; + } + + local fn1 = a(); + local fn2 = a(); + local fn3 = a(); + + fn1(); + fn2(); + fn3(); +%} +-- End -- |