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

Reply via email to