mirror of
https://github.com/php/php-src.git
synced 2026-03-26 01:02:25 +01:00
* Avoid passing NULL to xmlSwitchToEncoding This otherwise switches to UTF-8 on libxml2 2.12.0 * Split tests for different error reporting behaviour in libxml2 2.12.0 * Avoid deprecation warnings for libxml2 2.12.0 We can't fully get rid of the parser globals as there are still APIs that implicitly use them. * Temporarily disable part of test for libxml 2.12.0 regression See https://gitlab.gnome.org/GNOME/libxml2/-/issues/634 * Review fixes * [ci skip] Update test description
27 lines
1.1 KiB
PHP
27 lines
1.1 KiB
PHP
--TEST--
|
|
Bug #81351 (xml_parse may fail, but has no error code)
|
|
--EXTENSIONS--
|
|
xml
|
|
--FILE--
|
|
<?php
|
|
$xml = <<<XML
|
|
<?xml version="1.0" encoding="utf-8"?>
|
|
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
|
<soap:Body>
|
|
<X xmlns="example.org">
|
|
XML;
|
|
|
|
$parser = xml_parser_create_ns('UTF-8');
|
|
$success = xml_parse($parser, $xml, false);
|
|
$code = xml_get_error_code($parser);
|
|
$error = xml_error_string($code);
|
|
echo "xml_parse returned $success, xml_get_error_code = $code, xml_error_string = $error\r\n";
|
|
$success = xml_parse($parser, 'Y>', true);
|
|
$code = xml_get_error_code($parser);
|
|
$error = xml_error_string($code);
|
|
echo "xml_parse returned $success, xml_get_error_code = $code, xml_error_string = $error\r\n";
|
|
?>
|
|
--EXPECTF--
|
|
xml_parse returned 1, xml_get_error_code = 0, xml_error_string = No error
|
|
%rxml_parse returned 0, xml_get_error_code = 5, xml_error_string = Invalid document end|xml_parse returned 0, xml_get_error_code = 77, xml_error_string = Tag not finished%r
|