diff --git a/basis/farkup/farkup-tests.factor b/basis/farkup/farkup-tests.factor index 64699817ac..685b1e3a58 100644 --- a/basis/farkup/farkup-tests.factor +++ b/basis/farkup/farkup-tests.factor @@ -49,16 +49,16 @@ link-no-follow? off [ "\n\n\n\n" ] [ "\r\r\r\r" convert-farkup ] unit-test [ "\n\n\n" ] [ "\r\r\r" convert-farkup ] unit-test [ "\n\n\n" ] [ "\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 +[ "

foo\n

bar

" ] [ "foo\n\nbar" convert-farkup ] unit-test +[ "

foo\n

bar

" ] [ "foo\r\n\r\nbar" convert-farkup ] unit-test +[ "

foo\n

bar

" ] [ "foo\r\rbar" convert-farkup ] unit-test +[ "

foo\n

bar

" ] [ "foo\r\r\nbar" convert-farkup ] unit-test [ "\n

bar\n

" ] [ "\nbar\n" convert-farkup ] unit-test [ "\n

bar\n

" ] [ "\rbar\r" convert-farkup ] unit-test [ "\n

bar\n

" ] [ "\r\nbar\r\n" convert-farkup ] unit-test -[ "

foo

bar

" ] [ "foo\n\n\nbar" convert-farkup ] unit-test +[ "

foo\n

bar

" ] [ "foo\n\n\nbar" convert-farkup ] unit-test [ "" ] [ "" convert-farkup ] unit-test @@ -113,7 +113,7 @@ link-no-follow? off ] [ "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 [ - "

Feature comparison:

aFactorJavaLisp
CoolnessYesNoNo
BadassYesNoNo
EnterpriseYesYesNo
KosherYesNoYes
" + "

Feature comparison:\n

aFactorJavaLisp
CoolnessYesNoNo
BadassYesNoNo
EnterpriseYesYesNo
KosherYesNoYes
" ] [ "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 [ @@ -131,7 +131,8 @@ link-no-follow? off [ "

asdf\n

" ] [ "asdf\n-lol\n-haha" convert-farkup ] unit-test -[ "

asdf

" ] [ "asdf\n\n-lol\n-haha" convert-farkup ] unit-test +[ "

asdf\n

" ] + [ "asdf\n\n-lol\n-haha" convert-farkup ] unit-test [ "
" ] [ "___" convert-farkup ] unit-test [ "
\n" ] [ "___\n" convert-farkup ] unit-test @@ -151,5 +152,5 @@ link-no-follow? off [ "

paragraph\n a ___ b

" ] [ "paragraph\n a ___ b" convert-farkup ] unit-test -[ "

\n


" ] +[ "\n
" ] [ "\n- a\n___" convert-farkup ] unit-test diff --git a/basis/farkup/farkup.factor b/basis/farkup/farkup.factor index 7844cf8f41..0ac0e7a7cf 100644 --- a/basis/farkup/farkup.factor +++ b/basis/farkup/farkup.factor @@ -86,7 +86,8 @@ labelled-link = "[[" link-content "|" link-content "]]" link = image-link | labelled-link | simple-link -escaped-char = "\" . => [[ second 1string ]] +escaped-char = "\" . + => [[ second 1string ]] inline-tag = strong | emphasis | superscript | subscript | inline-code | link | escaped-char @@ -108,9 +109,10 @@ table = ((table-row nl => [[ first ]] )+ table-row? | table-row) text = (!(nl | code | heading | inline-delimiter | table ).)+ => [[ >string ]] -paragraph-item = (table | nl list | nl line | code | text | inline-tag | inline-delimiter)+ -paragraph = ((paragraph-item nl => [[ first ]])+ nl+ => [[ first ]] - | (paragraph-item nl)+ paragraph-item? +paragraph-nl-item = nl (list | line)? +paragraph-item = (table | code | text | inline-tag | inline-delimiter)+ +paragraph = ((paragraph-item paragraph-nl-item)+ nl+ => [[ first ]] + | (paragraph-item paragraph-nl-item)+ paragraph-item? | paragraph-item) => [[ paragraph boa ]] @@ -134,7 +136,8 @@ line = '___' => [[ drop line new ]] -named-code = '[' (!('{' | whitespace | '[').)+ '{' (!("}]").)+ "}]" +named-code + = '[' (!('{' | whitespace | '[').)+ '{' (!("}]").)+ "}]" => [[ [ second >string ] [ fourth >string ] bi code boa ]] simple-code @@ -148,8 +151,6 @@ stand-alone = (line | code | heading | list | table | paragraph | nl)* ;EBNF - - : invalid-url "javascript:alert('Invalid URL in farkup');" ; : check-url ( href -- href' )