From 6c6828a8f0904110a67fe89031f9d4eaedf29213 Mon Sep 17 00:00:00 2001 From: Christian Weber Date: Fri, 23 Mar 2012 15:28:10 +0000 Subject: it_xml uses correct target encoding by default, adapt tests to utf-8 deafult --- tests/it_xml.t | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) (limited to 'tests') diff --git a/tests/it_xml.t b/tests/it_xml.t index f74c54b..d74fadf 100755 --- a/tests/it_xml.t +++ b/tests/it_xml.t @@ -5,13 +5,14 @@ function match($xmldata, $expected, $name, $prefix = "", $p = array()) { - $classname = $prefix ? ($prefix . "_xml") : "it_xml"; + $classname = ($prefix ?: "it") . "_xml"; $varname = $prefix . "foo"; $xmldata = "$xmldata"; $xml = new $classname($xmldata, $p); + $mod_utf8 = $p['encoding'] != "iso-8859-1" ? "u" : ""; is( - preg_replace('/[#\s]+/', " ", print_r($xml->$varname, true)), + preg_replace('/[#\s]+/' . $mod_utf8, " ", print_r($xml->$varname, true)), $expected, "$name (string)" ); @@ -24,11 +25,10 @@ function match($xmldata, $expected, $name, $prefix = "", $p = array()) fclose($tmpfile); is( - preg_replace('/[#\s]+/', " ", print_r($xml->$varname, true)), + preg_replace('/[#\s]+/' . $mod_utf8, " ", print_r($xml->$varname, true)), $expected, "$name (file)" ); - } match( @@ -44,8 +44,8 @@ match( ); match( - 'Stüssihofstadt', - 'foo Object ( [attr] => Array ( [title] => Zürich ) [val] => Stüssihofstadt ) ', + 'Stüssihofstadt', + 'foo Object ( [attr] => Array ( [title] => Zürich ) [val] => Stüssihofstadt ) ', 'simple tag with latin1 content and attribute' ); @@ -62,26 +62,33 @@ match( ); match( - '&amp; <a> &amp; <b> &amp; <c> ü', - 'foo Object ( [val] => & & & ü ) ', - 'Predecode illegal entities while keeping properly encoded ones' + 'x ü y', + utf8_decode('foo Object ( [val] => x ü y ) '), + 'Manual encoding override', + "", + array('encoding' => "iso-8859-1") ); match( '&amp; <a> &amp; <b> &amp; <c> ü', - utf8_encode('foo Object ( [val] => & & & ü ) '), - 'Predecode illegal entities while keeping properly encoded ones (UTF-8)', - "", - array('encoding' => "UTF-8") + 'foo Object ( [val] => & & & ü ) ', + 'Predecode illegal entities while keeping properly encoded ones', ); +match( + '&amp; <a> &amp; <b> &amp; <c> ü', + utf8_decode('foo Object ( [val] => & & & ü ) '), + 'Predecode illegal entities while keeping properly encoded ones (iso-8859-1)', + "", + array('encoding' => "iso-8859-1") +); match( "a\x05b", 'foo Object ( [val] => a b ) ', 'Illegal latin 1 character', "", - array('encoding' => "ISO-8859-1") + array('encoding' => "iso-8859-1") ); # Test inheritance -- cgit v1.2.3