diff options
| author | Máté Kocsis <kocsismate@woohoolabs.com> | 2020-08-19 22:35:22 +0200 |
|---|---|---|
| committer | Máté Kocsis <kocsismate@woohoolabs.com> | 2020-08-25 11:54:45 +0200 |
| commit | f068fbcf1fe1faa89827630131536f68af1a28b2 (patch) | |
| tree | a5cd83af3390d298492b623638bdbfdc023a9a84 /ext/xmlreader/tests | |
| parent | f4e9d0e32508249aca195b177c943d63c420666f (diff) | |
| download | php-git-f068fbcf1fe1faa89827630131536f68af1a28b2.tar.gz | |
Promote warnings to exceptions in ext/xmlreader
Closes GH-6021
Diffstat (limited to 'ext/xmlreader/tests')
| -rw-r--r-- | ext/xmlreader/tests/001.phpt | 13 | ||||
| -rw-r--r-- | ext/xmlreader/tests/002.phpt | 10 | ||||
| -rw-r--r-- | ext/xmlreader/tests/003-get-errors.phpt | 14 | ||||
| -rw-r--r-- | ext/xmlreader/tests/003-move-errors.phpt | 14 | ||||
| -rw-r--r-- | ext/xmlreader/tests/003.phpt | 12 | ||||
| -rw-r--r-- | ext/xmlreader/tests/007.phpt | 12 | ||||
| -rw-r--r-- | ext/xmlreader/tests/014.phpt | 28 | ||||
| -rw-r--r-- | ext/xmlreader/tests/015-get-errors.phpt | 13 | ||||
| -rw-r--r-- | ext/xmlreader/tests/015-move-errors.phpt | 10 | ||||
| -rw-r--r-- | ext/xmlreader/tests/expand_error.phpt | 13 | ||||
| -rw-r--r-- | ext/xmlreader/tests/next_basic.phpt | 22 | ||||
| -rw-r--r-- | ext/xmlreader/tests/schema-bad.xsd | 1 | ||||
| -rw-r--r-- | ext/xmlreader/tests/setParserProperty_error.phpt | 11 | ||||
| -rw-r--r-- | ext/xmlreader/tests/setSchema_error.phpt | 38 |
14 files changed, 139 insertions, 72 deletions
diff --git a/ext/xmlreader/tests/001.phpt b/ext/xmlreader/tests/001.phpt index c10c1a5163..cf25586055 100644 --- a/ext/xmlreader/tests/001.phpt +++ b/ext/xmlreader/tests/001.phpt @@ -17,10 +17,15 @@ while ($reader->read()) { } $xmlstring = ''; $reader = new XMLReader(); -$reader->XML($xmlstring); + +try { + $reader->XML($xmlstring); +} catch (ValueError $exception) { + echo $exception->getMessage() . "\n"; +} + ?> ---EXPECTF-- +--EXPECT-- books books - -Warning: XMLReader::XML(): Empty string supplied as input in %s on line %d +XMLReader::XML(): Argument #1 ($source) cannot be empty diff --git a/ext/xmlreader/tests/002.phpt b/ext/xmlreader/tests/002.phpt index 6d12f02204..803c8c7243 100644 --- a/ext/xmlreader/tests/002.phpt +++ b/ext/xmlreader/tests/002.phpt @@ -10,7 +10,11 @@ $xmlstring = '<?xml version="1.0" encoding="UTF-8"?> file_put_contents($filename, $xmlstring); $reader = new XMLReader(); -if ($reader->open('')) exit(); +try { + $reader->open(''); +} catch (ValueError $exception) { + echo $exception->getMessage() . "\n"; +} $reader = new XMLReader(); if (!$reader->open($filename)) { @@ -31,7 +35,7 @@ $reader->close(); unlink($filename); ?> ---EXPECTF-- -Warning: XMLReader::open(): Empty string supplied as input in %s on line %d +--EXPECT-- +XMLReader::open(): Argument #1 ($URI) cannot be empty books books diff --git a/ext/xmlreader/tests/003-get-errors.phpt b/ext/xmlreader/tests/003-get-errors.phpt index a10529118f..e616bbc63c 100644 --- a/ext/xmlreader/tests/003-get-errors.phpt +++ b/ext/xmlreader/tests/003-get-errors.phpt @@ -31,8 +31,12 @@ while ($reader->read()) { echo $reader->value . "\n"; // Test for call with an empty string argument - $attr = $reader->getAttribute(''); - var_dump($attr); + try { + $reader->getAttribute(''); + } catch (ValueError $exception) { + echo $exception->getMessage() . "\n"; + } + // Ensure that node pointer has not changed position echo $reader->name . ": "; echo $reader->value . "\n"; @@ -61,13 +65,11 @@ $reader->close(); <?php unlink(__DIR__.'/003-get-errors.xml'); ?> ---EXPECTF-- +--EXPECT-- book bool(true) num: 1 - -Warning: XMLReader::getAttribute(): Argument cannot be an empty string in %s on line %d -bool(false) +XMLReader::getAttribute(): Argument #1 ($name) cannot be empty num: 1 NULL num: 1 diff --git a/ext/xmlreader/tests/003-move-errors.phpt b/ext/xmlreader/tests/003-move-errors.phpt index a00dbaf524..24431b6a7e 100644 --- a/ext/xmlreader/tests/003-move-errors.phpt +++ b/ext/xmlreader/tests/003-move-errors.phpt @@ -31,8 +31,12 @@ while ($reader->read()) { echo $reader->value . "\n"; // Test for call with an empty string argument - $attr = $reader->moveToAttribute(''); - var_dump($attr); + try { + $reader->moveToAttribute(''); + } catch (ValueError $exception) { + echo $exception->getMessage() . "\n"; + } + // Ensure that node pointer has not changed position echo $reader->name . ": "; echo $reader->value . "\n"; @@ -60,13 +64,11 @@ $reader->close(); <?php unlink(__DIR__.'/003-move-errors.xml'); ?> ---EXPECTF-- +--EXPECT-- book bool(true) num: 1 - -Warning: XMLReader::moveToAttribute(): Attribute Name is required in %s on line %d -bool(false) +XMLReader::moveToAttribute(): Argument #1 ($name) cannot be empty num: 1 bool(false) num: 1 diff --git a/ext/xmlreader/tests/003.phpt b/ext/xmlreader/tests/003.phpt index c52c932c97..9ecf9d62da 100644 --- a/ext/xmlreader/tests/003.phpt +++ b/ext/xmlreader/tests/003.phpt @@ -68,14 +68,18 @@ while ($reader->read()) { var_dump($reader->moveToAttributeNo(20)); var_dump($reader->moveToAttribute('missing-attribute')); - var_dump($reader->moveToAttribute('')); + try { + $reader->moveToAttribute(''); + } catch (ValueError $exception) { + echo $exception->getMessage() . "\n"; + } } } } $reader->close(); unlink($filename); ?> ---EXPECTF-- +--EXPECT-- num: 1 idx: 2 num: 1 @@ -84,6 +88,4 @@ num: 1 idx: 2 bool(false) bool(false) - -Warning: XMLReader::moveToAttribute(): Attribute Name is required in %s on line %d -bool(false) +XMLReader::moveToAttribute(): Argument #1 ($name) cannot be empty diff --git a/ext/xmlreader/tests/007.phpt b/ext/xmlreader/tests/007.phpt index 796b9fa05c..6b8cab43f0 100644 --- a/ext/xmlreader/tests/007.phpt +++ b/ext/xmlreader/tests/007.phpt @@ -42,13 +42,15 @@ $reader->close(); $reader = new XMLReader(); $reader->XML($xmlstring); -if ($reader->setRelaxNGSchema('')) { - echo 'failed'; +try { + $reader->setRelaxNGSchema(''); +} catch (ValueError $exception) { + echo $exception->getMessage() . "\n"; } + $reader->close(); ?> ---EXPECTF-- +--EXPECT-- file relaxNG: ok string relaxNG: ok - -Warning: XMLReader::setRelaxNGSchema(): Schema data source is required in %s on line %d +XMLReader::setRelaxNGSchema(): Argument #1 ($filename) cannot be empty diff --git a/ext/xmlreader/tests/014.phpt b/ext/xmlreader/tests/014.phpt index fca94d2b1f..67c0e9fb93 100644 --- a/ext/xmlreader/tests/014.phpt +++ b/ext/xmlreader/tests/014.phpt @@ -24,12 +24,24 @@ while ($reader->read()) { // Find a node to try modifying if ($reader->nodeType == XMLREADER::ELEMENT && $reader->name == 'book') { // Try to set the value of the element from book1 to movie1 - $reader->value = 'movie1'; + try { + $reader->value = 'movie1'; + } catch (Error $exception) { + echo $exception->getMessage() . "\n"; + } // Try to set the value of the first "num" attribute from "1" to "num attribute 1" $attr = $reader->moveToFirstAttribute(); - $reader->value = 'num attribute 1'; + try { + $reader->value = 'num attribute 1'; + } catch (Error $exception) { + echo $exception->getMessage() . "\n"; + } // Try to set the name of the first attribute from "num" to "number" - $reader->name = 'number'; + try { + $reader->name = 'number'; + } catch (Error $exception) { + echo $exception->getMessage() . "\n"; + } } } } @@ -41,9 +53,7 @@ $reader->close(); <?php unlink(__DIR__.'/_014.xml'); ?> ---EXPECTF-- -Warning: main(): Cannot write to read-only property in %s on line %d - -Warning: main(): Cannot write to read-only property in %s on line %d - -Warning: main(): Cannot write to read-only property in %s on line %d +--EXPECT-- +Cannot write to read-only property +Cannot write to read-only property +Cannot write to read-only property diff --git a/ext/xmlreader/tests/015-get-errors.phpt b/ext/xmlreader/tests/015-get-errors.phpt index 5f17326b1b..850d042a4b 100644 --- a/ext/xmlreader/tests/015-get-errors.phpt +++ b/ext/xmlreader/tests/015-get-errors.phpt @@ -26,8 +26,12 @@ while ($reader->read()) { $attr = $reader->moveToNextAttribute(); // Test for missing namespace argument - $attr = $reader->getAttributeNs('idx', null); - var_dump($attr); + try { + $attr = $reader->getAttributeNs('idx', null); + } catch (ValueError $exception) { + echo $exception->getMessage() . "\n"; + } + echo $reader->name . ": "; echo $reader->value . "\n"; } @@ -41,7 +45,6 @@ $reader->close(); <?php unlink(__DIR__.'/015-get-errors.xml'); ?> ---EXPECTF-- -Warning: XMLReader::getAttributeNs(): Attribute Name and Namespace URI cannot be empty in %s on line %d -bool(false) +--EXPECT-- +XMLReader::getAttributeNs(): Argument #2 ($namespaceURI) cannot be empty ns1:num: 1 diff --git a/ext/xmlreader/tests/015-move-errors.phpt b/ext/xmlreader/tests/015-move-errors.phpt index 5263b555b6..2b5580d7ea 100644 --- a/ext/xmlreader/tests/015-move-errors.phpt +++ b/ext/xmlreader/tests/015-move-errors.phpt @@ -24,7 +24,11 @@ while ($reader->read()) { // Find the book node if ($reader->nodeType == XMLREADER::ELEMENT && $reader->name == 'book') { // Test for missing namespace argument - $attr = $reader->moveToAttributeNs('idx', null); + try { + $reader->moveToAttributeNs('idx', null); + } catch (ValueError $exception) { + echo $exception->getMessage() . "\n"; + } } } } @@ -36,5 +40,5 @@ $reader->close(); <?php unlink(__DIR__.'/015-move-errors.xml'); ?> ---EXPECTF-- -Warning: XMLReader::moveToAttributeNs(): Attribute Name and Namespace URI cannot be empty in %s on line %d +--EXPECT-- +XMLReader::moveToAttributeNs(): Argument #2 ($namespaceURI) cannot be empty diff --git a/ext/xmlreader/tests/expand_error.phpt b/ext/xmlreader/tests/expand_error.phpt index 2813e836d9..59ab0365b6 100644 --- a/ext/xmlreader/tests/expand_error.phpt +++ b/ext/xmlreader/tests/expand_error.phpt @@ -13,7 +13,13 @@ $xmlstring = '<?xml version="1.0" encoding="UTF-8"?> <books><book>new book</book></books>'; $reader = new XMLReader(); -var_dump($reader->expand()); + +try { + $reader->expand(); +} catch (Error $exception) { + echo $exception->getMessage() . "\n"; +} + $reader->close(); $reader = new XMLReader(); @@ -22,8 +28,7 @@ var_dump($reader->expand()); $reader->close(); ?> --EXPECTF-- -Warning: XMLReader::expand(): Load Data before trying to expand in %s on line %d -bool(false) +Data must be loaded before expanding -Warning: XMLReader::expand(): An Error Occurred while expanding in %s on line %d +Warning: XMLReader::expand(): An Error Occurred while expanding in %s on line %d bool(false) diff --git a/ext/xmlreader/tests/next_basic.phpt b/ext/xmlreader/tests/next_basic.phpt index e0663c23d3..70d540c2c2 100644 --- a/ext/xmlreader/tests/next_basic.phpt +++ b/ext/xmlreader/tests/next_basic.phpt @@ -9,8 +9,19 @@ $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(); + +try { + $reader->read(); +} catch (Error $exception) { + echo $exception->getMessage() . "\n"; +} + +try { + $reader->next(); +} catch (Error $exception) { + echo $exception->getMessage() . "\n"; +} + $reader->close(); $reader->XML($xml); @@ -28,10 +39,9 @@ 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 +--EXPECT-- +Data must be loaded before reading +Data must be loaded before reading node1 bool(true) node3 diff --git a/ext/xmlreader/tests/schema-bad.xsd b/ext/xmlreader/tests/schema-bad.xsd new file mode 100644 index 0000000000..d72af31460 --- /dev/null +++ b/ext/xmlreader/tests/schema-bad.xsd @@ -0,0 +1 @@ +asd diff --git a/ext/xmlreader/tests/setParserProperty_error.phpt b/ext/xmlreader/tests/setParserProperty_error.phpt index 755a4e4772..9bdb0baa03 100644 --- a/ext/xmlreader/tests/setParserProperty_error.phpt +++ b/ext/xmlreader/tests/setParserProperty_error.phpt @@ -10,9 +10,12 @@ $xml = '<?xml version="1.0" encoding="UTF-8"?><books><book>new book</book></book $invalidProperty = -1; $reader = new XMLReader(); $reader->XML($xml); -var_dump($reader->setParserProperty(-1, true)); +try { + $reader->setParserProperty(-1, true); +} catch (ValueError $exception) { + echo $exception->getMessage() . "\n"; +} $reader->close(); ?> ---EXPECTF-- -Warning: XMLReader::setParserProperty(): Invalid parser property in %s on line %d -bool(false) +--EXPECT-- +XMLReader::setParserProperty(): Argument #1 ($property) must be a valid parser property diff --git a/ext/xmlreader/tests/setSchema_error.phpt b/ext/xmlreader/tests/setSchema_error.phpt index 31bd4d6e3e..2984455de8 100644 --- a/ext/xmlreader/tests/setSchema_error.phpt +++ b/ext/xmlreader/tests/setSchema_error.phpt @@ -6,24 +6,38 @@ XMLReader: setSchema Error <?php $reader = new XMLReader(); -var_dump($reader->setSchema('')); +try { + $reader->setSchema(''); +} catch (ValueError $exception) { + echo $exception->getMessage() . "\n"; +} $reader->close(); $reader = new XMLReader(); -var_dump($reader->setSchema('schema-missing-file.xsd')); +try { + $reader->setSchema('schema-missing-file.xsd'); +} catch (Error $exception) { + echo $exception->getMessage() . "\n"; +} $reader->close(); $reader = new XMLReader(); -var_dump($reader->setSchema('schema-empty.xsd')); +try { + $reader->setSchema('schema-empty.xsd'); +} catch (Error $exception) { + echo $exception->getMessage() . "\n"; +} + +$reader = new XMLReader(); +$reader->XML(<<<EOF +<?xml version="1.0" encoding="UTF-8" ?> +<foo/> +EOF); +var_dump(@$reader->setSchema('schema-bad.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 +--EXPECT-- +XMLReader::setSchema(): Argument #1 ($filename) cannot be empty +Schema must be set prior to reading +Schema must be set prior to reading bool(false) |
