]> gitweb.factorcode.org Git - factor.git/blob - basis/html/components/components-tests.factor
Delete empty unit tests files, remove 1- and 1+, reorder IN: lines in a lot of places...
[factor.git] / basis / html / components / components-tests.factor
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 ;
5 FROM: html.components => inspector ;
6 IN: html.components.tests
7
8 [ ] [ begin-form ] unit-test
9
10 [ ] [ 3 "hi" set-value ] unit-test
11
12 [ 3 ] [ "hi" value ] unit-test
13
14 TUPLE: color red green blue ;
15
16 [ ] [ 1 2 3 color boa from-object ] unit-test
17
18 [ 1 ] [ "red" value ] unit-test
19
20 [ ] [ "jimmy" "red" set-value ] unit-test
21
22 [ "jimmy" ] [
23     [
24         "red" label render
25     ] with-string-writer
26 ] unit-test
27
28 [ ] [ "<jimmy>" "red" set-value ] unit-test
29
30 [ "&lt;jimmy&gt;" ] [
31     [
32         "red" label render
33     ] with-string-writer
34 ] unit-test
35
36 [ "<input value=\"&lt;jimmy>\" name=\"red\" type=\"hidden\"/>" ] [
37     [
38         "red" hidden render
39     ] with-string-writer
40 ] unit-test
41 [ "<input value=\"&lt;jimmy>\" name=\"red\" type=\"hidden\"/>" ] [
42     [
43         "red" hidden render
44     ] with-string-writer
45 ] unit-test
46
47 [ ] [ "'jimmy'" "red" set-value ] unit-test
48
49 [ "<input value=\"&apos;jimmy&apos;\" name=\"red\" size=\"5\" type=\"text\"/>" ] [
50     [
51         "red" <field> 5 >>size render
52     ] with-string-writer
53 ] unit-test
54
55 [ "<input value=\"\" name=\"red\" size=\"5\" type=\"password\"/>" ] [
56     [
57         "red" <password> 5 >>size render
58     ] with-string-writer
59 ] unit-test
60
61 [ ] [
62     [
63         "green" <textarea> render
64     ] with-null-writer
65 ] unit-test
66
67 [ ] [
68     [
69         "green" <textarea> 25 >>rows 30 >>cols render
70     ] with-null-writer
71 ] unit-test
72
73 [ ] [ begin-form ] unit-test
74
75 [ ] [ "new york" "city1" set-value ] unit-test
76
77 [ ] [ { "new york" "los angeles" "chicago" } "cities" set-value ] unit-test
78
79 [ ] [
80     [
81         "city1"
82         <choice>
83             "cities" >>choices
84         render
85     ] with-null-writer
86 ] unit-test
87
88 [ ] [ { "los angeles" "new york" } "city2" set-value ] unit-test
89
90 [ ] [
91     [
92         "city2"
93         <choice>
94             "cities" >>choices
95             t >>multiple
96         render
97     ] with-null-writer
98 ] unit-test
99
100 [ ] [
101     [
102         "city2"
103         <choice>
104             "cities" >>choices
105             t >>multiple
106             5 >>size
107         render
108     ] with-null-writer
109 ] unit-test
110
111 [ ] [ begin-form ] unit-test
112
113 [ ] [ t "delivery" set-value ] unit-test
114
115 [ "<input type=\"checkbox\" checked=\"true\" name=\"delivery\">Delivery</input>" ] [
116     [
117         "delivery"
118         <checkbox>
119             "Delivery" >>label
120         render
121     ] with-string-writer
122 ] unit-test
123
124 [ ] [ f "delivery" set-value ] unit-test
125
126 [ "<input type=\"checkbox\" name=\"delivery\">Delivery</input>" ] [
127     [
128         "delivery"
129         <checkbox>
130             "Delivery" >>label
131         render
132     ] with-string-writer
133 ] unit-test
134
135 SINGLETON: link-test
136
137 M: link-test link-title drop "<Link Title>" ;
138
139 M: link-test link-href drop "http://www.apple.com/foo&bar" ;
140
141 [ ] [ link-test "link" set-value ] unit-test
142
143 [ "<a href=\"http://www.apple.com/foo&amp;bar\">&lt;Link Title&gt;</a>" ] [
144     [ "link" link new render ] with-string-writer
145 ] unit-test
146
147 [ ] [
148     "<html>arbitrary <b>markup</b> for the win!</html>" "html" set-value
149 ] unit-test
150
151 [ "<html>arbitrary <b>markup</b> for the win!</html>" ] [
152     [ "html" html render ] with-string-writer
153 ] unit-test
154
155 [ ] [ "int x = 4;" "code" set-value ] unit-test
156
157 [ ] [ "java" "mode" set-value ] unit-test
158
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
161 ] unit-test
162
163 [ ] [ "-foo\n-bar" "farkup" set-value ] unit-test
164
165 [ "<ul><li>foo</li><li>bar</li></ul>" ] [
166     [ "farkup" T{ farkup } render ] with-string-writer
167 ] unit-test
168
169 [ ] [ { 1 2 3 } "object" set-value ] unit-test
170
171 [ t ] [
172     [ "object" inspector render ] with-string-writer
173     "object" value [ describe ] with-html-writer xml>string
174     =
175 ] unit-test
176
177 [ ] [ begin-form ] unit-test
178
179 [ ] [
180     "factor" [
181         "concatenative" "model" set-value
182     ] nest-form
183 ] unit-test
184
185 [
186     H{
187         {
188             "factor"
189             T{ form f V{ } H{ { "model" "concatenative" } } }
190         }
191     }
192 ] [ values ] unit-test
193
194 [ ] [ "error" "blah" <validation-error> "error" set-value ] unit-test
195
196 [ ] [
197     "error" hidden render
198 ] unit-test