]> granicus.if.org Git - php/commitdiff
- Add another test
authorMarcus Boerger <helly@php.net>
Thu, 30 Mar 2006 21:45:27 +0000 (21:45 +0000)
committerMarcus Boerger <helly@php.net>
Thu, 30 Mar 2006 21:45:27 +0000 (21:45 +0000)
ext/xmlreader/tests/012.dtd [new file with mode: 0755]
ext/xmlreader/tests/012.phpt [new file with mode: 0755]
ext/xmlreader/tests/012.xml [new file with mode: 0755]

diff --git a/ext/xmlreader/tests/012.dtd b/ext/xmlreader/tests/012.dtd
new file mode 100755 (executable)
index 0000000..b65412a
--- /dev/null
@@ -0,0 +1,2 @@
+<!ELEMENT foo EMPTY>
+<!ATTLIST foo bar CDATA '' baz CDATA ''>
diff --git a/ext/xmlreader/tests/012.phpt b/ext/xmlreader/tests/012.phpt
new file mode 100755 (executable)
index 0000000..e420bb7
--- /dev/null
@@ -0,0 +1,69 @@
+--TEST--
+XMLReader: accessing empty and non existing attributes 
+--SKIPIF--
+<?php if (!extension_loaded("xmlreader")) print "skip"; ?>
+--FILE--
+<?php 
+/* $Id$ */
+
+$xmlstring =<<<EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<foo bar=""/>
+EOF;
+
+$reader = new XMLReader();
+$reader->XML($xmlstring);
+$reader->read();
+var_dump($reader->getAttribute('bar'));
+var_dump($reader->getAttribute('baz'));
+$reader->close();
+
+$xmlstring =<<<EOF
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE foo SYSTEM "012.dtd">
+<foo bar=""/>
+EOF;
+
+$xmlstring = str_replace('012.dtd', dirname(__FILE__).'/012.dtd', $xmlstring);
+
+$reader = new XMLReader();
+$reader->XML($xmlstring);
+$reader->setParserProperty(XMLReader::DEFAULTATTRS, true);
+while($reader->read() && $reader->nodeType != XMLReader::ELEMENT);
+var_dump($reader->getAttribute('bar'));
+var_dump($reader->getAttribute('baz'));
+$reader->close();
+
+?>
+===FILE===
+<?php
+
+$reader = new XMLReader();
+$reader->open(dirname(__FILE__) . '/012.xml');
+//$reader->setParserProperty(XMLReader::DEFAULTATTRS, true);
+while($reader->read() && $reader->nodeType != XMLReader::ELEMENT);
+var_dump($reader->getAttribute('bar'));
+var_dump($reader->getAttribute('baz'));
+$reader->close();
+
+$reader = new XMLReader();
+$reader->open(dirname(__FILE__) . '/012.xml');
+$reader->setParserProperty(XMLReader::DEFAULTATTRS, true);
+while($reader->read() && $reader->nodeType != XMLReader::ELEMENT);
+var_dump($reader->getAttribute('bar'));
+var_dump($reader->getAttribute('baz'));
+$reader->close();
+
+?>
+===DONE===
+--EXPECT--
+string(0) ""
+NULL
+string(0) ""
+string(0) ""
+===FILE===
+string(0) ""
+NULL
+string(0) ""
+string(0) ""
+===DONE===
diff --git a/ext/xmlreader/tests/012.xml b/ext/xmlreader/tests/012.xml
new file mode 100755 (executable)
index 0000000..5012bd5
--- /dev/null
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE foo SYSTEM "012.dtd">
+<foo bar=""/>