]> gitweb.factorcode.org Git - factor.git/blob - basis/farkup/farkup-tests.factor
Merge branch 'master' into experimental (untested!)
[factor.git] / basis / farkup / farkup-tests.factor
1 ! Copyright (C) 2008 Doug Coleman.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: farkup kernel peg peg.ebnf tools.test namespaces ;
4 IN: farkup.tests
5
6 relative-link-prefix off
7 disable-images? off
8 link-no-follow? off
9
10 [ "Baz" ] [ "Foo/Bar/Baz" simple-link-title ] unit-test
11 [ "Baz" ] [ "Baz" simple-link-title ] unit-test
12
13 [ ] [
14     "abcd-*strong*\nasdifj\nweouh23ouh23" parse-farkup drop
15 ] unit-test
16
17 [ ] [
18     "abcd-*strong*\nasdifj\nweouh23ouh23\n" parse-farkup drop
19 ] unit-test
20
21 [ "<p>a-b</p>" ] [ "a-b" convert-farkup ] unit-test
22 [ "<p>*foo\nbar\n</p>" ] [ "*foo\nbar\n" convert-farkup ] unit-test
23 [ "<p><strong>Wow!</strong></p>" ] [ "*Wow!*" convert-farkup ] unit-test
24 [ "<p><em>Wow.</em></p>" ] [ "_Wow._" convert-farkup ] unit-test
25
26 [ "<p>*</p>" ] [ "*" convert-farkup ] unit-test
27 [ "<p>*</p>" ] [ "\\*" convert-farkup ] unit-test
28 [ "<p>**</p>" ] [ "\\**" convert-farkup ] unit-test
29
30 [ "<ul><li>a-b</li></ul>" ] [ "-a-b" convert-farkup ] unit-test
31 [ "<ul><li>foo</li></ul>" ] [ "-foo" convert-farkup ] unit-test
32 [ "<ul><li>foo</li>\n</ul>" ] [ "-foo\n" convert-farkup ] unit-test
33 [ "<ul><li>foo</li>\n<li>bar</li></ul>" ] [ "-foo\n-bar" convert-farkup ] unit-test
34 [ "<ul><li>foo</li>\n<li>bar</li>\n</ul>" ] [ "-foo\n-bar\n" convert-farkup ] unit-test
35
36 [ "<ul><li>foo</li>\n</ul><p>bar\n</p>" ] [ "-foo\nbar\n" convert-farkup ] unit-test
37
38 [ "<ol><li>a-b</li></ol>" ] [ "#a-b" convert-farkup ] unit-test
39 [ "<ol><li>foo</li></ol>" ] [ "#foo" convert-farkup ] unit-test
40 [ "<ol><li>foo</li>\n</ol>" ] [ "#foo\n" convert-farkup ] unit-test
41 [ "<ol><li>foo</li>\n<li>bar</li></ol>" ] [ "#foo\n#bar" convert-farkup ] unit-test
42 [ "<ol><li>foo</li>\n<li>bar</li>\n</ol>" ] [ "#foo\n#bar\n" convert-farkup ] unit-test
43
44 [ "<ol><li>foo</li>\n</ol><p>bar\n</p>" ] [ "#foo\nbar\n" convert-farkup ] unit-test
45
46
47 [ "\n\n" ] [ "\n\n" convert-farkup ] unit-test
48 [ "\n\n" ] [ "\r\n\r\n" convert-farkup ] unit-test
49 [ "\n\n\n\n" ] [ "\r\r\r\r" convert-farkup ] unit-test
50 [ "\n\n\n" ] [ "\r\r\r" convert-farkup ] unit-test
51 [ "\n\n\n" ] [ "\n\n\n" convert-farkup ] unit-test
52 [ "<p>foo\n</p><p>bar</p>" ] [ "foo\n\nbar" convert-farkup ] unit-test
53 [ "<p>foo\n</p><p>bar</p>" ] [ "foo\r\n\r\nbar" convert-farkup ] unit-test
54 [ "<p>foo\n</p><p>bar</p>" ] [ "foo\r\rbar" convert-farkup ] unit-test
55 [ "<p>foo\n</p><p>bar</p>" ] [ "foo\r\r\nbar" convert-farkup ] unit-test
56
57 [ "\n<p>bar\n</p>" ] [ "\nbar\n" convert-farkup ] unit-test
58 [ "\n<p>bar\n</p>" ] [ "\rbar\r" convert-farkup ] unit-test
59 [ "\n<p>bar\n</p>" ] [ "\r\nbar\r\n" convert-farkup ] unit-test
60
61 [ "<p>foo\n</p><p>bar</p>" ] [ "foo\n\n\nbar" convert-farkup ] unit-test
62
63 [ "" ] [ "" convert-farkup ] unit-test
64
65 [ "<p>|a</p>" ]
66 [ "|a" convert-farkup ] unit-test
67
68 [ "<table><tr><td>a</td></tr></table>" ]
69 [ "|a|" convert-farkup ] unit-test
70
71 [ "<table><tr><td>a</td><td>b</td></tr></table>" ]
72 [ "|a|b|" convert-farkup ] unit-test
73
74 [ "<table><tr><td>a</td><td>b</td></tr><tr><td>c</td><td>d</td></tr></table>" ]
75 [ "|a|b|\n|c|d|" convert-farkup ] unit-test
76
77 [ "<table><tr><td>a</td><td>b</td></tr><tr><td>c</td><td>d</td></tr></table>" ]
78 [ "|a|b|\n|c|d|\n" convert-farkup ] unit-test
79
80 [ "<p><strong>foo</strong>\n</p><h1>aheading</h1>\n<p>adfasd</p>" ]
81 [ "*foo*\n=aheading=\nadfasd" convert-farkup ] unit-test
82
83 [ "<h1>foo</h1>\n" ] [ "=foo=\n" convert-farkup ] unit-test
84 [ "<p>lol</p><h1>foo</h1>\n" ] [ "lol=foo=\n" convert-farkup ] unit-test
85 [ "<p>=foo\n</p>" ] [ "=foo\n" convert-farkup ] unit-test
86 [ "<p>=foo</p>" ] [ "=foo" convert-farkup ] unit-test
87 [ "<p>==foo</p>" ] [ "==foo" convert-farkup ] unit-test
88 [ "<p>=</p><h1>foo</h1>" ] [ "==foo=" convert-farkup ] unit-test
89 [ "<h2>foo</h2>" ] [ "==foo==" convert-farkup ] unit-test
90 [ "<h2>foo</h2>" ] [ "==foo==" convert-farkup ] unit-test
91 [ "<p>=</p><h2>foo</h2>" ] [ "===foo==" convert-farkup ] unit-test
92 [ "<h1>foo</h1><p>=</p>" ] [ "=foo==" convert-farkup ] unit-test
93
94 [ "<pre><span class='KEYWORD3'>int</span> <span class='FUNCTION'>main</span><span class='OPERATOR'>(</span><span class='OPERATOR'>)</span>\n</pre>" ]
95 [ "[c{int main()}]" convert-farkup ] unit-test
96
97 [ "<p><img src='lol.jpg'/></p>" ] [ "[[image:lol.jpg]]" convert-farkup ] unit-test
98 [ "<p><img src='lol.jpg' alt='teh lol'/></p>" ] [ "[[image:lol.jpg|teh lol]]" convert-farkup ] unit-test
99 [ "<p><a href='http://lol.com'>http://lol.com</a></p>" ] [ "[[http://lol.com]]" convert-farkup ] unit-test
100 [ "<p><a href='http://lol.com'>haha</a></p>" ] [ "[[http://lol.com|haha]]" convert-farkup ] unit-test
101 [ "<p><a href='Foo/Bar'>Bar</a></p>" ] [ "[[Foo/Bar]]" convert-farkup ] unit-test
102
103 "/wiki/view/" relative-link-prefix [
104     [ "<p><a href='/wiki/view/Foo/Bar'>Bar</a></p>" ] [ "[[Foo/Bar]]" convert-farkup ] unit-test
105 ] with-variable
106
107 [ ] [ "[{}]" convert-farkup drop ] unit-test
108
109 [ "<pre>hello\n</pre>" ] [ "[{hello}]" convert-farkup ] unit-test
110
111 [
112     "<p>Feature comparison:\n<table><tr><td>a</td><td>Factor</td><td>Java</td><td>Lisp</td></tr><tr><td>Coolness</td><td>Yes</td><td>No</td><td>No</td></tr><tr><td>Badass</td><td>Yes</td><td>No</td><td>No</td></tr><tr><td>Enterprise</td><td>Yes</td><td>Yes</td><td>No</td></tr><tr><td>Kosher</td><td>Yes</td><td>No</td><td>Yes</td></tr></table></p>"
113 ] [ "Feature comparison:\n|a|Factor|Java|Lisp|\n|Coolness|Yes|No|No|\n|Badass|Yes|No|No|\n|Enterprise|Yes|Yes|No|\n|Kosher|Yes|No|Yes|\n" convert-farkup ] unit-test
114
115 [
116     "<p>Feature comparison:\n</p><table><tr><td>a</td><td>Factor</td><td>Java</td><td>Lisp</td></tr><tr><td>Coolness</td><td>Yes</td><td>No</td><td>No</td></tr><tr><td>Badass</td><td>Yes</td><td>No</td><td>No</td></tr><tr><td>Enterprise</td><td>Yes</td><td>Yes</td><td>No</td></tr><tr><td>Kosher</td><td>Yes</td><td>No</td><td>Yes</td></tr></table>"
117 ] [ "Feature comparison:\n\n|a|Factor|Java|Lisp|\n|Coolness|Yes|No|No|\n|Badass|Yes|No|No|\n|Enterprise|Yes|Yes|No|\n|Kosher|Yes|No|Yes|\n" convert-farkup ] unit-test
118
119 [
120     "<p>This wiki is written in <a href='Factor'>Factor</a> and is hosted on a <a href='http://linode.com'>http://linode.com</a> virtual server.</p>"
121 ] [
122     "This wiki is written in [[Factor]] and is hosted on a [[http://linode.com|http://linode.com]] virtual server."
123     convert-farkup
124 ] unit-test
125
126 [ "<p><a href='a'>a</a> <a href='b'>c</a></p>" ] [ "[[a]] [[b|c]]" convert-farkup ] unit-test
127
128 [ "<p><a href='C%2b%2b'>C++</a></p>" ] [ "[[C++]]" convert-farkup ] unit-test
129
130 [ "<p>&lt;foo&gt;</p>" ] [ "<foo>" convert-farkup ] unit-test
131
132 [ "<p>asdf\n<ul><li>lol</li>\n<li>haha</li></ul></p>" ] [ "asdf\n-lol\n-haha" convert-farkup ] unit-test
133
134 [ "<p>asdf\n</p><ul><li>lol</li>\n<li>haha</li></ul>" ]
135  [ "asdf\n\n-lol\n-haha" convert-farkup ] unit-test
136
137 [ "<hr/>" ] [ "___" convert-farkup ] unit-test
138 [ "<hr/>\n" ] [ "___\n" convert-farkup ] unit-test
139
140 [ "<p>before:\n<pre><span class='OPERATOR'>{</span> <span class='DIGIT'>1</span> <span class='DIGIT'>2</span> <span class='DIGIT'>3</span> <span class='OPERATOR'>}</span> <span class='DIGIT'>1</span> tail\n</pre></p>" ] 
141 [ "before:\n[factor{{ 1 2 3 } 1 tail}]" convert-farkup ] unit-test
142  
143 [ "<p><a href='Factor'>Factor</a>-rific!</p>" ]
144 [ "[[Factor]]-rific!" convert-farkup ] unit-test
145
146 [ "<p>[ factor { 1 2 3 }]</p>" ]
147 [ "[ factor { 1 2 3 }]" convert-farkup ] unit-test
148
149 [ "<p>paragraph\n<hr/></p>" ]
150 [ "paragraph\n___" convert-farkup ] unit-test
151
152 [ "<p>paragraph\n a ___ b</p>" ]
153 [ "paragraph\n a ___ b" convert-farkup ] unit-test
154
155 [ "\n<ul><li> a</li>\n</ul><hr/>" ]
156 [ "\n- a\n___" convert-farkup ] unit-test
157
158 [ "<p>hello_world how are you today?\n<ul><li> hello_world how are you today?</li></ul></p>" ]
159 [ "hello_world how are you today?\n- hello_world how are you today?" convert-farkup ] unit-test