bug71805.phpt 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. --TEST--
  2. XMLReader: Bug #71805 XML files can generate UTF-8 error even if they are UTF-8
  3. --EXTENSIONS--
  4. xmlreader
  5. --FILE--
  6. <?php
  7. TestXML(__DIR__ . DIRECTORY_SEPARATOR . 'XMLReaderGood_bug71805.xml');
  8. TestXML(__DIR__ . DIRECTORY_SEPARATOR . 'XMLReaderBad_bug71805.xml');
  9. function TestXML($file) {
  10. $XR = new XMLReader;
  11. $XR->open($file, null, LIBXML_NOBLANKS);
  12. while (($lastRead = $XR->read()) && ($XR->name !== 'records'));
  13. while (($lastRead = $XR->read()) && ($XR->name !== 'record'));
  14. while ($lastRead) {
  15. $xml = $XR->readOuterXML();
  16. if ($xml === '') {
  17. $err = '';
  18. if ($e = libxml_get_last_error()) { $err = $e->message.' (line: '.$e->line.')'; }
  19. $XR->close();
  20. echo $file.' : Problem with file'.($err ? ' — '.$err : '').'.';
  21. echo "\n";
  22. return;
  23. }
  24. while (($lastRead = $XR->next()) && ($XR->name !== 'record'));
  25. }
  26. $XR->close();
  27. echo $file.' : Good!';
  28. echo "\n";
  29. return;
  30. }
  31. ?>
  32. --EXPECTF--
  33. %sXMLReaderGood_bug71805.xml : Good!
  34. %sXMLReaderBad_bug71805.xml : Good!