#!/www/server/bin/php -qC
"html"));
is(
a(array('href' => "&foo", 'true' => true, 'false' => false, 'null' => null, 'empty' => ""), "bar"),
'bar',
"tag with attributes"
);
is(
div(),
"
\n",
"empty div tag"
);
is(
img(array('src' => "foo.png", 'alt' => "ALT")),
'',
"img tag with attributes"
);
is(
tag('link'),
"\n",
"empty link tag"
);
is(
tag('link', "foo"),
"foo\n",
"link tag with data"
);
is(
it::replace(array('\n+\s*' => ""), select(array('name' => "gna", 'multiple' => true), '1:foo,2:bar', '1,2')),
'',
"select tag with multiselect"
);
is(
it::replace(array('\n+\s*' => ""), select(array('name' => "gna"), array("1" => "foo", "2" => 'bar', '1,2' => "qux"), '1,2')),
'',
"select tag without multiselect"
);
# XML generation
unset($GLOBALS['it_html']);
new it_html(array('htmltype' => "xhtml", 'tags' => "xmltest"));
is(
xmltest(),
"\n",
"empty xmltest tag"
);
is(
xmltest("foo"),
"foo\n",
"empty xmltest tag"
);
is(
xmltest(array('href' => "&foo", 'true' => true, 'false' => false, 'null' => null, '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")),
'',
"it_html inheritance"
);
is(
it_html::sanitize(" \r \n " . ' swisspics posted < < ä & yesterday a photo tag missmatch:
'),
' swisspics posted < < ä & yesterday a photo tag missmatch:
',
'it_html::sanitize tag soup'
);
is(
it_html::sanitize('q←x'),
"q←x",
'it_html::sanitize preserve numeric entities'
);
it_html::configure(array('charset' => "utf-8"));
is(
it_html::sanitize('qüx'),
"q\xc3\xbcx",
'it_html::sanitize with utf-8'
);
it_html::configure(array('charset' => "iso-8859-1"));
is(
it_html::sanitize('qüx'),
"q\xfcx",
'it_html::sanitize with latin1'
);
is(
it_html::sanitize('a
b'),
"a
b",
'it_html::sanitize with b and br (tag prefix of other tag bug)'
);
is(
U("/foo.html", array('bar' => array('gna' => 42, 'qux' => array('quux' => "", 'gnöp' => "fasel")))),
'/foo.html?bar[gna]=42&bar[qux][quux]=%3CZ%FCrich%3E&bar[qux][gn%F6p]=fasel',
'U() with nested arrays'
);
is(
U("Jet d'eau"),
'Jet+d%27eau',
'U() with single quotes in URL'
);
is(
U('%% %1%x %1x%x1%xx%11%ff%FF'),
'%25%25+%251%25x+%251x%25x1%25xx%11%ff%FF',
'U() quoting of % if not followed by 2 hex digits'
);
is(
U('a\\b'),
'a/b',
'U() converting of \ to /'
);
is(it_html::entity_decode("ä"), "ä");
is(it_html::entity_decode("’"), "'");
is(it_html::entity_decode("J"), "J");
is(it_html::entity_decode("J"), "J");
is(it_html::entity_decode(""), " ");
is(it_html::entity_decode("A"), "A");
is(it_html::entity_decode("ϧ"), " ");
?>