diff options
author | Urban Müller | 2018-06-21 16:42:32 +0200 |
---|---|---|
committer | Urban Müller | 2018-06-21 16:43:32 +0200 |
commit | 3dabbbd5325c9fad9582cd44b1da68dece78eaa0 (patch) | |
tree | 92d951b948f0e01dc6b7ae3f11b9c03034edb69a /tests/it_xml.t | |
parent | 455b15f7a850a58ef667ad170732769043eb1522 (diff) | |
download | itools-3dabbbd5325c9fad9582cd44b1da68dece78eaa0.tar.gz itools-3dabbbd5325c9fad9582cd44b1da68dece78eaa0.tar.bz2 itools-3dabbbd5325c9fad9582cd44b1da68dece78eaa0.zip |
no reason for different naming
Diffstat (limited to 'tests/it_xml.t')
-rwxr-xr-x | tests/it_xml.t | 127 |
1 files changed, 0 insertions, 127 deletions
diff --git a/tests/it_xml.t b/tests/it_xml.t deleted file mode 100755 index f53ceeb..0000000 --- a/tests/it_xml.t +++ /dev/null @@ -1,127 +0,0 @@ -#!/www/server/bin/php -qC -<?php - -# Tests for xml.class - -function match($xmldata, $expected, $name, $prefix = "", $p = array()) -{ - $classname = ($prefix ?: "it") . "_xml"; - $varname = $prefix . "foo"; - $xmldata = "<root>$xmldata</root>"; - $xml = new $classname($xmldata, $p); - $mod_utf8 = $p['encoding'] != "iso-8859-1" ? "u" : ""; - - is( - preg_replace('/[#\s]+/' . $mod_utf8, " ", print_r($xml->$varname, true)), - $expected, - "$name (string)" - ); - - $tmpfile = tmpfile(); - fwrite($tmpfile, $xmldata); - rewind($tmpfile); - - $xml = new $classname($tmpfile, $p); - fclose($tmpfile); - - is( - preg_replace('/[#\s]+/' . $mod_utf8, " ", print_r($xml->$varname, true)), - $expected, - "$name (file)" - ); -} - -match( - '<foo />', - 'foo Object ( ) ', - 'empty tag' -); - -match( - '<foo /><foo />', - 'Array ( [0] => foo Object ( ) [1] => foo Object ( ) ) ', - 'multiple empty tags converted to array' -); - -match( - '<foo title="Zürich">Stüssihofstadt</foo>', - 'foo Object ( [attr] => Array ( [title] => Zürich ) [val] => Stüssihofstadt ) ', - 'simple tag with latin1 content and attribute' -); - -match( - '<foo><ns:a.b.-c ns2:d.e-f="value" /></foo>', - 'foo Object ( [a_b__c] => a_b__c Object ( [attr] => Array ( [d_e_f] => value ) ) ) ', - 'Tags and attributes with name space and special characters' -); - -match( - '<foo>x & y</foo>', - 'foo Object ( [val] => x & y ) ', - 'Character data with entities' -); - -match( - '<foo>x ü y</foo>', - utf8_decode('foo Object ( [val] => x ü y ) '), - 'Manual encoding override', - "", - array('encoding' => "iso-8859-1") -); - -match( - '<foo>&amp; <a> &amp; <b> &amp; <c> ü</foo>', - 'foo Object ( [val] => & <a> & <b> & <c> ü ) ', - 'Predecode illegal entities while keeping properly encoded ones' -); - -match( - '<foo>&amp; <a> &amp; <b> &amp; <c> ü</foo>', - utf8_decode('foo Object ( [val] => & <a> & <b> & <c> ü ) '), - 'Predecode illegal entities while keeping properly encoded ones (iso-8859-1)', - "", - array('encoding' => "iso-8859-1") -); - -match( - "<foo>a\x05b</foo>", - 'foo Object ( [val] => a b ) ', - 'Illegal latin 1 character', - "", - array('encoding' => "iso-8859-1") -); - -# Test inheritance -class my_xml extends it_xml -{ - -function my_xml($xmldata) -{ - parent::it_xml($xmldata); - - # Code which should be executed in root and only there - $this->qux = new it_xml; - $this->qux->val = "qux"; - - if (is_object($this->myfoo)) - $this->myfoo->inheritbaseclass = is_a($this->myfoo, "my_xml"); -} - -} - -match( - '<myfoo />', - 'myfoo Object ( [inheritbaseclass] => ) ', - 'Inheritance and constructor (critical for e.g. tel_xmlentry)', - 'my' -); - -$x = new foo("<foo></foo>", array('prefix' => "test")); -$x->set(array('gna' => 42, 'bar' => array('baz' => array("qux", "quux")))); -match( - $x->to_xml(), - 'foo Object ( [gna] => gna Object ( [val] => 42 ) [bar] => bar Object ( [baz] => Array ( [0] => baz Object ( [val] => qux ) [1] => baz Object ( [val] => quux ) ) ) ) ', - "Method set()" -); - -?> |