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: 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)

« previous php.cvs (#105151) next »