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
 |