Merge branch 'master' of git://factorcode.org/git/factor
commit
40f3d88fcf
|
@ -1,7 +1,8 @@
|
||||||
! Copyright (C) 2008 Doug Coleman.
|
! Copyright (C) 2008 Doug Coleman.
|
||||||
! See http://factorcode.org/license.txt for BSD license.
|
! See http://factorcode.org/license.txt for BSD license.
|
||||||
USING: farkup kernel peg peg.ebnf tools.test namespaces xml
|
USING: farkup kernel peg peg.ebnf tools.test namespaces xml
|
||||||
urls.encoding assocs xml.traversal xml.data ;
|
urls.encoding assocs xml.traversal xml.data sequences random
|
||||||
|
io continuations math ;
|
||||||
IN: farkup.tests
|
IN: farkup.tests
|
||||||
|
|
||||||
relative-link-prefix off
|
relative-link-prefix off
|
||||||
|
@ -180,3 +181,29 @@ link-no-follow? off
|
||||||
[ "<p><em>italics<strong>both</strong></em>after<strong></strong></p>" ] [ "_italics*both_after*" convert-farkup ] unit-test
|
[ "<p><em>italics<strong>both</strong></em>after<strong></strong></p>" ] [ "_italics*both_after*" convert-farkup ] unit-test
|
||||||
[ "<table><tr><td>foo|bar</td></tr></table>" ] [ "|foo\\|bar|" convert-farkup ] unit-test
|
[ "<table><tr><td>foo|bar</td></tr></table>" ] [ "|foo\\|bar|" convert-farkup ] unit-test
|
||||||
[ "<p></p>" ] [ "\\" convert-farkup ] unit-test
|
[ "<p></p>" ] [ "\\" convert-farkup ] unit-test
|
||||||
|
|
||||||
|
! [ "<p>[abc]</p>" ] [ "[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?
|
||||||
|
] unit-test
|
||||||
|
|
|
@ -75,7 +75,7 @@ DEFER: (parse-paragraph)
|
||||||
"|" split1
|
"|" split1
|
||||||
[ "" like dup simple-link-title ] unless*
|
[ "" like dup simple-link-title ] unless*
|
||||||
[ "image:" ?head ] dip swap [ image boa ] [ parse-paragraph link boa ] if
|
[ "image:" ?head ] dip swap [ image boa ] [ parse-paragraph link boa ] if
|
||||||
] dip [ (parse-paragraph) cons ] when* ;
|
] dip [ (parse-paragraph) cons ] [ 1list ] if* ;
|
||||||
|
|
||||||
: ?first ( seq -- elt ) 0 swap ?nth ;
|
: ?first ( seq -- elt ) 0 swap ?nth ;
|
||||||
|
|
||||||
|
@ -187,7 +187,8 @@ DEFER: (parse-paragraph)
|
||||||
: parse-code ( state -- state' item )
|
: parse-code ( state -- state' item )
|
||||||
dup 1 look CHAR: [ =
|
dup 1 look CHAR: [ =
|
||||||
[ unclip-slice make-paragraph ] [
|
[ unclip-slice make-paragraph ] [
|
||||||
"{" take-until [ rest ] dip
|
"{" take-until
|
||||||
|
[ rest ] dip
|
||||||
"}]" take-until
|
"}]" take-until
|
||||||
[ code boa ] dip swap
|
[ code boa ] dip swap
|
||||||
] if ;
|
] if ;
|
||||||
|
|
|
@ -19,3 +19,7 @@ kernel io.streams.string xml.writer ;
|
||||||
/* a comment */ "> <string-reader> htmlize-stream
|
/* a comment */ "> <string-reader> htmlize-stream
|
||||||
write-xml
|
write-xml
|
||||||
] unit-test
|
] unit-test
|
||||||
|
|
||||||
|
[ "<span class=\"MARKUP\">: foo</span> <span class=\"MARKUP\">;</span>" ] [
|
||||||
|
{ ": foo ;" } "factor" htmlize-lines xml>string
|
||||||
|
] unit-test
|
|
@ -84,7 +84,7 @@ M: string-matcher text-matches?
|
||||||
] keep string>> length and ;
|
] keep string>> length and ;
|
||||||
|
|
||||||
M: regexp text-matches?
|
M: regexp text-matches?
|
||||||
[ >string ] dip re-contains? ;
|
[ >string ] dip first-match to>> ;
|
||||||
|
|
||||||
: rule-start-matches? ( rule -- match-count/f )
|
: rule-start-matches? ( rule -- match-count/f )
|
||||||
dup start>> tuck swap can-match-here? [
|
dup start>> tuck swap can-match-here? [
|
||||||
|
|
Loading…
Reference in New Issue