summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2016-09-11 00:06:45 +0200
committerChristoph M. Becker <cmbecker69@gmx.de>2016-09-11 00:06:45 +0200
commit326a4e38fbe8fd776624fc9891ad6a91a034504b (patch)
tree7644abe3d93f536fba2843ff37279f6cc6873bc3
parent6c9d37d059da310dd1b8ac6457ef045ee1c464fb (diff)
downloadphp-git-326a4e38fbe8fd776624fc9891ad6a91a034504b.tar.gz
Add regression test for bug #73053
The test succeeds with libxml < 2.9.4, and is supposed to succeed with libxml > 2.9.4. Unfortunately, we can't conditionally mark a test case as XFAIL, so we're simply skipping the test for libxml 2.9.4 instead.
-rw-r--r--ext/xmlreader/tests/bug73053.phpt21
-rw-r--r--ext/xmlreader/tests/bug73053.xml11
-rw-r--r--ext/xmlreader/tests/bug73053.xsd27
3 files changed, 59 insertions, 0 deletions
diff --git a/ext/xmlreader/tests/bug73053.phpt b/ext/xmlreader/tests/bug73053.phpt
new file mode 100644
index 0000000000..4a7ace50eb
--- /dev/null
+++ b/ext/xmlreader/tests/bug73053.phpt
@@ -0,0 +1,21 @@
+--TEST--
+Bug #73053 (XML reader with setSchema now fails under 5.6.25)
+--SKIPIF--
+<?php
+if (!extension_loaded('xmlreader')) die('skip xmlreader extension not available');
+if (LIBXML_VERSION === 20904) die('skip fails with libxml 2.9.4');
+?>
+--FILE--
+<?php
+$xmlfile = __DIR__ . DIRECTORY_SEPARATOR . 'bug73053.xml';
+$xsdfile = __DIR__ . DIRECTORY_SEPARATOR . 'bug73053.xsd';
+
+$xml = new XMLReader();
+var_dump($xml->open($xmlfile, null, LIBXML_PARSEHUGE));
+$xml->setSchema($xsdfile);
+while($xml->read());
+?>
+===DONE===
+--EXPECT--
+bool(true)
+===DONE===
diff --git a/ext/xmlreader/tests/bug73053.xml b/ext/xmlreader/tests/bug73053.xml
new file mode 100644
index 0000000000..8f29dc23a7
--- /dev/null
+++ b/ext/xmlreader/tests/bug73053.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<x:books xmlns:x="urn:books">
+ <book id="1">
+ <author>Writer</author>
+ <title>The First Book</title>
+ <genre>Fiction</genre>
+ <price>44.95</price>
+ <pub_date>2000-10-01</pub_date>
+ <review>An amazing story of nothing.</review>
+ </book>
+</x:books>
diff --git a/ext/xmlreader/tests/bug73053.xsd b/ext/xmlreader/tests/bug73053.xsd
new file mode 100644
index 0000000000..bbfe42c503
--- /dev/null
+++ b/ext/xmlreader/tests/bug73053.xsd
@@ -0,0 +1,27 @@
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="urn:books"
+ xmlns:bks="urn:books">
+
+ <xsd:element name="books" type="bks:BooksForm"/>
+
+ <xsd:complexType name="BooksForm">
+ <xsd:sequence>
+ <xsd:element name="book"
+ type="bks:BookForm"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <xsd:complexType name="BookForm">
+ <xsd:sequence>
+ <xsd:element name="author" type="xsd:string"/>
+ <xsd:element name="title" type="xsd:string"/>
+ <xsd:element name="genre" type="xsd:string"/>
+ <xsd:element name="price" type="xsd:float" />
+ <xsd:element name="pub_date" type="xsd:date" />
+ <xsd:element name="review" type="xsd:string"/>
+ </xsd:sequence>
+ <xsd:attribute name="id" type="xsd:positiveInteger"/>
+ </xsd:complexType>
+</xsd:schema>