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 20:28:17 -04:00
|
|
|
{ "foo\nbar\n" } [ test-it ] unit-test
|
2009-08-17 17:05:14 -04:00
|
|
|
|
|
|
|
|
|
|
|
! HEREDOC:
|
|
|
|
|
2015-07-02 20:28:17 -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 20:28:17 -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 20:28:17 -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 20:28:17 -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 20:28:17 -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 20:28:17 -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 20:28:17 -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 20:28:17 -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 20:28:17 -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 20:28:17 -04:00
|
|
|
{ "lol\n xyz\n" }
|
2009-08-18 04:44:54 -04:00
|
|
|
[
|
|
|
|
HEREDOC: xyz
|
|
|
|
lol
|
|
|
|
xyz
|
|
|
|
xyz
|
|
|
|
] unit-test
|
|
|
|
|
2015-07-21 19:42:48 -04:00
|
|
|
/*
|
2011-09-03 13:17:30 -04:00
|
|
|
<<
|
|
|
|
SYNTAX: MULTILINE-LITERAL: parse-here suffix! ;
|
|
|
|
>>
|
|
|
|
|
2015-07-02 20:28:17 -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
|
2015-07-21 19:42:48 -04:00
|
|
|
*/
|