]> gitweb.factorcode.org Git - factor.git/commitdiff
change how farkup handles newlines in paragraphs
authorDoug Coleman <doug.coleman@gmail.com>
Sun, 28 Sep 2008 15:10:58 +0000 (10:10 -0500)
committerDoug Coleman <doug.coleman@gmail.com>
Sun, 28 Sep 2008 15:10:58 +0000 (10:10 -0500)
basis/farkup/farkup-tests.factor
basis/farkup/farkup.factor

index 64699817ac6ade82f4511aa722602b6660264a49..685b1e3a58d4db3ce05f940b87e52a11de5dd1d7 100644 (file)
@@ -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
-[ "<p>foo</p><p>bar</p>" ] [ "foo\n\nbar" convert-farkup ] unit-test
-[ "<p>foo</p><p>bar</p>" ] [ "foo\r\n\r\nbar" convert-farkup ] unit-test
-[ "<p>foo</p><p>bar</p>" ] [ "foo\r\rbar" convert-farkup ] unit-test
-[ "<p>foo</p><p>bar</p>" ] [ "foo\r\r\nbar" convert-farkup ] unit-test
+[ "<p>foo\n</p><p>bar</p>" ] [ "foo\n\nbar" convert-farkup ] unit-test
+[ "<p>foo\n</p><p>bar</p>" ] [ "foo\r\n\r\nbar" convert-farkup ] unit-test
+[ "<p>foo\n</p><p>bar</p>" ] [ "foo\r\rbar" convert-farkup ] unit-test
+[ "<p>foo\n</p><p>bar</p>" ] [ "foo\r\r\nbar" convert-farkup ] unit-test
 
 [ "\n<p>bar\n</p>" ] [ "\nbar\n" convert-farkup ] unit-test
 [ "\n<p>bar\n</p>" ] [ "\rbar\r" convert-farkup ] unit-test
 [ "\n<p>bar\n</p>" ] [ "\r\nbar\r\n" convert-farkup ] unit-test
 
-[ "<p>foo</p><p>bar</p>" ] [ "foo\n\n\nbar" convert-farkup ] unit-test
+[ "<p>foo\n</p><p>bar</p>" ] [ "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
 
 [
-    "<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>"
+    "<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>"
 ] [ "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
 
 [ "<p>asdf\n<ul><li>lol</li>\n<li>haha</li></ul></p>" ] [ "asdf\n-lol\n-haha" convert-farkup ] unit-test
 
-[ "<p>asdf</p><ul><li>lol</li>\n<li>haha</li></ul>" ] [ "asdf\n\n-lol\n-haha" convert-farkup ] unit-test
+[ "<p>asdf\n</p><ul><li>lol</li>\n<li>haha</li></ul>" ]
+ [ "asdf\n\n-lol\n-haha" convert-farkup ] unit-test
 
 [ "<hr/>" ] [ "___" convert-farkup ] unit-test
 [ "<hr/>\n" ] [ "___\n" convert-farkup ] unit-test
@@ -151,5 +152,5 @@ link-no-follow? off
 [ "<p>paragraph\n a ___ b</p>" ]
 [ "paragraph\n a ___ b" convert-farkup ] unit-test
 
-[ "<p>\n<ul><li> a</li>\n</ul><hr/></p>" ]
+[ "\n<ul><li> a</li>\n</ul><hr/>" ]
 [ "\n- a\n___" convert-farkup ] unit-test
index 7844cf8f411072a07778bf67900aef6cea10fda6..0ac0e7a7cf120d14b4f4fcd7636ddc932be17a45 100644 (file)
@@ -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' )