mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
Fix tests for libxml2 2.13.2
This commit is contained in:
parent
85705eda71
commit
173a4033a1
18 changed files with 94 additions and 32 deletions
|
@ -13,4 +13,4 @@ $result = $doc->loadHTMLFile(__DIR__ . "/ffff/test.html");
|
|||
assert($result === false);
|
||||
?>
|
||||
--EXPECTF--
|
||||
%r(PHP ){0,1}%rWarning: DOMDocument::loadHTMLFile(): I/O warning : failed to load external entity %s
|
||||
%r(PHP ){0,1}%rWarning: DOMDocument::loadHTMLFile(): I/O %s
|
||||
|
|
|
@ -23,7 +23,7 @@ domdocumentloadxml_test_method.inc
|
|||
--EXPECTF--
|
||||
Warning: DOMDocument::loadXML(): AttValue: " or ' expected in Entity, line: 4 in %s on line %d
|
||||
|
||||
Warning: DOMDocument::loadXML(): internal error: xmlParseStartTag: problem parsing attributes in Entity, line: 4 in %s on line %d
|
||||
Warning: DOMDocument::loadXML():%sattributes%s
|
||||
|
||||
Warning: DOMDocument::loadXML(): Couldn't find end of Start Tag book line 4 in Entity, line: 4 in %s on line %d
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ domdocumentload_test_method.inc
|
|||
--EXPECTF--
|
||||
Warning: DOMDocument::load(): AttValue: " or ' expected in %s on line %d
|
||||
|
||||
Warning: DOMDocument::load(): internal error: xmlParseStartTag: problem parsing attributes in %s on line %d
|
||||
Warning: DOMDocument::load():%sattributes%s
|
||||
|
||||
Warning: DOMDocument::load(): Couldn't find end of Start Tag book line 4 in %s on line %d
|
||||
|
||||
|
|
|
@ -20,7 +20,7 @@ $result = $doc->relaxNGValidate($rng);
|
|||
var_dump($result);
|
||||
?>
|
||||
--EXPECTF--
|
||||
Warning: DOMDocument::relaxNGValidate(): I/O warning : failed to load external entity "%s/foo.rng" in %s on line %d
|
||||
Warning: DOMDocument::relaxNGValidate(): I/O %s : failed to load %s
|
||||
|
||||
Warning: DOMDocument::relaxNGValidate(): xmlRelaxNGParse: could not load %s/foo.rng in %s on line %d
|
||||
|
||||
|
|
|
@ -5,6 +5,10 @@ Knut Urdalen <knut@php.net>
|
|||
#PHPTestFest2009 Norway 2009-06-09 \o/
|
||||
--EXTENSIONS--
|
||||
dom
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (LIBXML_VERSION >= 21300) die("skip see https://gitlab.gnome.org/GNOME/libxml2/-/issues/756");
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
$filename = __DIR__."/DOMDocument_saveHTMLFile_basic.html";
|
||||
|
|
|
@ -5,6 +5,10 @@ Knut Urdalen <knut@php.net>
|
|||
#PHPTestFest2009 Norway 2009-06-09 \o/
|
||||
--EXTENSIONS--
|
||||
dom
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (LIBXML_VERSION >= 21300) die("skip see https://gitlab.gnome.org/GNOME/libxml2/-/issues/756");
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
$filename = __DIR__."/DOMDocument_saveHTMLFile_formatOutput.html";
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
--TEST--
|
||||
DOMDocument::saveHTMLFile() should format output on demand
|
||||
--CREDITS--
|
||||
Knut Urdalen <knut@php.net>
|
||||
#PHPTestFest2009 Norway 2009-06-09 \o/
|
||||
--EXTENSIONS--
|
||||
dom
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (LIBXML_VERSION < 21300) die("skip see https://gitlab.gnome.org/GNOME/libxml2/-/issues/756");
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
$filename = __DIR__."/DOMDocument_saveHTMLFile_formatOutput_gte_2_13.html";
|
||||
$doc = new DOMDocument('1.0');
|
||||
$doc->formatOutput = true;
|
||||
$root = $doc->createElement('html');
|
||||
$root = $doc->appendChild($root);
|
||||
$head = $doc->createElement('head');
|
||||
$head = $root->appendChild($head);
|
||||
$title = $doc->createElement('title');
|
||||
$title = $head->appendChild($title);
|
||||
$text = $doc->createTextNode('This is the title');
|
||||
$text = $title->appendChild($text);
|
||||
$bytes = $doc->saveHTMLFile($filename);
|
||||
var_dump($bytes);
|
||||
echo file_get_contents($filename);
|
||||
unlink($filename);
|
||||
?>
|
||||
--EXPECT--
|
||||
int(59)
|
||||
<html><head><title>This is the title</title></head></html>
|
31
ext/dom/tests/DOMDocument_saveHTML_basic_gte_2_13.phpt
Normal file
31
ext/dom/tests/DOMDocument_saveHTML_basic_gte_2_13.phpt
Normal file
|
@ -0,0 +1,31 @@
|
|||
--TEST--
|
||||
DOMDocument::saveHTMLFile() should dump the internal document into a file using HTML formatting
|
||||
--CREDITS--
|
||||
Knut Urdalen <knut@php.net>
|
||||
#PHPTestFest2009 Norway 2009-06-09 \o/
|
||||
--EXTENSIONS--
|
||||
dom
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (LIBXML_VERSION < 21300) die("skip see https://gitlab.gnome.org/GNOME/libxml2/-/issues/756");
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
$filename = __DIR__."/DOMDocument_saveHTMLFile_basic_gte_2_13.html";
|
||||
$doc = new DOMDocument('1.0');
|
||||
$root = $doc->createElement('html');
|
||||
$root = $doc->appendChild($root);
|
||||
$head = $doc->createElement('head');
|
||||
$head = $root->appendChild($head);
|
||||
$title = $doc->createElement('title');
|
||||
$title = $head->appendChild($title);
|
||||
$text = $doc->createTextNode('This is the title');
|
||||
$text = $title->appendChild($text);
|
||||
$bytes = $doc->saveHTMLFile($filename);
|
||||
var_dump($bytes);
|
||||
echo file_get_contents($filename);
|
||||
unlink($filename);
|
||||
?>
|
||||
--EXPECT--
|
||||
int(59)
|
||||
<html><head><title>This is the title</title></head></html>
|
|
@ -17,7 +17,7 @@ var_dump($result);
|
|||
|
||||
?>
|
||||
--EXPECTF--
|
||||
Warning: DOMDocument::schemaValidate(): I/O warning : failed to load external entity "%snon-existent-file" in %s on line %d
|
||||
Warning: DOMDocument::schemaValidate(): I/O %s : failed to load %s
|
||||
|
||||
Warning: DOMDocument::schemaValidate(): Failed to locate the main schema resource at '%snon-existent-file'. in %s on line %d
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@ dom
|
|||
$ref = new DOMEntityReference("amp");
|
||||
var_dump($ref);
|
||||
?>
|
||||
--EXPECT--
|
||||
--EXPECTF--
|
||||
object(DOMEntityReference)#1 (17) {
|
||||
["nodeName"]=>
|
||||
string(3) "amp"
|
||||
|
@ -42,5 +42,5 @@ object(DOMEntityReference)#1 (17) {
|
|||
["baseURI"]=>
|
||||
NULL
|
||||
["textContent"]=>
|
||||
string(0) ""
|
||||
string(%d) "%S"
|
||||
}
|
||||
|
|
|
@ -35,19 +35,17 @@ $xpath->__construct($dom, true);
|
|||
echo "=== Second run ===\n";
|
||||
|
||||
$xpath->registerNamespace('foo', 'urn:foo');
|
||||
$xpath->query('//*[foo:test()]');
|
||||
// Note: since libxml2 commit aca16fb3d45e0b2c45364ffc1cea8eb4abaca87d this only outputs 1 warning. This seems intentional.
|
||||
// Easiest workaround is silencing the warnings
|
||||
@$xpath->query('//*[foo:test()]');
|
||||
$xpath->registerPhpFunctionNS('urn:foo', 'test', [new Test, 'test']);
|
||||
$xpath->query('//*[foo:test()]');
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
--EXPECT--
|
||||
=== First run ===
|
||||
=== Reconstruct ===
|
||||
destruct
|
||||
=== Second run ===
|
||||
|
||||
Warning: DOMXPath::query(): xmlXPathCompOpEval: function test not found in %s on line %d
|
||||
|
||||
Warning: DOMXPath::query(): Unregistered function in %s on line %d
|
||||
test
|
||||
destruct
|
||||
|
|
|
@ -251,14 +251,10 @@ try {
|
|||
print $e->getMessage() . "\n";
|
||||
}
|
||||
|
||||
/* This isn't because the xml namespace isn't there and we can't create it */
|
||||
print "29 DOMElement::__construct('xml:valid', '', 'http://www.w3.org/XML/1998/namespace')\n";
|
||||
try {
|
||||
$element = new DomElement('xml:valid', '', 'http://www.w3.org/XML/1998/namespace');
|
||||
print "valid\n";
|
||||
} catch (Exception $e) {
|
||||
print $e->getMessage() . "\n";
|
||||
}
|
||||
/* There used to be a 29 here that tested DOMElement::__construct('xml:valid', '', 'http://www.w3.org/XML/1998/namespace').
|
||||
* In libxml2 version 2.12 or prior this didn't work because the xml namespace isn't there and you can't create it without
|
||||
* a document. Starting from libxml2 version 2.13 it does actually work because the XML namespace is statically defined.
|
||||
* The behaviour from version 2.13 is actually the desired behaviour anyway. */
|
||||
|
||||
|
||||
/* the qualifiedName or its prefix is "xmlns" and the namespaceURI is
|
||||
|
@ -378,8 +374,6 @@ Namespace Error
|
|||
Namespace Error
|
||||
28 DOMDocument::createElementNS('http://www.w3.org/XML/1998/namespace', 'xml:valid')
|
||||
valid
|
||||
29 DOMElement::__construct('xml:valid', '', 'http://www.w3.org/XML/1998/namespace')
|
||||
Namespace Error
|
||||
30 DOMDocument::createElementNS('http://wrong.namespaceURI.com', 'xmlns:valid')
|
||||
Namespace Error
|
||||
31 DOMElement::__construct('xmlns:valid', '', 'http://wrong.namespaceURI.com')
|
||||
|
|
|
@ -42,6 +42,6 @@ var_dump($dom->documentURI);
|
|||
|
||||
?>
|
||||
--EXPECTF--
|
||||
string(%d) "file://%stest%20foo.html"
|
||||
string(%d) "file://%stest%sfoo.html"
|
||||
string(12) "php://memory"
|
||||
string(16) "dummy://foo/ bar"
|
||||
|
|
|
@ -18,7 +18,8 @@ print $doc->saveXml($elt) . "\n";
|
|||
$attr->removeChild($attr->firstChild);
|
||||
print $doc->saveXml($elt) . "\n";
|
||||
|
||||
$attr->nodeValue = '&';
|
||||
// Note: since libxml2 commit aca16fb3d45e0b2c45364ffc1cea8eb4abaca87d this no longer explicitly warns. This seems intentional.
|
||||
@$attr->nodeValue = '&';
|
||||
print "$attr->nodeValue\n";
|
||||
print $doc->saveXml($elt) . "\n";
|
||||
|
||||
|
@ -41,8 +42,6 @@ print $doc->saveXml($elt) . "\n";
|
|||
<elt a="&"/>
|
||||
<elt a=""/>
|
||||
|
||||
Warning: main(): unterminated entity reference in %s on line %d
|
||||
|
||||
<elt a=""/>
|
||||
&
|
||||
<elt a="&"/>
|
||||
|
|
|
@ -10,4 +10,4 @@ var_dump($dom->documentURI);
|
|||
|
||||
?>
|
||||
--EXPECTF--
|
||||
string(%d) "file://%stest%20foo.xml"
|
||||
string(%d) "file://%stest%sfoo.xml"
|
||||
|
|
|
@ -9,7 +9,7 @@ Dom\XMLDocument::createFromFile("\\0");
|
|||
|
||||
?>
|
||||
--EXPECTF--
|
||||
Warning: Dom\XMLDocument::createFromFile(): I/O warning : failed to load external entity "%s" in %s on line %d
|
||||
Warning: Dom\XMLDocument::createFromFile(): I/O %s : failed to load %s
|
||||
|
||||
Fatal error: Uncaught Exception: Cannot open file '\0' in %s:%d
|
||||
Stack trace:
|
||||
|
|
|
@ -22,7 +22,7 @@ var_dump($sxe->asXML("$uri.out%00foo"));
|
|||
--EXPECTF--
|
||||
Warning: simplexml_load_file(): URI must not contain percent-encoded NUL bytes in %s on line %d
|
||||
|
||||
Warning: simplexml_load_file(): I/O warning : failed to load external entity "%s/bug79971_1.xml%%r00%rfoo" in %s on line %d
|
||||
Warning: simplexml_load_file(): I/O warning : failed to load %s
|
||||
bool(false)
|
||||
|
||||
Warning: SimpleXMLElement::asXML(): URI must not contain percent-encoded NUL bytes in %s on line %d
|
||||
|
|
|
@ -25,8 +25,8 @@ try {
|
|||
}
|
||||
echo "ok\n";
|
||||
?>
|
||||
--EXPECT--
|
||||
SOAP-ERROR: Parsing WSDL: Couldn't load from 'httpx://' : failed to load external entity "httpx://"
|
||||
--EXPECTF--
|
||||
SOAP-ERROR: Parsing WSDL: Couldn't load from 'httpx://' : failed to load %s
|
||||
|
||||
ok
|
||||
I don't get executed either.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue