Annotation of embedaddon/php/ext/xml/tests/bug35447.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Bug #35447 (xml_parse_into_struct() chokes on the UTF-8 BOM)
                      3: --SKIPIF--
                      4: <?php
                      5: require_once("skipif.inc");
                      6: if (! @xml_parser_create_ns('ISO-8859-1')) { die("skip xml_parser_create_ns is not supported on this plattform");}
                      7: ?>
                      8: --FILE--
                      9: <?php
                     10: $data = <<<END_OF_XML
                     11: \xEF\xBB\xBF<?xml version="1.0" encoding="utf-8"?\x3e
                     12: <!DOCTYPE bundle [
                     13:     <!ELEMENT bundle (resource)+>
                     14:     <!ELEMENT resource (#PCDATA)>
                     15:     <!ATTLIST resource
                     16:               key CDATA #REQUIRED
                     17:               type (literal|pattern|sub) "literal"
                     18:               >
                     19: ]>
                     20: <resource key="rSeeYou">A bient&amp;244;t</resource>
                     21: END_OF_XML;
                     22: 
                     23: $parser = xml_parser_create_ns('UTF-8');
                     24: xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
                     25: $result = xml_parse_into_struct($parser, $data, $vals, $index);
                     26: xml_parser_free($parser);
                     27: var_dump($vals);
                     28: ?>
                     29: --EXPECT--
                     30: array(1) {
                     31:   [0]=>
                     32:   array(5) {
                     33:     ["tag"]=>
                     34:     string(8) "resource"
                     35:     ["type"]=>
                     36:     string(8) "complete"
                     37:     ["level"]=>
                     38:     int(1)
                     39:     ["attributes"]=>
                     40:     array(2) {
                     41:       ["key"]=>
                     42:       string(7) "rSeeYou"
                     43:       ["type"]=>
                     44:       string(7) "literal"
                     45:     }
                     46:     ["value"]=>
                     47:     string(13) "A bient&244;t"
                     48:   }
                     49: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>