summaryrefslogtreecommitdiff
path: root/ext/xmlreader/tests/015-move-errors.phpt
diff options
context:
space:
mode:
authorPeter Kokot <peterkokot@gmail.com>2019-02-17 19:24:02 +0100
committerPeter Kokot <peterkokot@gmail.com>2019-02-17 19:24:02 +0100
commitbb7e88e9f1c47897ec33ee1fffd945b154092858 (patch)
tree9394892030ca5bbde45d2780cced9b62430f2a02 /ext/xmlreader/tests/015-move-errors.phpt
parent46a0044518e778ec1c2d0afb525fd36872553327 (diff)
parent40a26587e8714291f19ca16cc6c42bbb0b1ae767 (diff)
downloadphp-git-bb7e88e9f1c47897ec33ee1fffd945b154092858.tar.gz
Merge branch 'PHP-7.4'
* PHP-7.4: Range of new tests for xmlreader functionality and exceptions/errors
Diffstat (limited to 'ext/xmlreader/tests/015-move-errors.phpt')
-rw-r--r--ext/xmlreader/tests/015-move-errors.phpt42
1 files changed, 42 insertions, 0 deletions
diff --git a/ext/xmlreader/tests/015-move-errors.phpt b/ext/xmlreader/tests/015-move-errors.phpt
new file mode 100644
index 0000000000..b54a243070
--- /dev/null
+++ b/ext/xmlreader/tests/015-move-errors.phpt
@@ -0,0 +1,42 @@
+--TEST--
+XMLReader: libxml2 XML Reader, Move cursor to a named attribute within a namespace, with invalid arguments
+--CREDITS--
+Mark Baker mark@lange.demon.co.uk at the PHPNW2017 Conference for PHP Testfest 2017
+--SKIPIF--
+<?php if (!extension_loaded("xmlreader")) print "skip"; ?>
+--FILE--
+<?php
+// Set up test data in a new file
+$xmlstring = '<?xml version="1.0" encoding="UTF-8"?>
+<books xmlns:ns1="http://www.ns1.namespace.org/" xmlns:ns2="http://www.ns2.namespace.org/"><book ns1:num="1" ns2:idx="2" ns1:idx="3" ns2:isbn="4">book1</book></books>';
+$filename = dirname(__FILE__) . '/_014.xml';
+file_put_contents($filename, $xmlstring);
+
+// Load test data into a new XML Reader
+$reader = new XMLReader();
+if (!$reader->open($filename)) {
+ exit('XML could not be read');
+}
+
+// Parse the data
+while ($reader->read()) {
+ if ($reader->nodeType != XMLREADER::END_ELEMENT) {
+ // Find the book node
+ if ($reader->nodeType == XMLREADER::ELEMENT && $reader->name == 'book') {
+ // Test for missing namespace argument
+ $attr = $reader->moveToAttributeNs('idx', null);
+ }
+ }
+}
+
+// clean up
+$reader->close();
+?>
+===DONE===
+--CLEAN--
+<?php
+unlink(__DIR__.'/_014.xml');
+?>
+--EXPECTF--
+Warning: XMLReader::moveToAttributeNs(): Attribute Name and Namespace URI cannot be empty in %s on line %d
+===DONE===