2015-07-02 18:29:41 -04:00
|
|
|
USING: eval multiline sequences tools.test ;
|
2008-03-08 05:27:19 -05:00
|
|
|
IN: multiline.tests
|
2007-12-11 01:54:16 -05:00
|
|
|
|
|
|
|
STRING: test-it
|
|
|
|
foo
|
|
|
|
bar
|
|
|
|
|
|
|
|
;
|
|
|
|
|
2015-07-02 16:37:42 -04:00
|
|
|
[ "foo\nbar\n" ] [ test-it ] unit-test
|
2009-08-17 17:05:14 -04:00
|
|
|
|
|
|
|
|
|
|
|
! HEREDOC:
|
|
|
|
|
2015-07-02 16:37:42 -04:00
|
|
|
[ "foo\nbar\n" ] [ HEREDOC: END
|
2009-08-17 17:05:14 -04:00
|
|
|
foo
|
|
|
|
bar
|
2009-08-18 04:44:54 -04:00
|
|
|
END
|
|
|
|
] unit-test
|
2009-08-17 17:05:14 -04:00
|
|
|
|
2015-07-02 16:37:42 -04:00
|
|
|
[ "" ] [ HEREDOC: END
|
2009-08-18 04:44:54 -04:00
|
|
|
END
|
|
|
|
] unit-test
|
2009-08-17 17:05:14 -04:00
|
|
|
|
2015-07-02 16:37:42 -04:00
|
|
|
[ " END\n" ] [ HEREDOC: END
|
2009-08-18 04:44:54 -04:00
|
|
|
END
|
|
|
|
END
|
|
|
|
] unit-test
|
2009-08-17 17:05:14 -04:00
|
|
|
|
2015-07-02 16:37:42 -04:00
|
|
|
[ "\n" ] [ HEREDOC: END
|
2009-08-17 17:05:14 -04:00
|
|
|
|
2009-08-18 04:44:54 -04:00
|
|
|
END
|
|
|
|
] unit-test
|
2009-08-17 17:05:14 -04:00
|
|
|
|
2015-07-02 16:37:42 -04:00
|
|
|
[ "x\n" ] [ HEREDOC: END
|
2009-08-18 04:44:54 -04:00
|
|
|
x
|
|
|
|
END
|
|
|
|
] unit-test
|
2009-08-17 17:05:14 -04:00
|
|
|
|
2015-07-02 16:37:42 -04:00
|
|
|
[ "x\n" ] [ HEREDOC: END
|
2009-08-18 04:44:54 -04:00
|
|
|
x
|
|
|
|
END
|
|
|
|
] unit-test
|
|
|
|
|
2015-07-02 18:29:41 -04:00
|
|
|
! there's a space after xyz
|
2015-07-02 16:37:42 -04:00
|
|
|
[ "xyz \n" ] [ HEREDOC: END
|
2015-07-02 18:29:41 -04:00
|
|
|
xyz
|
2009-08-18 04:44:54 -04:00
|
|
|
END
|
|
|
|
] unit-test
|
2009-08-17 17:05:14 -04:00
|
|
|
|
2015-07-02 16:37:42 -04:00
|
|
|
[ "} ! * # \" «\n" ] [ HEREDOC: END
|
2009-08-17 17:05:14 -04:00
|
|
|
} ! * # " «
|
2009-08-18 04:44:54 -04:00
|
|
|
END
|
|
|
|
] unit-test
|
2009-08-17 17:05:14 -04:00
|
|
|
|
2015-07-02 16:37:42 -04:00
|
|
|
[ 21 "foo\nbar\n" " HEREDOC: FOO\n FOO\n" 22 ] [ 21 HEREDOC: X
|
2009-08-17 17:05:14 -04:00
|
|
|
foo
|
2009-08-18 04:44:54 -04:00
|
|
|
bar
|
|
|
|
X
|
|
|
|
HEREDOC: END
|
2009-08-17 17:05:14 -04:00
|
|
|
HEREDOC: FOO
|
|
|
|
FOO
|
2009-08-18 04:44:54 -04:00
|
|
|
END
|
|
|
|
22 ] unit-test
|
|
|
|
|
2015-07-02 16:37:42 -04:00
|
|
|
[ "lol\n xyz\n" ]
|
2009-08-18 04:44:54 -04:00
|
|
|
[
|
|
|
|
HEREDOC: xyz
|
|
|
|
lol
|
|
|
|
xyz
|
|
|
|
xyz
|
|
|
|
] unit-test
|
|
|
|
|
|
|
|
|
2015-07-02 16:37:42 -04:00
|
|
|
[ "lol" ]
|
2009-08-18 04:44:54 -04:00
|
|
|
[ DELIMITED: aol
|
|
|
|
lolaol ] unit-test
|
2009-08-17 17:05:14 -04:00
|
|
|
|
2015-07-02 16:37:42 -04:00
|
|
|
[ "whoa" ]
|
2009-08-18 04:44:54 -04:00
|
|
|
[ DELIMITED: factor blows my mind
|
|
|
|
whoafactor blows my mind ] unit-test
|
2011-09-03 13:17:30 -04:00
|
|
|
|
|
|
|
<<
|
|
|
|
SYNTAX: MULTILINE-LITERAL: parse-here suffix! ;
|
|
|
|
>>
|
|
|
|
|
2015-07-02 16:37:42 -04:00
|
|
|
[ { "bar" } ]
|
2011-09-03 13:17:30 -04:00
|
|
|
[
|
|
|
|
CONSTANT: foo { MULTILINE-LITERAL:
|
|
|
|
bar
|
|
|
|
;
|
|
|
|
} foo
|
|
|
|
] unit-test
|
|
|
|
|
|
|
|
|
|
|
|
! Make sure parse-here fails if extra crap appears on the first line
|
|
|
|
[
|
|
|
|
"CONSTANT: foo { MULTILINE-LITERAL: asdfasfdasdfas
|
|
|
|
bar
|
|
|
|
;
|
|
|
|
}" eval
|
|
|
|
] must-fail
|