root/trunk/tests/element/Namespaces.php

Revision 260, 10.5 kB (checked in by sfuchs, 3 years ago)

re-commit: element unittests and testpages

Line 
1 <?
2
3     class Element_Namespaces extends Element_Base {
4
5         // test getValue() w/ $_GET
6
7         public function test_string_GET_1() {
8
9             // this should not work, since we use a namespace
10             $form = $this->createForm(array('namespace' => 'home'));
11             $_GET['name'] = 'Sven';
12             $result = $form->getElement('name')->getValue();
13             $this->assertTrue(empty($result));
14         }
15
16         // test getValue() w/ $_GET
17
18         public function test_string_GET_2() {
19
20             // this should work
21             $form = $this->createForm(array('namespace' => 'home'));
22             $expected = $_GET['home']['name'] = 'Sven';
23             $result = $form->getElement('name')->getValue();
24             $this->assertTrue($result === $expected);
25         }
26
27         // test getValue() w/ $_GET
28
29         public function test_string_GET_3() {
30
31             // this should work
32             $form = $this->createForm(array('namespace' => 'addresses.home'));
33             $expected = $_GET['addresses']['home']['name'] = 'Sven';
34             $result = $form->getElement('name')->getValue();
35             $this->assertTrue($result === $expected);
36         }
37
38         // test name attribute serialization
39
40         public function test_string_serialize_1() {
41
42             $form = $this->createForm(array('namespace' => 'home'));
43
44             $expected = 'name="home[name]"';
45             $element = $form->getElement('name');
46             $result = $element->serialize();
47
48             $this->assertTrue(strpos($result, $expected) !== false);
49         }
50
51         // test name attribute serialization
52
53         public function test_string_serialize_2() {
54
55             $form = $this->createForm(array('namespace' => 'addresses.home'));
56
57             $expected = 'name="addresses[home][name]"';
58             $element = $form->getElement('name');
59             $result = $element->serialize();
60
61             $this->assertTrue(strpos($result, $expected) !== false);
62         }
63
64         // test name attribute serialization w/ $_POST
65
66         public function test_two_forms() {
67
68             $_POST = array(
69                 'addresses' => array(
70                     'home' => array(
71                         'name' => 'Sven@home',
72                     ),
73                     'work' => array(
74                         'name' => 'Sven@work',
75                     ),
76                 ),
77             );
78
79             $form = $this->createForm(array('namespace' => 'addresses.home'));
80             $element = $form->getElement('name');
81             $result = self::stripElementId($element->serialize());
82
83             $form = $this->createForm(array('namespace' => 'addresses.work'));
84             $element = $form->getElement('name');
85             $result .= self::stripElementId($element->serialize());
86
87             $expected =
88                 '<input name="addresses[home][name]" type="text" value="Sven@home" />' .
89                 '<input name="addresses[work][name]" type="text" value="Sven@work" />';
90
91             $this->assertTrue($result === $expected);
92         }
93
94         // COMBOBOX
95
96         public function test_combobox_GET() {
97
98             $form = $this->createForm(array(
99                 'namespace' => 'home', 'formname' => 'combobox'));
100
101             $_GET = array('home' => array('area' => 'a01'));
102             $element = $form->getElement('area');
103             $expected = 'a01';
104             $result = $element->getValue();
105
106             $this->assertTrue($result === $expected);
107         }
108
109         public function test_combobox_serialize() {
110
111             $form = $this->createForm(array(
112                 'namespace' => 'home', 'formname' => 'combobox'));
113
114             $expected = 'name="home[area]"';
115             $element = $form->getElement('area');
116             $result = $element->serialize();
117
118             $this->assertTrue(strpos($result, $expected) !== false);
119         }
120
121         // ENUM
122
123         public function test_enum_GET() {
124
125             $form = $this->createForm(array(
126                 'namespace' => 'home', 'formname' => 'enum'));
127
128             $_GET = array('home' => array('area' => 'a01'));
129             $element = $form->getElement('area');
130             $expected = 'a01';
131             $result = $element->getValue();
132
133             $this->assertTrue($result === $expected);
134         }
135
136         public function test_enum_serialize() {
137
138             $form = $this->createForm(array(
139                 'namespace' => 'home', 'formname' => 'enum'));
140
141             $expected = 'name="home[area]"';
142             $element = $form->getElement('area');
143             $result = $element->serialize();
144
145             $this->assertTrue(strpos($result, $expected) !== false);
146         }
147
148         // GROUP
149
150         public function test_group_GET() {
151
152             $form = $this->createForm(array(
153                 'namespace' => 'home', 'formname' => 'group'));
154
155             $areaDefinition = array('values' => array(array('value' => '',),array('value' => 'a01',),),);
156             $el = patForms::createElement('area', 'Enum', $areaDefinition);
157
158             $group = $form->getElement('loginOptions');
159             $group->addElement($el);
160
161             $_GET = array('home' => array('area' => 'a01'));
162             $expected = array('area' => 'a01');
163             $result = $group->getValue();
164
165             $this->assertTrue($result === $expected);
166
167         }
168
169         public function test_group_serialize() {
170
171             $form = $this->createForm(array(
172                 'namespace' => 'home', 'formname' => 'group'));
173
174             $areaDefinition = array('values' => array(array('value' => '',),array('value' => 'a01',),),);
175             $el = patForms::createElement('area', 'Enum', $areaDefinition);
176
177             $group = $form->getElement('loginOptions');
178             $group->setRenderer(patForms::createRenderer('Array'));
179             $group->addElement($el);
180
181             $expected = '<select name="home[area]" size="1"><option value=""></option><option value="a01"></option></select>';
182             $element = $form->getElement('loginOptions');
183             $result = array_pop($element->serialize());
184             $result = self::stripElementId($result['element']);
185
186             $this->assertTrue($result === $expected);
187         }
188
189         // HIDDEN
190
191         public function test_hidden_GET() {
192
193             $form = $this->createForm(array(
194                 'namespace' => 'home', 'formname' => 'hidden'));
195
196             $_GET = array('home' => array('area' => 'a01'));
197             $element = $form->getElement('area');
198             $expected = 'a01';
199             $result = $element->getValue();
200             $this->assertTrue($result === $expected);
201         }
202
203         public function test_hidden_serialize() {
204
205             $form = $this->createForm(array(
206                 'namespace' => 'home', 'formname' => 'hidden'));
207
208             $expected = '<input type="hidden" name="home[area]" value="a01" />';
209             $element = $form->getElement('area');
210             $result = self::stripElementId($element->serialize());
211
212             $this->assertTrue($result === $expected);
213         }
214
215         // POOL
216
217         public function test_pool_GET() {
218
219             $form = $this->createForm(array(
220                 'namespace' => 'home', 'formname' => 'pool'));
221
222             $_GET = array('home' => array('mammalians' => array('and', 'deg')));
223             $element = $form->getElement('mammalians');
224             $expected = array('and', 'deg');
225             $result = $element->getValue();
226
227             $this->assertTrue($result === $expected);
228         }
229
230         public function test_pool_serialize() {
231
232             $form = $this->createForm(array(
233                 'namespace' => 'home', 'formname' => 'pool'));
234
235             $expected = array(
236                 'name="home[mammalians]" id="home_mammalians"',
237                 'id="candidates_home_mammalians" name="home[candidates_mammalians]"',
238                 'id="members_home_mammalians" name="home[members_mammalians]"',
239                 'javascript:pool_home_mammalians.add();',
240                 'javascript:pool_home_mammalians.remove();',
241                 'pool_home_mammalians = new pool(\'home_mammalians\');',
242                 'pool_home_mammalians.addCandidate',
243                 'pool_home_mammalians.init',
244             );
245             $element = $form->getElement('mammalians');
246             $result = $element->serialize();
247
248             $result = str_replace($expected, ':FOUND:', $result);
249
250             $this->assertTrue(substr_count($result, ':FOUND:') == 9);
251         }
252
253         // RADIO
254
255         public function test_radio_GET() {
256
257             $form = $this->createForm(array(
258                 'namespace' => 'home', 'formname' => 'radio'));
259
260             $_GET = array('home' => array('username' => 'a02'));
261             $element = $form->getElement('username');
262             $expected = 'a02';
263             $result = $element->getValue();
264             $this->assertTrue($result === $expected);
265         }
266
267         public function test_radio_serialize() {
268
269             $form = $this->createForm(array(
270                 'namespace' => 'home', 'formname' => 'radio'));
271
272             $expected = 'name="home[username]"';
273             $element = $form->getElement('username');
274             $result = self::stripElementId($element->serialize());
275
276             $this->assertTrue(strpos($result, $expected) !== false);
277         }
278
279         public function test_radio_serialize_labelForId() {
280
281             $form = $this->createForm(array(
282                 'namespace' => 'home', 'formname' => 'radio'));
283
284             $expected = 'id="home_pfo';
285             $element = $form->getElement('username');
286             $result = $element->serialize();
287
288             $this->assertTrue(strpos($result, $expected) !== false);
289         }
290
291         // RADIOGROUP
292
293         public function test_radiogroup_GET() {
294
295             $form = $this->createForm(array(
296                 'namespace' => 'home', 'formname' => 'radiogroup'));
297
298             $_GET = array('home' => array('username' => 'a02'));
299             $element = $form->getElement('username');
300             $expected = 'a02';
301             $result = $element->getValue();
302             $this->assertTrue($result === $expected);
303         }
304
305         public function test_radiogroup_serialize() {
306
307             $form = $this->createForm(array(
308                 'namespace' => 'home', 'formname' => 'radiogroup'));
309
310             $expected = 'name="home[username]"';
311             $element = $form->getElement('username');
312             $result = self::stripElementId($element->serialize());
313
314             $this->assertTrue(strpos($result, $expected) !== false);
315         }
316
317         // SET
318
319         public function test_set_GET() {
320
321             $form = $this->createForm(array(
322                 'namespace' => 'home', 'formname' => 'set'));
323
324             $_GET = array('home' => array('wishlist' => 'w1'));
325             $element = $form->getElement('wishlist');
326             $expected = 'w1';
327             $result = $element->getValue();
328             $this->assertTrue($result === $expected);
329         }
330
331         public function test_set_serialize() {
332
333             $form = $this->createForm(array(
334                 'namespace' => 'home', 'formname' => 'set'));
335
336             $expected = 'name="home[wishlist][]"';
337             $element = $form->getElement('wishlist');
338             $result = $element->serialize();
339
340             $this->assertTrue(strpos($result, $expected) !== false);
341         }
342
343         // SWITCH
344
345         public function test_switch_GET() {
346
347             $form = $this->createForm(array(
348                 'namespace' => 'home', 'formname' => 'switch'));
349
350             $_GET = array('home' => array('enable' => 'yes'));
351             $element = $form->getElement('enable');
352             $expected = 'yes';
353             $result = $element->getValue();
354             $this->assertTrue($result === $expected);
355         }
356
357         public function test_switch_serialize() {
358
359             $form = $this->createForm(array(
360                 'namespace' => 'home', 'formname' => 'switch'));
361
362             $expected = 'name="home[enable]"';
363             $element = $form->getElement('enable');
364             $result = $element->serialize();
365
366             //dump(htmlentities($result));
367
368             $this->assertTrue(strpos($result, $expected) !== false);
369         }
370
371         public function test_switch_serialize_labelForId() {
372
373             $form = $this->createForm(array(
374                 'namespace' => 'home', 'formname' => 'switch'));
375
376             $expected = 'id="home_pfo';
377             $element = $form->getElement('enable');
378             $result = $element->serialize();
379
380             $this->assertTrue(strpos($result, $expected) !== false);
381         }
382     }
383
384 ?>
Note: See TracBrowser for help on using the browser.