2010-04-03 14:39:32 +00:00
|
|
|
# Basic chained function calls.
|
2010-07-25 05:23:37 +00:00
|
|
|
identityWrap = (x) ->
|
2010-04-03 14:39:32 +00:00
|
|
|
-> x
|
|
|
|
|
2010-07-25 05:23:37 +00:00
|
|
|
result = identityWrap(identityWrap(true))()()
|
2010-04-03 14:39:32 +00:00
|
|
|
|
|
|
|
ok result
|
|
|
|
|
|
|
|
|
|
|
|
# Chained accesses split on period/newline, backwards and forwards.
|
2010-07-25 05:23:37 +00:00
|
|
|
str = 'god'
|
2010-04-03 14:39:32 +00:00
|
|
|
|
2010-07-25 05:23:37 +00:00
|
|
|
result = str.
|
2010-04-03 14:39:32 +00:00
|
|
|
split('').
|
|
|
|
reverse().
|
|
|
|
reverse().
|
|
|
|
reverse()
|
|
|
|
|
|
|
|
ok result.join('') is 'dog'
|
|
|
|
|
2010-07-25 05:23:37 +00:00
|
|
|
result = str
|
2010-04-03 14:39:32 +00:00
|
|
|
.split('')
|
|
|
|
.reverse()
|
|
|
|
.reverse()
|
|
|
|
.reverse()
|
|
|
|
|
|
|
|
ok result.join('') is 'dog'
|
|
|
|
|
|
|
|
|
|
|
|
# Newline suppression for operators.
|
2010-07-25 05:23:37 +00:00
|
|
|
six =
|
2010-04-03 14:39:32 +00:00
|
|
|
1 +
|
|
|
|
2 +
|
|
|
|
3
|
|
|
|
|
2010-04-18 04:41:47 +00:00
|
|
|
ok six is 6
|
|
|
|
|
2010-04-20 03:18:39 +00:00
|
|
|
|
|
|
|
# Ensure that indented array literals don't trigger whitespace rewriting.
|
2010-08-31 00:59:16 +00:00
|
|
|
func = () ->
|
|
|
|
ok arguments.length is 1
|
|
|
|
|
|
|
|
func(
|
|
|
|
[[[[[],
|
|
|
|
[]],
|
|
|
|
[[]]]],
|
|
|
|
[]])
|
|
|
|
|
|
|
|
id = (x) -> x
|
|
|
|
|
|
|
|
greeting = id(
|
|
|
|
"""
|
|
|
|
Hello
|
|
|
|
""")
|
|
|
|
|
|
|
|
ok greeting is "Hello"
|
2010-10-25 18:56:02 +00:00
|
|
|
|
|
|
|
ok not Date
|
|
|
|
::
|
|
|
|
?.foo, '`?.` and `::` should also continue lines'
|