diff options
| author | Thiago Carvalho <thiago.oak@gmail.com> | 2017-10-12 08:41:21 +0200 |
|---|---|---|
| committer | Peter Kokot <peterkokot@gmail.com> | 2019-03-15 00:12:13 +0100 |
| commit | 4cfa01bfb8c95b094e104a70e877cfe5aae04104 (patch) | |
| tree | a6e5565e629a9c0aaf704953975e31e46ea2de08 | |
| parent | 97d25c87d2f875426aa27495896f419412de7ab2 (diff) | |
| download | php-git-4cfa01bfb8c95b094e104a70e877cfe5aae04104.tar.gz | |
Add tests to XMLReader
| -rw-r--r-- | ext/xmlreader/tests/003.phpt | 10 | ||||
| -rw-r--r-- | ext/xmlreader/tests/next_basic.phpt | 42 | ||||
| -rw-r--r-- | ext/xmlreader/tests/open_error.phpt | 13 | ||||
| -rw-r--r-- | ext/xmlreader/tests/readString_basic.phpt | 16 | ||||
| -rw-r--r-- | ext/xmlreader/tests/schema-empty.xsd | 0 | ||||
| -rw-r--r-- | ext/xmlreader/tests/setParserProperty_error.phpt | 18 | ||||
| -rw-r--r-- | ext/xmlreader/tests/setSchema_error.phpt | 29 |
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) |
