summaryrefslogtreecommitdiff
path: root/ext/xmlreader/tests
diff options
context:
space:
mode:
authorMáté Kocsis <kocsismate@woohoolabs.com>2020-08-19 22:35:22 +0200
committerMáté Kocsis <kocsismate@woohoolabs.com>2020-08-25 11:54:45 +0200
commitf068fbcf1fe1faa89827630131536f68af1a28b2 (patch)
treea5cd83af3390d298492b623638bdbfdc023a9a84 /ext/xmlreader/tests
parentf4e9d0e32508249aca195b177c943d63c420666f (diff)
downloadphp-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.phpt13
-rw-r--r--ext/xmlreader/tests/002.phpt10
-rw-r--r--ext/xmlreader/tests/003-get-errors.phpt14
-rw-r--r--ext/xmlreader/tests/003-move-errors.phpt14
-rw-r--r--ext/xmlreader/tests/003.phpt12
-rw-r--r--ext/xmlreader/tests/007.phpt12
-rw-r--r--ext/xmlreader/tests/014.phpt28
-rw-r--r--ext/xmlreader/tests/015-get-errors.phpt13
-rw-r--r--ext/xmlreader/tests/015-move-errors.phpt10
-rw-r--r--ext/xmlreader/tests/expand_error.phpt13
-rw-r--r--ext/xmlreader/tests/next_basic.phpt22
-rw-r--r--ext/xmlreader/tests/schema-bad.xsd1
-rw-r--r--ext/xmlreader/tests/setParserProperty_error.phpt11
-rw-r--r--ext/xmlreader/tests/setSchema_error.phpt38
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)