]> gitweb.factorcode.org Git - factor.git/blob - basis/multiline/multiline-tests.factor
factor: Retrying on the unit tests. Also normalize some syntax with FUNCTION:.
[factor.git] / basis / multiline / multiline-tests.factor
1 USING: 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 ! there's a space after xyz
46 { "xyz \n" } [ HEREDOC: END
47 xyz 
48 END
49 ] unit-test
50
51 { "} ! * # \" «\n" } [ HEREDOC: END
52 } ! * # " «
53 END
54 ] unit-test
55
56 { 21 "foo\nbar\n" " HEREDOC: FOO\n FOO\n" 22 } [ 21 HEREDOC: X
57 foo
58 bar
59 X
60 HEREDOC: END
61  HEREDOC: FOO
62  FOO
63 END
64 22 ] unit-test
65
66 { "lol\n xyz\n" }
67 [
68 HEREDOC: xyz
69 lol
70  xyz
71 xyz
72 ] unit-test
73
74
75 { "lol" }
76 [ DELIMITED: aol
77 lolaol ] unit-test
78
79 { "whoa" }
80 [ DELIMITED: factor blows my mind
81 whoafactor blows my mind ] unit-test
82
83 <<
84 SYNTAX: MULTILINE-LITERAL: parse-here suffix! ;
85 >>
86
87 { { "bar" } }
88 [
89     CONSTANT: foo { MULTILINE-LITERAL:
90 bar
91 ;
92 } foo
93 ] unit-test
94
95
96 ! Make sure parse-here fails if extra crap appears on the first line
97 [
98     "CONSTANT: foo { MULTILINE-LITERAL: asdfasfdasdfas
99 bar
100 ;
101 }" eval
102 ] must-fail