Move farkup, code, inspector components to html.components

db4
Slava Pestov 2008-05-23 22:32:39 -05:00
parent 376c73c7c8
commit 53857fdfee
2 changed files with 47 additions and 3 deletions

View File

@ -1,6 +1,7 @@
IN: html.components.tests IN: html.components.tests
USING: html.components tools.test kernel io.streams.string USING: tools.test kernel io.streams.string
io.streams.null accessors ; io.streams.null accessors inspector html.streams
html.components ;
[ ] [ blank-values ] unit-test [ ] [ blank-values ] unit-test
@ -145,3 +146,25 @@ M: link-test link-href drop "http://www.apple.com/foo&bar" ;
[ "<html>arbitrary <b>markup</b> for the win!</html>" ] [ [ "<html>arbitrary <b>markup</b> for the win!</html>" ] [
[ "html" html render ] with-string-writer [ "html" html render ] with-string-writer
] unit-test ] unit-test
[ ] [ "int x = 4;" "code" set-value ] unit-test
[ ] [ "java" "mode" set-value ] unit-test
[ "<span class='KEYWORD3'>int</span> x <span class='OPERATOR'>=</span> <span class='DIGIT'>4</span>;\n" ] [
[ "code" <code> "mode" >>mode render ] with-string-writer
] unit-test
[ ] [ "-foo\n-bar" "farkup" set-value ] unit-test
[ "<ul><li>foo</li><li>bar</li></ul>" ] [
[ "farkup" farkup render ] with-string-writer
] unit-test
[ ] [ { 1 2 3 } "object" set-value ] unit-test
[ t ] [
[ "object" inspector render ] with-string-writer
[ "object" value [ describe ] with-html-stream ] with-string-writer
=
] unit-test

View File

@ -4,7 +4,7 @@ USING: accessors kernel namespaces io math.parser assocs classes
classes.tuple words arrays sequences splitting mirrors classes.tuple words arrays sequences splitting mirrors
hashtables combinators continuations math strings hashtables combinators continuations math strings
fry locals calendar calendar.format xml.entities validators fry locals calendar calendar.format xml.entities validators
html.elements ; html.elements html.streams xmode.code2html farkup inspector ;
IN: html.components IN: html.components
SYMBOL: values SYMBOL: values
@ -144,6 +144,27 @@ M: link render*
link-title object>string escape-string write link-title object>string escape-string write
</a> ; </a> ;
! XMode code component
TUPLE: code mode ;
: <code> ( -- code )
code new ;
M: code render*
[ string-lines ] [ drop ] [ mode>> value ] tri* htmlize-lines ;
! Farkup component
SINGLETON: farkup
M: farkup render*
2drop string-lines "\n" join convert-farkup write ;
! Inspector component
SINGLETON: inspector
M: inspector render*
2drop [ describe ] with-html-stream ;
! HTML component ! HTML component
SINGLETON: html SINGLETON: html