From d59a4921188753dbe4c0161081755a28112c3ef6 Mon Sep 17 00:00:00 2001
From: Nathan Gass
Date: Thu, 22 Mar 2012 18:18:42 +0000
Subject: Branch itools/devel-utf8 created
---
devel-utf8/tests/it_html.t | 159 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 159 insertions(+)
create mode 100755 devel-utf8/tests/it_html.t
(limited to 'devel-utf8/tests/it_html.t')
diff --git a/devel-utf8/tests/it_html.t b/devel-utf8/tests/it_html.t
new file mode 100755
index 0000000..0def431
--- /dev/null
+++ b/devel-utf8/tests/it_html.t
@@ -0,0 +1,159 @@
+#!/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("ϧ"), " ");
+?>
--
cgit v1.2.3