1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
|
#!/www/server/bin/php -qC
<?php
# Tests for html.class
require 'searchlib/search_test.class';
# Traditional html generation
new it_html(array('htmltype' => "html"));
is(
a(array('href' => "&foo", 'true' => true, 'false' => false, 'null' => null, 'empty' => ""), "bar"),
'<a href="&foo" true empty="">bar</a>',
"tag with attributes"
);
is(
div(),
"<div></div>\n",
"empty script tag"
);
is(
img(array('src' => "foo.png")),
'<img src="foo.png">',
"empty link tag"
);
is(
tag('link'),
"<link>\n",
"empty link tag"
);
is(
tag('link', "foo"),
"<link>foo</link>\n",
"link tag with data"
);
is(
it::replace('\n+\s*' => "", select('name' => "gna", 'multiple' => true, '1:foo,2:bar', '1,2')),
'<select name="gna" multiple><option value="1" selected>foo</option><option value="2" selected>bar</option></select>',
"select tag with multiselect",
);
is(
it::replace('\n+\s*' => "", select('name' => "gna", array("1" => "foo", "2" => 'bar', '1,2' => "qux"), '1,2')),
'<select name="gna"><option value="1">foo</option><option value="2">bar</option><option value="1,2" selected>qux</option></select>',
"link tag without multiselect",
);
# XML generation
unset($GLOBALS['it_html']);
new it_html(array('htmltype' => "xhtml", 'tags' => "xmltest"));
is(
xmltest(),
"<xmltest />\n",
"empty xmltest tag"
);
is(
xmltest("foo"),
"<xmltest>foo</xmltest>\n",
"empty xmltest tag"
);
is(
xmltest(array('href' => "&foo", 'true' => true, 'false' => false, 'null' => null, 'empty' => "")),
'<xmltest href="&foo" true="true" empty="" />' . "\n",
"xmltest tag with attributes"
);
# Inheriting and extending it_html
class myhtml extends it_html
{
function myimg($args)
{
array_unshift($args, array('alt' => "ALT", 'bar' => "BAR"));
return parent::img($args);
}
}
unset($GLOBALS['it_html']);
new myhtml(array('htmltype' => "html"));
is(
myimg(array('src' => "foo.gif", 'alt' => "foo")),
'<img alt="foo" bar="BAR" src="foo.gif">',
"it_html inheritance"
);
is(
it_html::sanitize(' <p><a href="http://www.flickr.com/people/swisspics/">swisspics</a> posted < < ä & yesterday <b>a <i>photo</i></b> <b><i>tag missmatch</b></i>:</p><br><BR />
<P><a href="javascript:window.close()" title="Wolken"><img src="http://farm1.static.flickr.com/177/377214376_bcba167a7d_m.jpg" width="240" height="180" alt="Wolken" style="border: 1px solid #ddd;" /></a></p>
'),
' <a href="http://www.flickr.com/people/swisspics/">swisspics</a> posted < < ä & yesterday a <i>photo</i> <i>tag missmatch</i>:<br /><br /> <p><img src="http://farm1.static.flickr.com/177/377214376_bcba167a7d_m.jpg" alt="" /></p> ',
'it_html::sanitize tag soup'
);
is(
U("/foo.html", array('bar' => array('gna' => 42, 'qux' => array('quux' => "<Zürich>", 'gnöp' => "fasel")))),
'/foo.html?bar[gna]=42&bar[qux][quux]=%3CZ%FCrich%3E&bar[qux][gn%F6p]=fasel',
'U() with nested arrays'
);
?>
|