]> gitweb.factorcode.org Git - factor.git/blob - extra/html/components/components-tests.factor
Fix load errors
[factor.git] / extra / html / components / components-tests.factor
1 IN: html.components.tests
2 USING: tools.test kernel io.streams.string
3 io.streams.null accessors inspector html.streams
4 html.elements html.components namespaces ;
5
6 [ ] [ blank-values ] unit-test
7
8 [ ] [ 3 "hi" set-value ] unit-test
9
10 [ 3 ] [ "hi" value ] unit-test
11
12 TUPLE: color red green blue ;
13
14 [ ] [ 1 2 3 color boa from-object ] unit-test
15
16 [ 1 ] [ "red" value ] unit-test
17
18 [ ] [ "jimmy" "red" set-value ] unit-test
19
20 [ "123.5" ] [ 123.5 object>string ] 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 type='hidden' name='red' value='<jimmy>'/>" ] [
37     [
38         "red" hidden render
39     ] with-string-writer
40 ] unit-test
41
42 [ ] [ "'jimmy'" "red" set-value ] unit-test
43
44 [ "<input type='text' size='5' name='red' value='&apos;jimmy&apos;'/>" ] [
45     [
46         "red" <field> 5 >>size render
47     ] with-string-writer
48 ] unit-test
49
50 [ "<input type='password' size='5' name='red' value=''/>" ] [
51     [
52         "red" <password> 5 >>size render
53     ] with-string-writer
54 ] unit-test
55
56 [ ] [
57     [
58         "green" <textarea> render
59     ] with-null-writer
60 ] unit-test
61
62 [ ] [
63     [
64         "green" <textarea> 25 >>rows 30 >>cols render
65     ] with-null-writer
66 ] unit-test
67
68 [ ] [ blank-values ] unit-test
69
70 [ ] [ "new york" "city1" set-value ] unit-test
71
72 [ ] [ { "new york" "los angeles" "chicago" } "cities" set-value ] unit-test
73
74 [ ] [
75     [
76         "city1"
77         <choice>
78             "cities" >>choices
79         render
80     ] with-null-writer
81 ] unit-test
82
83 [ ] [ { "los angeles" "new york" } "city2" set-value ] unit-test
84
85 [ ] [
86     [
87         "city2"
88         <choice>
89             "cities" >>choices
90             t >>multiple
91         render
92     ] with-null-writer
93 ] unit-test
94
95 [ ] [
96     [
97         "city2"
98         <choice>
99             "cities" >>choices
100             t >>multiple
101             5 >>size
102         render
103     ] with-null-writer
104 ] unit-test
105
106 [ ] [ blank-values ] unit-test
107
108 [ ] [ t "delivery" set-value ] unit-test
109
110 [ "<input type='checkbox' name='delivery' checked='true'>Delivery</input>" ] [
111     [
112         "delivery"
113         <checkbox>
114             "Delivery" >>label
115         render
116     ] with-string-writer
117 ] unit-test
118
119 [ ] [ f "delivery" set-value ] unit-test
120
121 [ "<input type='checkbox' name='delivery'>Delivery</input>" ] [
122     [
123         "delivery"
124         <checkbox>
125             "Delivery" >>label
126         render
127     ] with-string-writer
128 ] unit-test
129
130 SINGLETON: link-test
131
132 M: link-test link-title drop "<Link Title>" ;
133
134 M: link-test link-href drop "http://www.apple.com/foo&bar" ;
135
136 [ ] [ link-test "link" set-value ] unit-test
137
138 [ "<a href='http://www.apple.com/foo&amp;bar'>&lt;Link Title&gt;</a>" ] [
139     [ "link" link render ] with-string-writer
140 ] unit-test
141
142 [ ] [
143     "<html>arbitrary <b>markup</b> for the win!</html>" "html" set-value
144 ] unit-test
145
146 [ "<html>arbitrary <b>markup</b> for the win!</html>" ] [
147     [ "html" html render ] with-string-writer
148 ] unit-test
149
150 [ ] [ "int x = 4;" "code" set-value ] unit-test
151
152 [ ] [ "java" "mode" set-value ] unit-test
153
154 [ "<span class='KEYWORD3'>int</span> x <span class='OPERATOR'>=</span> <span class='DIGIT'>4</span>;\n" ] [
155     [ "code" <code> "mode" >>mode render ] with-string-writer
156 ] unit-test
157
158 [ ] [ "-foo\n-bar" "farkup" set-value ] unit-test
159
160 [ "<ul><li>foo</li><li>bar</li></ul>" ] [
161     [ "farkup" farkup render ] with-string-writer
162 ] unit-test
163
164 [ ] [ { 1 2 3 } "object" set-value ] unit-test
165
166 [ t ] [
167     [ "object" inspector render ] with-string-writer
168     [ "object" value [ describe ] with-html-stream ] with-string-writer
169     =
170 ] unit-test
171
172 [ ] [ blank-values ] unit-test
173
174 [ ] [
175     "factor" [
176         "concatenative" "model" set-value
177     ] nest-values
178 ] unit-test
179
180 [ H{ { "factor" H{ { "model" "concatenative" } } } } ] [ values get ] unit-test