1 USING: tools.test kernel io.streams.string
2 io.streams.null accessors inspector html.streams
3 html.components html.forms namespaces
4 xml.writer xml.syntax ;
5 FROM: html.components => inspector ;
6 IN: html.components.tests
8 { } [ begin-form ] unit-test
10 { } [ 3 "hi" set-value ] unit-test
12 { 3 } [ "hi" value ] unit-test
14 TUPLE: color red green blue ;
16 { } [ 1 2 3 color boa from-object ] unit-test
18 { 1 } [ "red" value ] unit-test
20 { } [ "jimmy" "red" set-value ] unit-test
28 { } [ "<jimmy>" "red" set-value ] unit-test
36 { "<input value=\"<jimmy>\" name=\"red\" type=\"hidden\"/>" } [
41 { "<input value=\"<jimmy>\" name=\"red\" type=\"hidden\"/>" } [
47 { } [ "'jimmy'" "red" set-value ] unit-test
49 { "<input value=\"'jimmy'\" name=\"red\" size=\"5\" type=\"text\"/>" } [
51 "red" <field> 5 >>size render
55 { "<input value=\"\" name=\"red\" size=\"5\" type=\"password\"/>" } [
57 "red" <password> 5 >>size render
63 "green" <textarea> render
69 "green" <textarea> 25 >>rows 30 >>cols render
73 { } [ begin-form ] unit-test
75 { } [ "new york" "city1" set-value ] unit-test
77 { } [ { "new york" "los angeles" "chicago" } "cities" set-value ] unit-test
88 { } [ { "los angeles" "new york" } "city2" set-value ] unit-test
111 { } [ begin-form ] unit-test
113 { } [ t "delivery" set-value ] unit-test
115 { "<input type=\"checkbox\" checked=\"true\" name=\"delivery\">Delivery</input>" } [
124 { } [ f "delivery" set-value ] unit-test
126 { "<input type=\"checkbox\" name=\"delivery\">Delivery</input>" } [
137 M: link-test link-title drop "<Link Title>" ;
139 M: link-test link-href drop "http://www.apple.com/foo&bar" ;
141 { } [ link-test "link" set-value ] unit-test
143 { "<a href=\"http://www.apple.com/foo&bar\"><Link Title></a>" } [
144 [ "link" link new render ] with-string-writer
148 "<!DOCTYPE html><html>arbitrary <b>markup</b> for the win!</html>" "html" set-value
151 { "<!DOCTYPE html><html>arbitrary <b>markup</b> for the win!</html>" } [
152 [ "html" html render ] with-string-writer
155 { } [ "int x = 4;" "code" set-value ] unit-test
157 { } [ "java" "mode" set-value ] unit-test
159 { "<span class=\"KEYWORD3\">int</span> x <span class=\"OPERATOR\">=</span> <span class=\"DIGIT\">4</span>;" } [
160 [ "code" <code> "mode" >>mode render ] with-string-writer
163 { } [ "-foo\n-bar" "farkup" set-value ] unit-test
165 { "<ul><li>foo</li><li>bar</li></ul>" } [
166 [ "farkup" T{ farkup } render ] with-string-writer
169 { } [ { 1 2 3 } "object" set-value ] unit-test
172 [ "object" inspector render ] with-string-writer
173 "object" value [ describe ] with-html-writer xml>string
177 { } [ begin-form ] unit-test
181 "concatenative" "model" set-value
189 T{ form f V{ } H{ { "model" "concatenative" } } }
192 } [ values ] unit-test
194 { } [ "error" "blah" <validation-error-state> "error" set-value ] unit-test
197 "error" hidden render
200 ! Test xml in html components
202 [XML <foo/> XML] "xmltest" set-value
207 "xmltest" html render