]> gitweb.factorcode.org Git - factor.git/blob - extra/farkup/farkup-tests.factor
0f969347989213744134b13d01d1184bd5384108
[factor.git] / extra / 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 ;
4 IN: farkup.tests
5
6 [ ] [
7     "abcd-*strong*\nasdifj\nweouh23ouh23"
8     "paragraph" \ farkup rule parse drop
9 ] unit-test
10
11 [ ] [
12     "abcd-*strong*\nasdifj\nweouh23ouh23\n"
13     "paragraph" \ farkup rule parse drop
14 ] unit-test
15
16 [ "<p>a-b</p>" ] [ "a-b" convert-farkup ] unit-test
17 [ "<p>*foo\nbar\n</p>" ] [ "*foo\nbar\n" convert-farkup ] unit-test
18 [ "<p><strong>Wow!</strong></p>" ] [ "*Wow!*" convert-farkup ] unit-test
19 [ "<p><em>Wow.</em></p>" ] [ "_Wow._" convert-farkup ] unit-test
20
21 [ "<p>*</p>" ] [ "*" convert-farkup ] unit-test
22 [ "<p>*</p>" ] [ "\\*" convert-farkup ] unit-test
23 [ "<p>**</p>" ] [ "\\**" convert-farkup ] unit-test
24
25 [ "<ul><li>a-b</li></ul>" ] [ "-a-b" convert-farkup ] unit-test
26 [ "<ul><li>foo</li></ul>" ] [ "-foo" convert-farkup ] unit-test
27 [ "<ul><li>foo</li>\n</ul>" ] [ "-foo\n" convert-farkup ] unit-test
28 [ "<ul><li>foo</li>\n<li>bar</li></ul>" ] [ "-foo\n-bar" convert-farkup ] unit-test
29 [ "<ul><li>foo</li>\n<li>bar</li>\n</ul>" ] [ "-foo\n-bar\n" convert-farkup ] unit-test
30
31 [ "<ul><li>foo</li>\n</ul><p>bar\n</p>" ] [ "-foo\nbar\n" convert-farkup ] unit-test
32
33
34 [ "\n\n" ] [ "\n\n" convert-farkup ] unit-test
35 [ "\n\n" ] [ "\r\n\r\n" convert-farkup ] unit-test
36 [ "\n\n\n\n" ] [ "\r\r\r\r" convert-farkup ] unit-test
37 [ "\n\n\n" ] [ "\r\r\r" convert-farkup ] unit-test
38 [ "\n\n\n" ] [ "\n\n\n" convert-farkup ] unit-test
39 [ "<p>foo</p><p>bar</p>" ] [ "foo\n\nbar" convert-farkup ] unit-test
40 [ "<p>foo</p><p>bar</p>" ] [ "foo\r\n\r\nbar" convert-farkup ] unit-test
41 [ "<p>foo</p><p>bar</p>" ] [ "foo\r\rbar" convert-farkup ] unit-test
42 [ "<p>foo</p><p>bar</p>" ] [ "foo\r\r\nbar" convert-farkup ] unit-test
43
44 [ "\n<p>bar\n</p>" ] [ "\nbar\n" convert-farkup ] unit-test
45 [ "\n<p>bar\n</p>" ] [ "\rbar\r" convert-farkup ] unit-test
46 [ "\n<p>bar\n</p>" ] [ "\r\nbar\r\n" convert-farkup ] unit-test
47
48 [ "<p>foo</p><p>bar</p>" ] [ "foo\n\n\nbar" convert-farkup ] unit-test
49
50 [ "" ] [ "" convert-farkup ] unit-test
51
52 [ "<p>|a</p>" ]
53 [ "|a" convert-farkup ] unit-test
54
55 [ "<table><tr><td>a</td></tr></table>" ]
56 [ "|a|" convert-farkup ] unit-test
57
58 [ "<table><tr><td>a</td><td>b</td></tr></table>" ]
59 [ "|a|b|" convert-farkup ] unit-test
60
61 [ "<table><tr><td>a</td><td>b</td></tr><tr><td>c</td><td>d</td></tr></table>" ]
62 [ "|a|b|\n|c|d|" convert-farkup ] unit-test
63
64 [ "<table><tr><td>a</td><td>b</td></tr><tr><td>c</td><td>d</td></tr></table>" ]
65 [ "|a|b|\n|c|d|\n" convert-farkup ] unit-test
66
67 [ "<p><strong>foo</strong>\n</p><h1>aheading</h1>\n<p>adfasd</p>" ]
68 [ "*foo*\n=aheading=\nadfasd" convert-farkup ] unit-test
69
70 [ "<h1>foo</h1>\n" ] [ "=foo=\n" convert-farkup ] unit-test
71 [ "<p>lol</p><h1>foo</h1>\n" ] [ "lol=foo=\n" convert-farkup ] unit-test
72 [ "<p>=foo\n</p>" ] [ "=foo\n" convert-farkup ] unit-test
73 [ "<p>=foo</p>" ] [ "=foo" convert-farkup ] unit-test
74 [ "<p>==foo</p>" ] [ "==foo" convert-farkup ] unit-test
75 [ "<p>=</p><h1>foo</h1>" ] [ "==foo=" convert-farkup ] unit-test
76 [ "<h2>foo</h2>" ] [ "==foo==" convert-farkup ] unit-test
77 [ "<h2>foo</h2>" ] [ "==foo==" convert-farkup ] unit-test
78 [ "<p>=</p><h2>foo</h2>" ] [ "===foo==" convert-farkup ] unit-test
79 [ "<h1>foo</h1><p>=</p>" ] [ "=foo==" convert-farkup ] unit-test
80
81 [ "<pre><span class='KEYWORD3'>int</span> <span class='FUNCTION'>main</span><span class='OPERATOR'>(</span><span class='OPERATOR'>)</span>\n</pre>" ]
82 [ "[c{int main()}]" convert-farkup ] unit-test
83
84 [ "<p><img src=\"lol.jpg\"/></p>" ] [ "[[image:lol.jpg]]" convert-farkup ] unit-test
85 [ "<p><img src=\"lol.jpg\" alt=\"teh lol\"/></p>" ] [ "[[image:lol.jpg|teh lol]]" convert-farkup ] unit-test
86 [ "<p><a href=\"lol.com\">lol.com</a></p>" ] [ "[[lol.com]]" convert-farkup ] unit-test
87 [ "<p><a href=\"lol.com\">haha</a></p>" ] [ "[[lol.com|haha]]" convert-farkup ] unit-test
88
89 [ ] [ "[{}]" convert-farkup drop ] unit-test
90
91 [ "<pre>hello\n</pre>" ] [ "[{hello}]" convert-farkup ] unit-test
92
93 [
94     "<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>"
95 ] [ "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
96
97 [
98     "<p>Feature comparison:</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>"
99 ] [ "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