summaryrefslogtreecommitdiff
path: root/test/it_html.t
diff options
context:
space:
mode:
Diffstat (limited to 'test/it_html.t')
-rwxr-xr-xtest/it_html.t126
1 files changed, 63 insertions, 63 deletions
diff --git a/test/it_html.t b/test/it_html.t
index 90af4b6..bdaef95 100755
--- a/test/it_html.t
+++ b/test/it_html.t
@@ -9,100 +9,100 @@ it::getopt(""); #handle possible --debug parameter
ini_set('default_charset', "utf-8");
new it_html(['htmltype' => "html5", 'prettyprint' => false, 'error_on_redefine' => false]);
-is(
+is_(
a(['href' => "&foo", 'true' => true, 'false' => false, 'null' => null, 'empty' => ""], "bar"),
'<a href="&amp;foo" true empty="">bar</a>',
"tag with attributes"
);
-is(
+is_(
div(),
"<div></div>\n",
"empty div tag"
);
-is(
+is_(
h1(),
"<h1></h1>\n",
"empty h1 tag"
);
-is(
+is_(
input(),
"<input>",
"no closing tag for void elements"
);
-is(
+is_(
img(['src' => "foo.png", 'alt' => "ALT"]),
'<img src="foo.png" alt="ALT">',
"img tag with attributes"
);
-is(
+is_(
tag('link'),
"<link>\n",
"empty link tag"
);
-is(
+is_(
tag('link', "foo"),
"<link>foo</link>\n",
"link tag with data"
);
-is(
+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(
+is_(
it::replace(['\n+\s*' => ""], select(['name' => "gna"], ["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>',
"select tag without multiselect"
);
-is(
+is_(
div(['arg' => "val: \x03, \x0e, \x0f, \x0c, \xc2\x80, \xc2\x9f, \t, \n, \r", "\x02, \x0e, \x0f, \x0c, \xc2\x80, \xc2\x9f, \t, \n, \r"]),
"<div arg=\"val: , , , , , , &#9;, &#10;, &#13;\">\x02, \x0e, \x0f, \x0c, \xc2\x80, \xc2\x9f, \t, \n, \r</div>\n",
"blank unprintable characters and illegal utf8 in attributes but not in normal text"
);
-is(
+is_(
div(["arg\x03\x0e\x0f\xc2\x80\xc2\x9fendarg" => "value", "content"]),
"<div arg\x03\x0e\x0f\xc2\x80\xc2\x9fendarg=\"value\">content</div>\n",
"don't blank unprintable characters and illegal utf8 in attribute names"
);
-is(
+is_(
div(['arg' => "abc äüö éá© œàè îôÇ xyz", "abc äüö éá© œàè îôÇ xyz"]),
"<div arg=\"abc äüö éá© œàè îôÇ xyz\">abc äüö éá© œàè îôÇ xyz</div>\n",
"leave legal utf8 intact"
);
-is(js(['async' => true], 'foo'), "<script async>foo</script>\n", 'boolean attribute for js script tag');
+is_(js(['async' => true], 'foo'), "<script async>foo</script>\n", 'boolean attribute for js script tag');
unset($GLOBALS['debug_utf8check']);
-is(
+is_(
div(['arg' => "value \xc2", "content"]),
"<div arg=\"value \xc2\">content</div>\n",
"handle single \\xc2 at end of attribute value"
);
-is(
+is_(
div(["arg\x00end" => "value \x00 end", "content \x00 content end"]),
"<div arg\x00end=\"value end\">content \x00 content end</div>\n",
"handle 0-bytes"
);
-is(
+is_(
div(['arg' => "& \" < > \n '", "& \" < > \n '"]),
"<div arg=\"&amp; &quot; &lt; &gt; &#10; '\">& \" < > \n '</div>\n",
"use html entities in attributes but not in normal text"
);
-is(
+is_(
html(),
"<!DOCTYPE html>\n<html lang=\"de\">\n</html>\n",
"html5 doctype"
@@ -113,62 +113,62 @@ foreach (['html5' => "<br flag>", 'html' => "<br flag>", 'xhtml' => "<br flag=\"
{
unset($GLOBALS['it_html']);
new it_html(['htmltype' => $type, 'error_on_redefine' => false]);
- is (trim(br(['flag' => true])), $value, "Check empty tag and attribute for $type");
+ is_(trim(br(['flag' => true])), $value, "Check empty tag and attribute for $type");
}
# XHTML generation
unset($GLOBALS['it_html']);
new it_html(['htmltype' => "xhtml", 'tags' => "script", 'error_on_redefine' => false]);
-is(
+is_(
script(),
"<script></script>\n",
"script may not be shortened (see xhtml spec)"
);
-is(
+is_(
h1(),
"<h1></h1>\n",
"empty h1 tag in xhtml context"
);
-is(
+is_(
html(),
"<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"de\">\n</html>\n",
"xhtml doctype"
);
-is(js('foo'), "<script type=\"text/javascript\"><!--//--><![CDATA[//><!--\nfoo\n//--><!]]></script>\n", "escape js script content with CDATA in xml mode");
+is_(js('foo'), "<script type=\"text/javascript\"><!--//--><![CDATA[//><!--\nfoo\n//--><!]]></script>\n", "escape js script content with CDATA in xml mode");
# XML generation
unset($GLOBALS['it_html']);
new it_html(['htmltype' => "xml", 'name' => 'it_html', 'moretags' => "xmltest", 'error_on_redefine' => false]);
-is(
+is_(
xmltest(),
"<xmltest />\n",
"empty xmltest tag"
);
-is(
+is_(
xmltest("foo"),
"<xmltest>foo</xmltest>\n",
"non-empty xmltest tag"
);
-is(
+is_(
xmltest(['href' => "&foo", 'true' => true, 'false' => false, 'null' => null, 'empty' => ""]),
'<xmltest href="&amp;foo" true="true" empty="" />' . "\n",
"xmltest tag with attributes"
);
-is(
+is_(
h1(),
"<h1 />\n",
"empty h1 tag in xml context"
);
-is(
+is_(
input(),
"<input />",
"empty input tag in xml context"
@@ -199,31 +199,31 @@ function overriddentag($args)
unset($GLOBALS['it_html']);
new myhtml(['htmltype' => "html", 'error_on_redefine' => false]);
-is(
+is_(
myimg(['src' => "foo.gif", 'alt' => "foo"]),
'<img alt="foo" bar="BAR" src="foo.gif">',
"it_html inheritance"
);
-is(
+is_(
div(['attr' => 'value'], 'content'),
'<div attr="value">content</div>',
"different nonewlinetags respected"
);
-is(
+is_(
overriddentag("one ", ['src' => "evil", 'alt' => ""], "two ", ['foo' => "bar"], "three"),
'<overriddentag src="evil" alt="" foo="bar">one two three</overriddentag>',
"moretags override"
);
-is(
+is_(
defaulttag("one ", ['src' => "evil", 'alt' => ""], "two ", ['foo' => "bar"], "three"),
'<defaulttag src="evil" alt="" foo="bar">one two three</defaulttag>',
"moretags default"
);
-is(
+is_(
it_html::sanitize(" \r \n " . ' <p><a href="http://www.flickr.com/people/swisspics%/">swisspics</a> posted < &lt; &auml; &amp; 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>
@@ -232,95 +232,95 @@ is(
'it_html::sanitize tag soup'
);
-is(
+is_(
it_html::sanitize('q&#8592;x'),
"q←x",
'it_html::sanitize preserve numeric entities'
);
-is(
+is_(
it_html::sanitize('q&uuml;x'),
"q\xc3\xbcx",
'it_html::sanitize with utf-8'
);
-is(
+is_(
it_html::sanitize('<b>a<br>b</b>'),
"<b>a<br />b</b>",
'it_html::sanitize with b and br (tag prefix of other tag bug)'
);
-is(
+is_(
it_html::sanitize('<div></div>'),
'',
'empty tags removal'
);
-is(
+is_(
it_html::sanitize('<a href = "http://search.ch/">foo</a>'),
'<a href="http://search.ch/">foo</a>',
'it_html::sanitize handle anchors with spaces between attribute name and value'
);
-is(
+is_(
it_html::sanitize('<a href="http://search.ch/"><strong>foo</strong></a>'),
'<a href="http://search.ch/"><strong>foo</strong></a>',
'it_html::sanitize handle nesting of tags inside <a>'
);
-is(
+is_(
it_html::sanitize('<a href="mailto:neuman@example.com">foo</a>'),
'<a href="mailto:neuman@example.com">foo</a>',
'it_html::sanitize handle mailto links'
);
-is(
+is_(
it_html::sanitize("<a href='http://search.ch/'>foo</a>"),
'<a href="http://search.ch/">foo</a>',
'TODO it_html::sanitize handle anchors with single quotes at attribute value'
);
-is(
+is_(
it_html::sanitize("<a href=http://search.ch/>foo</a>"),
'<a href="http://search.ch/">foo</a>',
'TODO it_html::sanitize handle anchors with unquoted attribute value'
);
-is(
+is_(
it_html::sanitize('<img src = "http://search.ch/logo.jpg">'),
'<img src="http://search.ch/logo.jpg" alt="" />',
'it_html::sanitize handle anchors with spaces between attribute name and value in img'
);
-is(
+is_(
it_html::sanitize("<img src='http://search.ch/logo.jpg'/>"),
'<img src="http://search.ch/logo.jpg" alt="" />',
'TODO it_html::sanitize handle anchors with single quotes at attribute value in img'
);
-is(
+is_(
it_html::sanitize("<img src=http://search.ch/logo.jpg>"),
'<img src="http://search.ch/logo.jpg" alt="" />',
'TODO it_html::sanitize handle anchors with unquoted attribute value in img'
);
foreach (json_decode(it::file_get_contents(dirname($argv[0]) . '/U_tests.json'), true) as $test)
- is(U(...$test['args']), $test['exp'], $test['name']);
+ is_(U(...$test['args']), $test['exp'], $test['name']);
$str = "\"'<>& &amp;";
-is(it_html::entity_decode(Q($str)), $str);
-is(it_html::entity_decode("&auml;"), "ä");
-is(it_html::entity_decode("&#x4a;"), "J");
-is(it_html::entity_decode("&#x4A;"), "J");
-is(it_html::entity_decode("&#65;"), "A");
-is(it_html::entity_decode('&quot;'), '"');
-is(it_html::entity_decode('&apos;'), "'");
-is(it_html::entity_decode('&lt;'), "<");
-is(it_html::entity_decode('&gt;'), ">");
-is(it_html::entity_decode('&amp;'), "&");
+is_(it_html::entity_decode(Q($str)), $str);
+is_(it_html::entity_decode("&auml;"), "ä");
+is_(it_html::entity_decode("&#x4a;"), "J");
+is_(it_html::entity_decode("&#x4A;"), "J");
+is_(it_html::entity_decode("&#65;"), "A");
+is_(it_html::entity_decode('&quot;'), '"');
+is_(it_html::entity_decode('&apos;'), "'");
+is_(it_html::entity_decode('&lt;'), "<");
+is_(it_html::entity_decode('&gt;'), ">");
+is_(it_html::entity_decode('&amp;'), "&");
# tests for itools extension
-is(table(null), "<table></table>\n", "table() null argument");
+is_(table(null), "<table></table>\n", "table() null argument");
list($data, $attr) = it_parse_args([null]);
ok($data === "", "it_parse_args compatiblity: treat null like empty string");
@@ -331,20 +331,20 @@ ok($data === "", "it_parse_args compatiblity: treat null like empty string");
it_html::configure(['charset' => "iso-8859-1"]);
ini_set('default_charset', "iso-8859-1");
-is(
+is_(
it_html::sanitize('q&uuml;x'),
"q\xfcx",
'it_html::sanitize with latin1'
);
-is(
+is_(
it_html::sanitize('q&#8592;x'),
"q&#8592;x",
'it_html::sanitize preserve non-decodable numeric entities'
);
-is(it_html::entity_decode("&#8217;"), "'", "it_html::entity_decode numeric decimal entity");
-is(it_html::entity_decode("&#xfff;"), " ", "it_html::entity_decode invalid numeric hex entity");
-is(it_html::entity_decode("&#999;"), " ", "it_html::entity_decode invalid numeric decimal entity");
-is(it_html::entity_decode("&#x8b;"), " ", "it_html::entity_decode entity von 0x80-0x9f");
+is_(it_html::entity_decode("&#8217;"), "'", "it_html::entity_decode numeric decimal entity");
+is_(it_html::entity_decode("&#xfff;"), " ", "it_html::entity_decode invalid numeric hex entity");
+is_(it_html::entity_decode("&#999;"), " ", "it_html::entity_decode invalid numeric decimal entity");
+is_(it_html::entity_decode("&#x8b;"), " ", "it_html::entity_decode entity von 0x80-0x9f");
-is(js('<SCriPT> </script> </SCriPT> <!--'), "<script type=\"text/javascript\">\\x3Cscript> \\x3C/script> \\x3C/script> \\x3C!--</script>\n", "escape dangerous js content");
+is_(js('<SCriPT> </script> </SCriPT> <!--'), "<script type=\"text/javascript\">\\x3Cscript> \\x3C/script> \\x3C/script> \\x3C!--</script>\n", "escape dangerous js content");