Minilisp.pm/t/block.t
2021-04-09 00:01:27 +02:00

44 lines
1.2 KiB
Raku

(plan 5)
(expect "block - return last value"
(equal 'top (block nil 'top)))
(expect "block - return"
(equal 'ok
(block nil
'test1
(return 'ok)
'fail)))
(expect "block - return-from"
(equal 'ok
(block banana
'a
'b
(return-from banana 'ok)
'c
'd)))
(expect "block - return-from inner block"
(equal 'ok
(block outer
'a
'b
(block inner
'c
(return-from inner 'fail)
'd)
'e
'ok)))
(expect "block - return-from outer block"
(equal 'ok
(block outer
'a
'b
(block inner
'c
(return-from outer 'ok)
'd)
'e
'fail)))