com php-src: Add tests to XMLReader: ext/xmlreader/tests/003.phpt ext/xmlreader/tests/next_basic.phpt ext/xmlreader/tests/o pen_error.phpt
ext/xmlreader/tests/readString_basic.p hpt ext/xmlreader/tests/schema-empty.xsd ext/xmlreader/te sts/setParserProperty_error.phpt
ext/xmlreader/tests/setS chema_error.phpt
| From: | Peter Kokot | Date: | Thu, 14 Mar 2019 23:12:13 +0000 |
| Subject: | com php-src: Add tests to XMLReader: ext/xmlreader/tests/003.phpt ext/xmlreader/tests/next_basic.phpt ext/xmlreader/tests/o pen_error.phpt ext/xmlreader/tests/readString_basic.p hpt ext/xmlreader/tests/schema-empty.xsd ext/xmlreader/te sts/setParserProperty_error.phpt ext/xmlreader/tests/setS chema_error.phpt |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-105151@lists.php.net to get a copy of this message | ||
Commit: 4cfa01bfb8c95b094e104a70e877cfe5aae04104
Author: Thiago Carvalho <thiago.oak@gmail.com> Thu, 12 Oct 2017 08:41:21 +0200
Committer: Peter Kokot <peterkokot@gmail.com> Fri, 15 Mar 2019 00:12:13 +0100
Parents: 97d25c87d2f875426aa27495896f419412de7ab2
Branches: PHP-7.4 master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=4cfa01bfb8c95b094e104a70e877cfe5aae04104
Log:
Add tests to XMLReader
Changed paths:
M ext/xmlreader/tests/003.phpt
A ext/xmlreader/tests/next_basic.phpt
A ext/xmlreader/tests/open_error.phpt
A ext/xmlreader/tests/readString_basic.phpt
A ext/xmlreader/tests/schema-empty.xsd
A ext/xmlreader/tests/setParserProperty_error.phpt
A ext/xmlreader/tests/setSchema_error.phpt
Diff:
diff --git a/ext/xmlreader/tests/003.phpt b/ext/xmlreader/tests/003.phpt
index 3dc8caf..ac9e731 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 0000000..e0663c2
--- /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 0000000..0199f50
--- /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 0000000..6f3f51d
--- /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 0000000..e69de29
diff --git a/ext/xmlreader/tests/setParserProperty_error.phpt
b/ext/xmlreader/tests/setParserProperty_error.phpt
new file mode 100644
index 0000000..755a4e4
--- /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 0000000..31bd4d6
--- /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)