jashkenas--coffeescript/test/test_returns.coffee

33 lines
540 B
CoffeeScript

# Expression conversion under explicit returns.
first = ->
return 'do' for x in [1,2,3]
second = ->
return ['re' for x in [1,2,3]]
third = ->
return ('mi' for x in [1,2,3])
ok first().join(' ') is 'do do do'
ok second()[0].join(' ') is 're re re'
ok third().join(' ') is 'mi mi mi'
# Testing returns with multiple branches.
func = ->
if false
for a in b
return c if d
else
"word"
ok func() is 'word'
# And with switches.
func = ->
switch 'a'
when 'a' then 42
else return 23
ok func() is 42