pajoye Wed Dec 21 03:46:02 2005 EDT
Added files:
/php-src/ext/xmlreader/tests 001.phpt 002.phpt 003.phpt 004.phpt
005.phpt 006.phpt 007.phpt 008.phpt
009.phpt 010.phpt dtdexample.dtd
relaxNG.rng relaxNG2.rng relaxNG3.rng
Log:
- add some tests, ~70% now
http://cvs.php.net/viewcvs.cgi/php-src/ext/xmlreader/tests/001.phpt?view=markup&rev=1.1
Index: php-src/ext/xmlreader/tests/001.phpt
+++ php-src/ext/xmlreader/tests/001.phpt
--TEST--
XMLReader: libxml2 XML Reader, string data
--SKIPIF--
<?php if (!extension_loaded("xmlreader")) print "skip"; ?>
--FILE--
<?php
/* $Id: 001.phpt,v 1.1 2005/12/21 03:46:02 pajoye Exp $ */
$xmlstring = '<?xml version="1.0" encoding="UTF-8"?>
<books></books>';
$reader = new XMLReader();
$reader->XML($xmlstring);
// Only go through
while ($reader->read()) {
echo $reader->name."\n";
}
$xmlstring = '';
$reader = new XMLReader();
$reader->XML($xmlstring);
?>
===DONE===
--EXPECTF--
books
books
Warning: XMLReader::XML(): Empty string supplied as input in %s on line %d
===DONE===
http://cvs.php.net/viewcvs.cgi/php-src/ext/xmlreader/tests/002.phpt?view=markup&rev=1.1
Index: php-src/ext/xmlreader/tests/002.phpt
+++ php-src/ext/xmlreader/tests/002.phpt
--TEST--
XMLReader: libxml2 XML Reader, file data
--SKIPIF--
<?php if (!extension_loaded("xmlreader")) print "skip"; ?>
--FILE--
<?php
/* $Id: 002.phpt,v 1.1 2005/12/21 03:46:02 pajoye Exp $ */
$filename = dirname(__FILE__) . '/_002.xml';
$xmlstring = '<?xml version="1.0" encoding="UTF-8"?>
<books></books>';
file_put_contents($filename, $xmlstring);
$reader = new XMLReader();
if ($reader->open('')) exit();
$reader = new XMLReader();
if (!$reader->open($filename)) {
$reader->close();
exit();
}
// Only go through
while ($reader->read()) {
echo $reader->name."\n";
}
unlink($filename);
touch($filename);
$reader = new XMLReader();
$reader->open($filename);
unlink($filename);
?>
===DONE===
--EXPECTF--
Warning: XMLReader::open(): Empty string supplied as input in %s on line %d
books
books
===DONE===
http://cvs.php.net/viewcvs.cgi/php-src/ext/xmlreader/tests/003.phpt?view=markup&rev=1.1
Index: php-src/ext/xmlreader/tests/003.phpt
+++ php-src/ext/xmlreader/tests/003.phpt
--TEST--
XMLReader: libxml2 XML Reader, attributes test
--SKIPIF--
<?php if (!extension_loaded("xmlreader")) print "skip"; ?>
--FILE--
<?php
/* $Id: 003.phpt,v 1.1 2005/12/21 03:46:02 pajoye Exp $ */
$filename = dirname(__FILE__) . '/_002.xml';
$xmlstring = '<?xml version="1.0" encoding="UTF-8"?>
<books><book num="1" idx="2">book1</book></books>';
file_put_contents($filename, $xmlstring);
$reader = new XMLReader();
if (!$reader->open($filename)) {
exit();
}
// Only go through
while ($reader->read()) {
if ($reader->nodeType != XMLREADER::END_ELEMENT) {
if ($reader->nodeType == XMLREADER::ELEMENT &&
$reader->hasAttributes) {
$attr = $reader->moveToFirstAttribute();
echo $reader->name . ": ";
echo $reader->value . "\n";
if ($reader->getAttribute($reader->name) ==
$reader->value) {
echo "1st attr (num) failed\n";
}
$attr = $reader->moveToNextAttribute();
echo $reader->name . ": ";
echo $reader->value . "\n";
if ($reader->getAttribute($reader->name) ==
$reader->value) {
echo "2nd attr (idx) failed\n";
}
// Named attribute
$attr = $reader->moveToAttribute('num');
echo $reader->name . ": ";
echo $reader->value . "\n";
if ($reader->getAttribute('num') == $reader->value) {
echo "attr num failed\n";
}
$attr = $reader->moveToAttribute('idx');
echo $reader->name . ": ";
echo $reader->value . "\n";
if ($reader->getAttribute('idx') == $reader->value) {
echo "attr idx failed\n";
}
// Numeric positions of attributes
$attr = $reader->moveToAttributeNo(0);
echo $reader->name . ": ";
echo $reader->value . "\n";
if ($reader->getAttributeNo(0) == $reader->value) {
echo "attr 0 failed\n";
}
$attr = $reader->moveToAttributeNo(1);
echo $reader->name . ": ";
echo $reader->value . "\n";
}
}
}
unlink($filename);
?>
===DONE===
--EXPECT--
num: 1
idx: 2
num: 1
idx: 2
num: 1
idx: 2
===DONE===
http://cvs.php.net/viewcvs.cgi/php-src/ext/xmlreader/tests/004.phpt?view=markup&rev=1.1
Index: php-src/ext/xmlreader/tests/004.phpt
+++ php-src/ext/xmlreader/tests/004.phpt
--TEST--
XMLReader: libxml2 XML Reader, attributes test
--SKIPIF--
<?php if (!extension_loaded("xmlreader")) print "skip"; ?>
--FILE--
<?php
/* $Id: 004.phpt,v 1.1 2005/12/21 03:46:02 pajoye Exp $ */
$filename = dirname(__FILE__) . '/_002.xml';
$xmlstring = '<?xml version="1.0" encoding="UTF-8"?>
<books><book num="1" idx="2">book1</book></books>';
file_put_contents($filename, $xmlstring);
$reader = new XMLReader();
if (!$reader->open($filename)) {
exit();
}
while ($reader->read()) {
if ($reader->nodeType != XMLREADER::END_ELEMENT) {
echo $reader->name."\n";
if ($reader->nodeType == XMLREADER::ELEMENT &&
$reader->hasAttributes) {
$attr = $reader->moveToFirstAttribute();
while ($attr) {
echo " Attribute Name: ".$reader->name."\n";
echo " Attribute Value: ".$reader->value."\n";
$attr = $reader->moveToNextAttribute();
}
}
}
}
unlink($filename);
?>
===DONE===
--EXPECT--
books
book
Attribute Name: num
Attribute Value: 1
Attribute Name: idx
Attribute Value: 2
#text
===DONE===
http://cvs.php.net/viewcvs.cgi/php-src/ext/xmlreader/tests/005.phpt?view=markup&rev=1.1
Index: php-src/ext/xmlreader/tests/005.phpt
+++ php-src/ext/xmlreader/tests/005.phpt
--TEST--
XMLReader: libxml2 XML Reader, parser property set/get
--SKIPIF--
<?php if (!extension_loaded("xmlreader")) print "skip"; ?>
--FILE--
<?php
/* $Id: 005.phpt,v 1.1 2005/12/21 03:46:02 pajoye Exp $ */
$xmlstring = '<?xml version="1.0" encoding="UTF-8"?>
<books></books>';
$reader = new XMLReader();
$reader->XML($xmlstring);
$a = $reader->setParserProperty(XMLReader::LOADDTD, false);
$b = $reader->getParserProperty(XMLReader::LOADDTD);
if (!$a && !$b) {
echo "ok\n";
}
$a = $reader->setParserProperty(XMLReader::SUBST_ENTITIES, true);
$b = $reader->getParserProperty(XMLReader::SUBST_ENTITIES);
if ($a && $b) {
echo "ok\n";
}
// Only go through
while ($reader->read());
$reader->close();
?>
===DONE===
--EXPECT--
ok
===DONE===
http://cvs.php.net/viewcvs.cgi/php-src/ext/xmlreader/tests/006.phpt?view=markup&rev=1.1
Index: php-src/ext/xmlreader/tests/006.phpt
+++ php-src/ext/xmlreader/tests/006.phpt
--TEST--
XMLReader: libxml2 XML Reader, moveToElement
--SKIPIF--
<?php if (!extension_loaded("xmlreader")) print "skip"; ?>
--FILE--
<?php
/* $Id: 006.phpt,v 1.1 2005/12/21 03:46:02 pajoye Exp $ */
$xmlstring = '<?xml version="1.0" encoding="UTF-8"?>
<books><book num="1"></book><test /></books>';
$reader = new XMLReader();
$reader->XML($xmlstring);
// 2 read to get on the 2nd node
$reader->read();
$reader->read();
if ($reader->nodeType != XMLREADER::END_ELEMENT) {
if ($reader->nodeType == XMLREADER::ELEMENT && $reader->hasAttributes) {
$attr = $reader->moveToFirstAttribute();
if ($reader->moveToElement()) {
if ($reader->name == 'book') {
echo "ok\n";
}
}
}
}
$reader->close();
?>
===DONE===
--EXPECT--
ok
===DONE===
http://cvs.php.net/viewcvs.cgi/php-src/ext/xmlreader/tests/007.phpt?view=markup&rev=1.1
Index: php-src/ext/xmlreader/tests/007.phpt
+++ php-src/ext/xmlreader/tests/007.phpt
--TEST--
XMLReader: libxml2 XML Reader, setRelaxNGSchema
--SKIPIF--
<?php if (!extension_loaded("xmlreader")) print "skip"; ?>
--FILE--
<?php
/* $Id: 007.phpt,v 1.1 2005/12/21 03:46:02 pajoye Exp $ */
$xmlstring = '<TEI.2>hello</TEI.2>';
$relaxngfile = dirname(__FILE__) . '/relaxNG.rng';
$file = dirname(__FILE__) . '/__007.xml';
file_put_contents($file, $xmlstring);
$reader = new XMLReader();
$reader->open($file);
if ($reader->setRelaxNGSchema($relaxngfile)) {
while ($reader->read());
}
if ($reader->isValid()) {
print "file relaxNG: ok\n";
} else {
print "file relaxNG: failed\n";
}
$reader->close();
unlink($file);
$reader = new XMLReader();
$reader->XML($xmlstring);
if ($reader->setRelaxNGSchema($relaxngfile)) {
while ($reader->read());
}
if ($reader->isValid()) {
print "string relaxNG: ok\n";
} else {
print "string relaxNG: failed\n";
}
$reader->close();
$reader = new XMLReader();
$reader->XML($xmlstring);
if ($reader->setRelaxNGSchema('')) {
echo 'failed';
}
$reader->close();
?>
===DONE===
--EXPECTF--
file relaxNG: ok
string relaxNG: ok
Warning: XMLReader::setRelaxNGSchema(): Schema data source is required in %s on
line %d
===DONE===
http://cvs.php.net/viewcvs.cgi/php-src/ext/xmlreader/tests/008.phpt?view=markup&rev=1.1
Index: php-src/ext/xmlreader/tests/008.phpt
+++ php-src/ext/xmlreader/tests/008.phpt
--TEST--
XMLReader: libxml2 XML Reader, DTD
--SKIPIF--
<?php if (!extension_loaded("xmlreader")) print "skip"; ?>
--FILE--
<?php
/* $Id: 008.phpt,v 1.1 2005/12/21 03:46:02 pajoye Exp $ */
$xmlstring = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE LIST SYSTEM "dtdexample.dtd">
<LIST>
<MOVIE ID="x200338360">
<TITLE>Move Title 1</TITLE>
<ORGTITLE/><LOC>Location 1</LOC>
<INFO/>
</MOVIE>
<MOVIE ID="m200338361">
<TITLE>Move Title 2</TITLE>
<ORGTITLE/>
<LOC>Location 2</LOC>
<INFO/>
</MOVIE>
</LIST>';
$dtdfile = dirname(__FILE__) . '/dtdexample.dtd';
$file = dirname(__FILE__) . '/__008.xml';
file_put_contents($file, $xmlstring);
$reader = new XMLReader();
$reader->open($file);
$reader->setParserProperty(XMLREADER::LOADDTD, TRUE);
$reader->setParserProperty(XMLREADER::VALIDATE, TRUE);
while($reader->read());
if ($reader->isValid()) {
echo "file DTD: ok\n";
}
unlink($file);
$xmlstring = '<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE LIST SYSTEM "file:///' . dirname(__FILE__). '/dtdexample.dtd">
<LIST>
<MOVIE ID="x200338360">
<TITLE>Move Title 1</TITLE>
<ORGTITLE/><LOC>Location 1</LOC>
<INFO/>
</MOVIE>
<MOVIE ID="m200338361">
<TITLE>Move Title 2</TITLE>
<ORGTITLE/>
<LOC>Location 2</LOC>
<INFO/>
</MOVIE>
</LIST>';
$reader = new XMLReader();
$reader->XML($xmlstring);
$reader->setParserProperty(XMLREADER::LOADDTD, TRUE);
$reader->setParserProperty(XMLREADER::VALIDATE, TRUE);
while($reader->read());
if ($reader->isValid()) {
echo "string DTD: ok\n";
}
?>
===DONE===
--EXPECTF--
file DTD: ok
string DTD: ok
===DONE===
http://cvs.php.net/viewcvs.cgi/php-src/ext/xmlreader/tests/009.phpt?view=markup&rev=1.1
Index: php-src/ext/xmlreader/tests/009.phpt
+++ php-src/ext/xmlreader/tests/009.phpt
--TEST--
XMLReader: libxml2 XML Reader, next
--SKIPIF--
<?php if (!extension_loaded("xmlreader")) print "skip"; ?>
--FILE--
<?php
/* $Id: 009.phpt,v 1.1 2005/12/21 03:46:02 pajoye Exp $ */
$xmlstring = '<?xml version="1.0" encoding="UTF-8"?>
<books><book num="1"><test /></book><book num="2" /></books>';
$reader = new XMLReader();
$reader->XML($xmlstring);
// Only go through
$reader->read();
$reader->read();
$reader->next();
echo $reader->name;
echo " ";
echo $reader->getAttribute('num');
echo "\n";
?>
===DONE===
--EXPECTF--
book 2
===DONE===
http://cvs.php.net/viewcvs.cgi/php-src/ext/xmlreader/tests/010.phpt?view=markup&rev=1.1
Index: php-src/ext/xmlreader/tests/010.phpt
+++ php-src/ext/xmlreader/tests/010.phpt
--TEST--
XMLReader: libxml2 XML Reader, next
--SKIPIF--
<?php if (!extension_loaded("xmlreader")) print "skip"; ?>
--FILE--
<?php
/* $Id: 010.phpt,v 1.1 2005/12/21 03:46:02 pajoye Exp $ */
$xmlstring = '<?xml version="1.0" encoding="UTF-8"?>
<prefix:books xmlns:prefix="uri" isbn=""
prefix:isbn="12isbn">book1</prefix:books>';
$reader = new XMLReader();
$reader->XML($xmlstring);
// Only go through
$reader->read();
$reader->read();
$reader->next();
echo $reader->name;
echo " ";
echo $reader->getAttributeNs('isbn', 'uri');
echo "\n";
?>
===DONE===
--EXPECTF--
prefix:books 12isbn
===DONE===
http://cvs.php.net/viewcvs.cgi/php-src/ext/xmlreader/tests/dtdexample.dtd?view=markup&rev=1.1
Index: php-src/ext/xmlreader/tests/dtdexample.dtd
+++ php-src/ext/xmlreader/tests/dtdexample.dtd
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT LIST (MOVIE+)>
<!ELEMENT MOVIE (TITLE, ORGTITLE, LOC, INFO)>
<!ATTLIST MOVIE ID ID #REQUIRED>
<!ELEMENT TITLE (#PCDATA)>
<!ELEMENT ORGTITLE (#PCDATA)>
<!ELEMENT LOC (#PCDATA)>
<!ELEMENT INFO (#PCDATA)>
http://cvs.php.net/viewcvs.cgi/php-src/ext/xmlreader/tests/relaxNG.rng?view=markup&rev=1.1
Index: php-src/ext/xmlreader/tests/relaxNG.rng
+++ php-src/ext/xmlreader/tests/relaxNG.rng
<?xml version="1.0" encoding="iso-8859-1"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<include href="relaxNG2.rng">
<define name="TEI.prose"><ref name="INCLUDE"/></define>
</include>
</grammar>
http://cvs.php.net/viewcvs.cgi/php-src/ext/xmlreader/tests/relaxNG2.rng?view=markup&rev=1.1
Index: php-src/ext/xmlreader/tests/relaxNG2.rng
+++ php-src/ext/xmlreader/tests/relaxNG2.rng
<?xml version="1.0" encoding="utf-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
xmlns:t="http://www.thaiopensource.com/ns/annotations"
xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<start>
<ref name="TEI.2"/>
</start>
<define name="IGNORE">
<notAllowed/>
</define>
<define name="INCLUDE">
<empty/>
</define>
<include href="relaxNG3.rng"/>
<define name="TEI.2">
<element name="TEI.2">
<text/>
</element>
</define>
</grammar>
http://cvs.php.net/viewcvs.cgi/php-src/ext/xmlreader/tests/relaxNG3.rng?view=markup&rev=1.1
Index: php-src/ext/xmlreader/tests/relaxNG3.rng
+++ php-src/ext/xmlreader/tests/relaxNG3.rng
<?xml version="1.0" encoding="utf-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0"
xmlns:t="http://www.thaiopensource.com/ns/annotations"
xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0"
datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
<define name="TEI.prose" combine="interleave">
<ref name="IGNORE"/>
</define>
</grammar>
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php