]> gitweb.factorcode.org Git - factor.git/blob - basis/multiline/multiline-tests.factor
factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!
[factor.git] / basis / multiline / multiline-tests.factor
1 USING: accessors eval multiline sequences tools.test ;
2 IN: multiline.tests
3
4 STRING: test-it
5 foo
6 bar
7
8 ;
9
10 { "foo\nbar\n" } [ test-it ] unit-test
11
12
13 ! HEREDOC:
14
15 { "foo\nbar\n" } [ HEREDOC: END
16 foo
17 bar
18 END
19 ] unit-test
20
21 { "" } [ HEREDOC: END
22 END
23 ] unit-test
24
25 { " END\n" } [ HEREDOC: END
26  END
27 END
28 ] unit-test
29
30 { "\n" } [ HEREDOC: END
31
32 END
33 ] unit-test
34
35 { "x\n" } [ HEREDOC: END
36 x
37 END
38 ] unit-test
39
40 { "x\n" } [ HEREDOC:       END
41 x
42 END
43 ] unit-test
44
45 { "xyz \n" } [ HEREDOC: END
46 xyz
47 END
48 ] unit-test
49
50 { "} ! * # \" «\n" } [ HEREDOC: END
51 } ! * # " «
52 END
53 ] unit-test
54
55 { 21 "foo\nbar\n" " HEREDOC: FOO\n FOO\n" 22 } [ 21 HEREDOC: X
56 foo
57 bar
58 X
59 HEREDOC: END
60  HEREDOC: FOO
61  FOO
62 END
63 22 ] unit-test
64
65 { "lol\n xyz\n" }
66 [
67 HEREDOC: xyz
68 lol
69  xyz
70 xyz
71 ] unit-test
72
73
74 { "lol" }
75 [ DELIMITED: aol
76 lolaol ] unit-test
77
78 { "whoa" }
79 [ DELIMITED: factor blows my mind
80 whoafactor blows my mind ] unit-test
81
82 <<
83 SYNTAX: MULTILINE-LITERAL: parse-here suffix! ;
84 >>
85
86 { { "bar" } }
87 [
88     CONSTANT: foo { MULTILINE-LITERAL:
89 bar
90 ;
91 } foo
92 ] unit-test
93
94
95 ! Make sure parse-here fails if extra crap appears on the first line
96 [
97     "CONSTANT: foo { MULTILINE-LITERAL: asdfasfdasdfas
98 bar
99 ;
100 }" eval
101 ] must-fail