105 lines
2.8 KiB
Factor
105 lines
2.8 KiB
Factor
USING: accessors arrays assocs definitions fry generic help
|
|
help.markup io.streams.string kernel math namespaces parser
|
|
sequences sets strings tools.test words ;
|
|
IN: help.markup.tests
|
|
|
|
: with-markup-test ( quot -- )
|
|
[ f last-element ] dip
|
|
'[ _ with-string-writer ] with-variable ; inline
|
|
|
|
TUPLE: blahblah quux ;
|
|
|
|
{ "int" } [ [ { "int" } $instance ] with-markup-test ] unit-test
|
|
|
|
{ } [ \ quux>> print-topic ] unit-test
|
|
{ } [ \ >>quux print-topic ] unit-test
|
|
{ } [ \ blahblah? print-topic ] unit-test
|
|
|
|
: fooey ( -- * ) "fooey" throw ;
|
|
|
|
{ } [ \ fooey print-topic ] unit-test
|
|
|
|
{ } [ gensym print-topic ] unit-test
|
|
|
|
{ "a string" }
|
|
[ [ { $or string } print-element ] with-markup-test ] unit-test
|
|
|
|
{ "a string or an integer" }
|
|
[ [ { $or string integer } print-element ] with-markup-test ] unit-test
|
|
|
|
{ "a string, a fixnum, or an integer" }
|
|
[ [ { $or string fixnum integer } print-element ] with-markup-test ] unit-test
|
|
|
|
! Layout
|
|
|
|
{ "span" }
|
|
[ [ { "span" } print-content ] with-markup-test ] unit-test
|
|
|
|
{ "span1span2" }
|
|
[ [ { "span1" "span2" } print-content ] with-markup-test ] unit-test
|
|
|
|
{ "span1\n\nspan2" }
|
|
[ [ { "span1" { $nl } "span2" } print-content ] with-markup-test ] unit-test
|
|
|
|
{ "\nspan" }
|
|
[ [ { { $nl } "span" } print-content ] with-markup-test ] unit-test
|
|
|
|
{ "2 2 +\nspan" }
|
|
[ [ { { $code "2 2 +" } "span" } print-content ] with-markup-test ] unit-test
|
|
|
|
{ "2 2 +" }
|
|
[ [ { { $code "2 2 +" } } print-content ] with-markup-test ] unit-test
|
|
|
|
{ "span\n2 2 +" }
|
|
[ [ { "span" { $code "2 2 +" } } print-content ] with-markup-test ] unit-test
|
|
|
|
{ "\n2 2 +" }
|
|
[ [ { { $nl } { $code "2 2 +" } } print-content ] with-markup-test ] unit-test
|
|
|
|
{ "span\n\n2 2 +" }
|
|
[ [ { "span" { $nl } { $code "2 2 +" } } print-content ] with-markup-test ] unit-test
|
|
|
|
{ "Heading" }
|
|
[ [ { { $heading "Heading" } } print-content ] with-markup-test ] unit-test
|
|
|
|
{ "Heading1\n\nHeading2" }
|
|
[ [ { { $heading "Heading1" } { $heading "Heading2" } } print-content ] with-markup-test ] unit-test
|
|
|
|
{ "span\n\nHeading" }
|
|
[ [ { "span" { $heading "Heading" } } print-content ] with-markup-test ] unit-test
|
|
|
|
{ "\nHeading" }
|
|
[ [ { { $nl } { $heading "Heading" } } print-content ] with-markup-test ] unit-test
|
|
|
|
{ "span\n\nHeading" }
|
|
[ [ { "span" { $nl } { $heading "Heading" } } print-content ] with-markup-test ] unit-test
|
|
|
|
: word-related-words ( word -- word related-words )
|
|
dup [ "related" word-prop ] [ 1array ] bi diff ;
|
|
|
|
SYMBOLS:
|
|
1foo 2foo 3foo
|
|
1bar 2bar 3bar ;
|
|
|
|
{
|
|
1foo { 2foo 3foo }
|
|
1bar { 2bar 3bar }
|
|
|
|
1foo { 1bar }
|
|
2foo { 3foo }
|
|
2bar { 3bar }
|
|
} [
|
|
{ 1foo 2foo 3foo } related-words
|
|
{ 1bar 2bar 3bar } related-words
|
|
|
|
1foo word-related-words
|
|
1bar word-related-words
|
|
|
|
{ 2foo 3foo } related-words
|
|
{ 1foo 1bar } related-words
|
|
|
|
1foo word-related-words
|
|
2foo word-related-words
|
|
2bar word-related-words
|
|
] unit-test
|