summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ext/xmlreader/tests/003.phpt10
-rw-r--r--ext/xmlreader/tests/next_basic.phpt42
-rw-r--r--ext/xmlreader/tests/open_error.phpt13
-rw-r--r--ext/xmlreader/tests/readString_basic.phpt16
-rw-r--r--ext/xmlreader/tests/schema-empty.xsd0
-rw-r--r--ext/xmlreader/tests/setParserProperty_error.phpt18
-rw-r--r--ext/xmlreader/tests/setSchema_error.phpt29
7 files changed, 127 insertions, 1 deletions
diff --git a/ext/xmlreader/tests/003.phpt b/ext/xmlreader/tests/003.phpt
index 3dc8caf55a..ac9e73136e 100644
--- a/ext/xmlreader/tests/003.phpt
+++ b/ext/xmlreader/tests/003.phpt
@@ -66,6 +66,9 @@ while ($reader->read()) {
echo $reader->name . ": ";
echo $reader->value . "\n";
+ var_dump($reader->moveToAttributeNo(20));
+ var_dump($reader->moveToAttribute('missing-attribute'));
+ var_dump($reader->moveToAttribute(''));
}
}
}
@@ -73,11 +76,16 @@ $reader->close();
unlink($filename);
?>
===DONE===
---EXPECT--
+--EXPECTF--
num: 1
idx: 2
num: 1
idx: 2
num: 1
idx: 2
+bool(false)
+bool(false)
+
+Warning: XMLReader::moveToAttribute(): Attribute Name is required in %s on line %d
+bool(false)
===DONE===
diff --git a/ext/xmlreader/tests/next_basic.phpt b/ext/xmlreader/tests/next_basic.phpt
new file mode 100644
index 0000000000..e0663c23d3
--- /dev/null
+++ b/ext/xmlreader/tests/next_basic.phpt
@@ -0,0 +1,42 @@
+--TEST--
+XMLReader: next basic
+--SKIPIF--
+<?php if (!extension_loaded("xmlreader")) print "skip XMLReader extension required"; ?>
+--FILE--
+<?php
+
+$xml = '<?xml version="1.0" encoding="UTF-8"?><nodes><node1><sub /></node1>
+<node2><sub /></node2><node3><sub /></node3><node4><sub /></node4></nodes>';
+
+$reader = new XMLReader();
+$reader->read();
+$reader->next();
+$reader->close();
+
+$reader->XML($xml);
+$reader->read();
+$reader->read();
+echo $reader->name . PHP_EOL;
+var_dump($reader->next('node3'));
+echo $reader->name . PHP_EOL;
+var_dump($reader->next());
+echo $reader->name . PHP_EOL;
+var_dump($reader->next('node5'));
+echo $reader->name . PHP_EOL;
+var_dump($reader->next());
+echo $reader->name . PHP_EOL;
+$reader->close();
+
+?>
+--EXPECTF--
+Warning: XMLReader::read(): Load Data before trying to read in %s on line %d
+
+Warning: XMLReader::next(): Load Data before trying to read in %s on line %d
+node1
+bool(true)
+node3
+bool(true)
+node4
+bool(false)
+
+bool(false)
diff --git a/ext/xmlreader/tests/open_error.phpt b/ext/xmlreader/tests/open_error.phpt
new file mode 100644
index 0000000000..0199f509b6
--- /dev/null
+++ b/ext/xmlreader/tests/open_error.phpt
@@ -0,0 +1,13 @@
+--TEST--
+XMLReader: open error
+--SKIPIF--
+<?php if (!extension_loaded("xmlreader")) print "skip XMLReader extension required"; ?>
+--FILE--
+<?php
+$reader = new XMLReader();
+var_dump($reader->open(__DIR__.'/missing-file.xml'));
+$reader->close();
+?>
+--EXPECTF--
+Warning: XMLReader::open(): Unable to open source data in %s on line %d
+bool(false)
diff --git a/ext/xmlreader/tests/readString_basic.phpt b/ext/xmlreader/tests/readString_basic.phpt
new file mode 100644
index 0000000000..6f3f51dc02
--- /dev/null
+++ b/ext/xmlreader/tests/readString_basic.phpt
@@ -0,0 +1,16 @@
+--TEST--
+XMLReader: readString basic
+--SKIPIF--
+<?php if (!extension_loaded("xmlreader")) print "skip XMLReader extension required"; ?>
+--FILE--
+<?php
+
+$xml = '<?xml version="1.0" encoding="UTF-8"?><books><book>Book1</book><book>Book2</book></books>';
+
+$reader = new XMLReader();
+$reader->xml($xml);
+$reader->read();
+echo $reader->readString();
+?>
+--EXPECT--
+Book1Book2
diff --git a/ext/xmlreader/tests/schema-empty.xsd b/ext/xmlreader/tests/schema-empty.xsd
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/ext/xmlreader/tests/schema-empty.xsd
diff --git a/ext/xmlreader/tests/setParserProperty_error.phpt b/ext/xmlreader/tests/setParserProperty_error.phpt
new file mode 100644
index 0000000000..755a4e4772
--- /dev/null
+++ b/ext/xmlreader/tests/setParserProperty_error.phpt
@@ -0,0 +1,18 @@
+--TEST--
+XMLReader: setParserProperty Error
+--SKIPIF--
+<?php if (!extension_loaded("xmlreader")) print "skip XMLReader extension required"; ?>
+--FILE--
+<?php
+
+$xml = '<?xml version="1.0" encoding="UTF-8"?><books><book>new book</book></books>';
+
+$invalidProperty = -1;
+$reader = new XMLReader();
+$reader->XML($xml);
+var_dump($reader->setParserProperty(-1, true));
+$reader->close();
+?>
+--EXPECTF--
+Warning: XMLReader::setParserProperty(): Invalid parser property in %s on line %d
+bool(false)
diff --git a/ext/xmlreader/tests/setSchema_error.phpt b/ext/xmlreader/tests/setSchema_error.phpt
new file mode 100644
index 0000000000..31bd4d6e3e
--- /dev/null
+++ b/ext/xmlreader/tests/setSchema_error.phpt
@@ -0,0 +1,29 @@
+--TEST--
+XMLReader: setSchema Error
+--SKIPIF--
+<?php if (!extension_loaded("xmlreader")) print "skip XMLReader extension required"; ?>
+--FILE--
+<?php
+
+$reader = new XMLReader();
+var_dump($reader->setSchema(''));
+$reader->close();
+
+$reader = new XMLReader();
+var_dump($reader->setSchema('schema-missing-file.xsd'));
+$reader->close();
+
+$reader = new XMLReader();
+var_dump($reader->setSchema('schema-empty.xsd'));
+$reader->close();
+?>
+--EXPECTF--
+
+Warning: XMLReader::setSchema(): Schema data source is required in %s on line %d
+bool(false)
+
+Warning: XMLReader::setSchema(): Unable to set schema. This must be set prior to reading or schema contains errors. in %s on line %d
+bool(false)
+
+Warning: XMLReader::setSchema(): Unable to set schema. This must be set prior to reading or schema contains errors. in %s on line %d
+bool(false)