! Copyright (C) 2008 Doug Coleman. ! See http://factorcode.org/license.txt for BSD license. USING: farkup kernel peg peg.ebnf tools.test namespaces xml urls.encoding assocs xml.traversal xml.data sequences random io continuations math ; IN: farkup.tests relative-link-prefix off disable-images? off link-no-follow? off { "Baz" } [ "Foo/Bar/Baz" simple-link-title ] unit-test { "Baz" } [ "Baz" simple-link-title ] unit-test { } [ "abcd-*strong*\nasdifj\nweouh23ouh23" parse-farkup drop ] unit-test { } [ "abcd-*strong*\nasdifj\nweouh23ouh23\n" parse-farkup drop ] unit-test { "
a-b
" } [ "a-b" convert-farkup ] unit-test { "foo
bar
" } [ "*foo\nbar\n" convert-farkup ] unit-test { "Wow!
" } [ "*Wow!*" convert-farkup ] unit-test { "Wow.
" } [ "_Wow._" convert-farkup ] unit-test { "" } [ "*" convert-farkup ] unit-test { "
*
" } [ "\\*" convert-farkup ] unit-test { "*
" } [ "\\**" convert-farkup ] unit-test { "bar
" } [ "-foo\nbar\n" convert-farkup ] unit-test { "bar
" } [ "#foo\nbar\n" convert-farkup ] unit-test { "" } [ "\n\n" convert-farkup ] unit-test { "" } [ "\r\n\r\n" convert-farkup ] unit-test { "" } [ "\r\r\r\r" convert-farkup ] unit-test { "" } [ "\r\r\r" convert-farkup ] unit-test { "" } [ "\n\n\n" convert-farkup ] unit-test { "foo
bar
" } [ "foo\n\nbar" convert-farkup ] unit-test { "foo
bar
" } [ "foo\r\n\r\nbar" convert-farkup ] unit-test { "foo
bar
" } [ "foo\r\rbar" convert-farkup ] unit-test { "foo
bar
" } [ "foo\r\r\nbar" convert-farkup ] unit-test { "bar
" } [ "\nbar\n" convert-farkup ] unit-test { "bar
" } [ "\rbar\r" convert-farkup ] unit-test { "bar
" } [ "\r\nbar\r\n" convert-farkup ] unit-test { "foo
bar
" } [ "foo\n\n\nbar" convert-farkup ] unit-test { "" } [ "" convert-farkup ] unit-test { "a |
a |
a | b |
a | b |
c | d |
a | b |
c | d |
foo
adfasd
" } [ "*foo*\n=aheading=\nadfasd" convert-farkup ] unit-test { "lol=foo=
" } [ "lol=foo=\n" convert-farkup ] unit-test { "=foo
" } [ "=foo\n" convert-farkup ] unit-test { "=foo
" } [ "=foo" convert-farkup ] unit-test { "==foo
" } [ "==foo" convert-farkup ] unit-test { "int main()" } [ "[c{int main()}]" convert-farkup ] unit-test { "
hello" } [ "[{hello}]" convert-farkup ] unit-test { "
Feature comparison:
a | Factor | Java | Lisp |
Coolness | Yes | No | No |
Badass | Yes | No | No |
Enterprise | Yes | Yes | No |
Kosher | Yes | No | Yes |
Feature comparison:
a | Factor | Java | Lisp |
Coolness | Yes | No | No |
Badass | Yes | No | No |
Enterprise | Yes | Yes | No |
Kosher | Yes | No | Yes |
This wiki is written in Factor and is hosted on a http://linode.com virtual server.
" } [ "This wiki is written in [[Factor]] and is hosted on a [[http://linode.com|http://linode.com]] virtual server." convert-farkup ] unit-test { "" } [ "[[a]] [[b|c]]" convert-farkup ] unit-test { "" } [ "[[C++]]" convert-farkup ] unit-test { "<foo>
" } [ "asdf
asdf
before:
{ 1 2 3 } 1 tail" } [ "before:\n[factor{{ 1 2 3 } 1 tail}]" convert-farkup ] unit-test { "
Factor-rific!
" } [ "[[Factor]]-rific!" convert-farkup ] unit-test { "1 2 3" } [ "[ factor { 1 2 3 }]" convert-farkup ] unit-test { "
paragraph
paragraph
a b
" } [ "paragraph\n a ___ b" convert-farkup ] unit-test { "helloworld how are you today?
bold | italics |
italicsboth
" } [ "_italics*both" convert-farkup ] unit-test { "italicsboth
" } [ "_italics*both*" convert-farkup ] unit-test { "italicsboth
" } [ "_italics*both*_" convert-farkup ] unit-test { "italicsboth
" } [ "_italics*both_" convert-farkup ] unit-test { "italicsbothafter
" } [ "_italics*both_after*" convert-farkup ] unit-test { "foo|bar |
[abc]
" } [ "[abc]" convert-farkup ] unit-test : random-markup ( -- string ) 10 [ 2 random 1 = [ { "[[" "*" "_" "|" "-" "[{" "\n" } random ] [ "abc" ] if ] replicate concat ; { t } [ 100 [ drop random-markup [ convert-farkup drop t ] [ drop print f ] recover ] all-integers? ] unit-test { "" } [ "[[http://foo.com/~foo]]" convert-farkup ] unit-test