Commit 6ee03f89c34 for php.net
commit 6ee03f89c3417bb53dc8a9de23744c6201f35548
Author: NickSdot <32384907+NickSdot@users.noreply.github.com>
Date: Sat Aug 22 20:08:25 2026 +0700
ext/xmlreader: applied fixers to improve test robustness (#23035)
diff --git a/ext/xmlreader/tests/001.phpt b/ext/xmlreader/tests/001.phpt
index ab84cd0b3a2..50e3aa97f37 100644
--- a/ext/xmlreader/tests/001.phpt
+++ b/ext/xmlreader/tests/001.phpt
@@ -20,12 +20,12 @@
try {
$reader->XML($xmlstring);
-} catch (ValueError $exception) {
- echo $exception->getMessage() . "\n";
+} catch (Throwable $exception) {
+ echo $exception::class, ': ', $exception->getMessage(), "\n";
}
?>
--EXPECT--
books
books
-XMLReader::XML(): Argument #1 ($source) must not be empty
+ValueError: XMLReader::XML(): Argument #1 ($source) must not be empty
diff --git a/ext/xmlreader/tests/002.phpt b/ext/xmlreader/tests/002.phpt
index a0f55a2af3b..5ee80945ddd 100644
--- a/ext/xmlreader/tests/002.phpt
+++ b/ext/xmlreader/tests/002.phpt
@@ -12,8 +12,8 @@
$reader = new XMLReader();
try {
$reader->open('');
-} catch (ValueError $exception) {
- echo $exception->getMessage() . "\n";
+} catch (Throwable $exception) {
+ echo $exception::class, ': ', $exception->getMessage(), "\n";
}
$reader = new XMLReader();
@@ -36,6 +36,6 @@
?>
--EXPECT--
-XMLReader::open(): Argument #1 ($uri) must not be empty
+ValueError: XMLReader::open(): Argument #1 ($uri) must not be empty
books
books
diff --git a/ext/xmlreader/tests/003-get-errors.phpt b/ext/xmlreader/tests/003-get-errors.phpt
index 6cb2f20b8d5..9e5b1c32c7d 100644
--- a/ext/xmlreader/tests/003-get-errors.phpt
+++ b/ext/xmlreader/tests/003-get-errors.phpt
@@ -33,8 +33,8 @@
// Test for call with an empty string argument
try {
$reader->getAttribute('');
- } catch (ValueError $exception) {
- echo $exception->getMessage() . "\n";
+ } catch (Throwable $exception) {
+ echo $exception::class, ': ', $exception->getMessage(), "\n";
}
// Ensure that node pointer has not changed position
@@ -69,7 +69,7 @@
book
bool(true)
num: 1
-XMLReader::getAttribute(): Argument #1 ($name) must not be empty
+ValueError: XMLReader::getAttribute(): Argument #1 ($name) must not 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 be36d252c45..a9ef7ed6701 100644
--- a/ext/xmlreader/tests/003-move-errors.phpt
+++ b/ext/xmlreader/tests/003-move-errors.phpt
@@ -33,8 +33,8 @@
// Test for call with an empty string argument
try {
$reader->moveToAttribute('');
- } catch (ValueError $exception) {
- echo $exception->getMessage() . "\n";
+ } catch (Throwable $exception) {
+ echo $exception::class, ': ', $exception->getMessage(), "\n";
}
// Ensure that node pointer has not changed position
@@ -68,7 +68,7 @@
book
bool(true)
num: 1
-XMLReader::moveToAttribute(): Argument #1 ($name) must not be empty
+ValueError: XMLReader::moveToAttribute(): Argument #1 ($name) must not be empty
num: 1
bool(false)
num: 1
diff --git a/ext/xmlreader/tests/003.phpt b/ext/xmlreader/tests/003.phpt
index a581d0dea02..1ad4c088dd8 100644
--- a/ext/xmlreader/tests/003.phpt
+++ b/ext/xmlreader/tests/003.phpt
@@ -70,8 +70,8 @@
var_dump($reader->moveToAttribute('missing-attribute'));
try {
$reader->moveToAttribute('');
- } catch (ValueError $exception) {
- echo $exception->getMessage() . "\n";
+ } catch (Throwable $exception) {
+ echo $exception::class, ': ', $exception->getMessage(), "\n";
}
}
}
@@ -88,4 +88,4 @@
idx: 2
bool(false)
bool(false)
-XMLReader::moveToAttribute(): Argument #1 ($name) must not be empty
+ValueError: XMLReader::moveToAttribute(): Argument #1 ($name) must not be empty
diff --git a/ext/xmlreader/tests/007.phpt b/ext/xmlreader/tests/007.phpt
index e9705cc5af6..1cc339e0972 100644
--- a/ext/xmlreader/tests/007.phpt
+++ b/ext/xmlreader/tests/007.phpt
@@ -44,8 +44,8 @@
try {
$reader->setRelaxNGSchema('');
-} catch (ValueError $exception) {
- echo $exception->getMessage() . "\n";
+} catch (Throwable $exception) {
+ echo $exception::class, ': ', $exception->getMessage(), "\n";
}
$reader->close();
@@ -53,4 +53,4 @@
--EXPECT--
file relaxNG: ok
string relaxNG: ok
-XMLReader::setRelaxNGSchema(): Argument #1 ($filename) must not be empty
+ValueError: XMLReader::setRelaxNGSchema(): Argument #1 ($filename) must not be empty
diff --git a/ext/xmlreader/tests/014.phpt b/ext/xmlreader/tests/014.phpt
index 26886ae26e6..b28e418ffe7 100644
--- a/ext/xmlreader/tests/014.phpt
+++ b/ext/xmlreader/tests/014.phpt
@@ -26,21 +26,21 @@
// Try to set the value of the element from book1 to movie1
try {
$reader->value = 'movie1';
- } catch (Error $exception) {
- echo $exception->getMessage() . "\n";
+ } catch (Throwable $exception) {
+ echo $exception::class, ': ', $exception->getMessage(), "\n";
}
// Try to set the value of the first "num" attribute from "1" to "num attribute 1"
$attr = $reader->moveToFirstAttribute();
try {
$reader->value = 'num attribute 1';
- } catch (Error $exception) {
- echo $exception->getMessage() . "\n";
+ } catch (Throwable $exception) {
+ echo $exception::class, ': ', $exception->getMessage(), "\n";
}
// Try to set the name of the first attribute from "num" to "number"
try {
$reader->name = 'number';
- } catch (Error $exception) {
- echo $exception->getMessage() . "\n";
+ } catch (Throwable $exception) {
+ echo $exception::class, ': ', $exception->getMessage(), "\n";
}
}
}
@@ -54,6 +54,6 @@
unlink(__DIR__.'/_014.xml');
?>
--EXPECT--
-Cannot modify readonly property XMLReader::$value
-Cannot modify readonly property XMLReader::$value
-Cannot modify readonly property XMLReader::$name
+Error: Cannot modify readonly property XMLReader::$value
+Error: Cannot modify readonly property XMLReader::$value
+Error: Cannot modify readonly property XMLReader::$name
diff --git a/ext/xmlreader/tests/015-get-errors.phpt b/ext/xmlreader/tests/015-get-errors.phpt
index 3cf6134df20..720503909fc 100644
--- a/ext/xmlreader/tests/015-get-errors.phpt
+++ b/ext/xmlreader/tests/015-get-errors.phpt
@@ -28,8 +28,8 @@
// Test for missing namespace argument
try {
$attr = $reader->getAttributeNs('idx', null);
- } catch (ValueError $exception) {
- echo $exception->getMessage() . "\n";
+ } catch (Throwable $exception) {
+ echo $exception::class, ': ', $exception->getMessage(), "\n";
}
echo $reader->name . ": ";
@@ -47,5 +47,5 @@
?>
--EXPECTF--
Deprecated: XMLReader::getAttributeNs(): Passing null to parameter #2 ($namespace) of type string is deprecated in %s on line %d
-XMLReader::getAttributeNs(): Argument #2 ($namespace) must not be empty
+ValueError: XMLReader::getAttributeNs(): Argument #2 ($namespace) must not be empty
ns1:num: 1
diff --git a/ext/xmlreader/tests/015-move-errors.phpt b/ext/xmlreader/tests/015-move-errors.phpt
index d885c5a6fe9..06bb9c2f086 100644
--- a/ext/xmlreader/tests/015-move-errors.phpt
+++ b/ext/xmlreader/tests/015-move-errors.phpt
@@ -26,8 +26,8 @@
// Test for missing namespace argument
try {
$reader->moveToAttributeNs('idx', null);
- } catch (ValueError $exception) {
- echo $exception->getMessage() . "\n";
+ } catch (Throwable $exception) {
+ echo $exception::class, ': ', $exception->getMessage(), "\n";
}
}
}
@@ -42,4 +42,4 @@
?>
--EXPECTF--
Deprecated: XMLReader::moveToAttributeNs(): Passing null to parameter #2 ($namespace) of type string is deprecated in %s on line %d
-XMLReader::moveToAttributeNs(): Argument #2 ($namespace) must not be empty
+ValueError: XMLReader::moveToAttributeNs(): Argument #2 ($namespace) must not be empty
diff --git a/ext/xmlreader/tests/bug73246.phpt b/ext/xmlreader/tests/bug73246.phpt
index f20c1604538..95ba538506a 100644
--- a/ext/xmlreader/tests/bug73246.phpt
+++ b/ext/xmlreader/tests/bug73246.phpt
@@ -7,21 +7,21 @@
$reader = new XMLReader();
try {
$reader->open(__FILE__, "UTF\0-8");
-} catch (ValueError $e) {
- echo $e->getMessage(), "\n";
+} catch (Throwable $e) {
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
try {
$reader->XML('<?xml version="1.0"?><root/>', "UTF\0-8");
-} catch (ValueError $e) {
- echo $e->getMessage(), "\n";
+} catch (Throwable $e) {
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
try {
XMLReader::fromStream(fopen('php://memory', 'r'), encoding: "UTF\0-8");
-} catch (ValueError $e) {
- echo $e->getMessage(), "\n";
+} catch (Throwable $e) {
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
?>
--EXPECT--
-XMLReader::open(): Argument #2 ($encoding) must not contain any null bytes
-XMLReader::XML(): Argument #2 ($encoding) must not contain any null bytes
-XMLReader::fromStream(): Argument #2 ($encoding) must not contain any null bytes
+ValueError: XMLReader::open(): Argument #2 ($encoding) must not contain any null bytes
+ValueError: XMLReader::XML(): Argument #2 ($encoding) must not contain any null bytes
+ValueError: XMLReader::fromStream(): Argument #2 ($encoding) must not contain any null bytes
diff --git a/ext/xmlreader/tests/bug81521.phpt b/ext/xmlreader/tests/bug81521.phpt
index 2789a16e21b..d1547e8d2d2 100644
--- a/ext/xmlreader/tests/bug81521.phpt
+++ b/ext/xmlreader/tests/bug81521.phpt
@@ -7,15 +7,15 @@
$reader = new XMLReader();
try {
var_dump($reader->setParserProperty(XMLReader::LOADDTD, 1));
-} catch (Error $e) {
- echo $e->getMessage(), "\n";
+} catch (Throwable $e) {
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
try {
var_dump($reader->getParserProperty(XMLReader::LOADDTD));
-} catch (Error $e) {
- echo $e->getMessage(), "\n";
+} catch (Throwable $e) {
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
?>
--EXPECT--
-Cannot access parser properties before loading data
-Cannot access parser properties before loading data
+Error: Cannot access parser properties before loading data
+Error: Cannot access parser properties before loading data
diff --git a/ext/xmlreader/tests/expand_error.phpt b/ext/xmlreader/tests/expand_error.phpt
index 1eba483733a..210ee30356a 100644
--- a/ext/xmlreader/tests/expand_error.phpt
+++ b/ext/xmlreader/tests/expand_error.phpt
@@ -17,8 +17,8 @@
try {
$reader->expand();
-} catch (Error $exception) {
- echo $exception->getMessage() . "\n";
+} catch (Throwable $exception) {
+ echo $exception::class, ': ', $exception->getMessage(), "\n";
}
$reader->close();
@@ -29,7 +29,7 @@
$reader->close();
?>
--EXPECTF--
-Data must be loaded before expanding
+Error: Data must be loaded before expanding
Warning: XMLReader::expand(): An Error Occurred while expanding in %s on line %d
bool(false)
diff --git a/ext/xmlreader/tests/fromStream_custom_constructor.phpt b/ext/xmlreader/tests/fromStream_custom_constructor.phpt
index 3ec370274ad..2519c6b3349 100644
--- a/ext/xmlreader/tests/fromStream_custom_constructor.phpt
+++ b/ext/xmlreader/tests/fromStream_custom_constructor.phpt
@@ -20,8 +20,8 @@ public function __construct() {
$reader = CustomXMLReader::fromStream($h, encoding: "UTF-8");
try {
var_dump($reader);
-} catch (Error $e) {
- echo $e->getMessage(), "\n";
+} catch (Throwable $e) {
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
var_dump($reader->read());
var_dump($reader->nodeType);
@@ -60,6 +60,6 @@ public function __construct() {
["xmlLang"]=>
string(0) ""
}
-Failed to read property because no XML data has been read yet
+Error: Failed to read property because no XML data has been read yet
bool(true)
int(1)
diff --git a/ext/xmlreader/tests/fromStream_custom_constructor_error.phpt b/ext/xmlreader/tests/fromStream_custom_constructor_error.phpt
index 60e65fa9211..e5d04efaaee 100644
--- a/ext/xmlreader/tests/fromStream_custom_constructor_error.phpt
+++ b/ext/xmlreader/tests/fromStream_custom_constructor_error.phpt
@@ -17,10 +17,10 @@ public function __construct() {
try {
CustomXMLReader::fromStream($h, encoding: "UTF-8");
} catch (Throwable $e) {
- echo $e->getMessage(), "\n";
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
fclose($h);
?>
--EXPECT--
-nope
+Error: nope
diff --git a/ext/xmlreader/tests/fromString_custom_constructor.phpt b/ext/xmlreader/tests/fromString_custom_constructor.phpt
index 4299544613d..9eddbb3061e 100644
--- a/ext/xmlreader/tests/fromString_custom_constructor.phpt
+++ b/ext/xmlreader/tests/fromString_custom_constructor.phpt
@@ -16,8 +16,8 @@ public function __construct() {
$reader = CustomXMLReader::fromString("<root/>");
try {
var_dump($reader);
-} catch (Error $e) {
- echo $e->getMessage(), "\n";
+} catch (Throwable $e) {
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
var_dump($reader->read());
var_dump($reader->nodeType);
@@ -54,6 +54,6 @@ public function __construct() {
["xmlLang"]=>
string(0) ""
}
-Failed to read property because no XML data has been read yet
+Error: Failed to read property because no XML data has been read yet
bool(true)
int(1)
diff --git a/ext/xmlreader/tests/fromString_custom_constructor_error.phpt b/ext/xmlreader/tests/fromString_custom_constructor_error.phpt
index 9bcffddba70..0db74a84373 100644
--- a/ext/xmlreader/tests/fromString_custom_constructor_error.phpt
+++ b/ext/xmlreader/tests/fromString_custom_constructor_error.phpt
@@ -13,8 +13,8 @@ public function __construct() {
try {
CustomXMLReader::fromString("<root/>");
} catch (Throwable $e) {
- echo $e->getMessage(), "\n";
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
?>
--EXPECT--
-nope
+Error: nope
diff --git a/ext/xmlreader/tests/fromUri_custom_constructor_error.phpt b/ext/xmlreader/tests/fromUri_custom_constructor_error.phpt
index ad36c1e0c22..9aa7ffa02d9 100644
--- a/ext/xmlreader/tests/fromUri_custom_constructor_error.phpt
+++ b/ext/xmlreader/tests/fromUri_custom_constructor_error.phpt
@@ -13,7 +13,7 @@ public function __construct() {
try {
CustomXMLReader::fromUri("nonexistent");
} catch (Throwable $e) {
- echo $e->getMessage(), "\n";
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
$filename = __DIR__ . '/_fromUri_custom_constructor_error.xml';
@@ -24,12 +24,12 @@ public function __construct() {
try {
CustomXMLReader::fromUri($filename);
} catch (Throwable $e) {
- echo $e->getMessage(), "\n";
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
?>
--EXPECT--
-Unable to open source data
-nope
+Error: Unable to open source data
+Error: nope
--CLEAN--
<?php
@unlink(__DIR__ . '/_fromUri_custom_constructor_error.xml');
diff --git a/ext/xmlreader/tests/invalid_encoding.phpt b/ext/xmlreader/tests/invalid_encoding.phpt
index c3918855199..62b681f1007 100644
--- a/ext/xmlreader/tests/invalid_encoding.phpt
+++ b/ext/xmlreader/tests/invalid_encoding.phpt
@@ -7,25 +7,25 @@
$reader = new XMLReader();
try {
$reader->open(__FILE__, "does not exist");
-} catch (ValueError $e) {
- echo $e->getMessage(), "\n";
+} catch (Throwable $e) {
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
$h = fopen("php://memory", "w+");
try {
XMLReader::fromStream($h, encoding: "does not exist");
-} catch (ValueError $e) {
- echo $e->getMessage(), "\n";
+} catch (Throwable $e) {
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
fclose($h);
try {
$reader->XML('<?xml version="1.0"?><root/>', "does not exist");
-} catch (ValueError $e) {
- echo $e->getMessage(), "\n";
+} catch (Throwable $e) {
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
?>
--EXPECT--
-XMLReader::open(): Argument #2 ($encoding) must be a valid character encoding
-XMLReader::fromStream(): Argument #2 ($encoding) must be a valid character encoding
-XMLReader::XML(): Argument #2 ($encoding) must be a valid character encoding
+ValueError: XMLReader::open(): Argument #2 ($encoding) must be a valid character encoding
+ValueError: XMLReader::fromStream(): Argument #2 ($encoding) must be a valid character encoding
+ValueError: XMLReader::XML(): Argument #2 ($encoding) must be a valid character encoding
diff --git a/ext/xmlreader/tests/next_basic.phpt b/ext/xmlreader/tests/next_basic.phpt
index 0cf907bcd4e..891acc9c4fe 100644
--- a/ext/xmlreader/tests/next_basic.phpt
+++ b/ext/xmlreader/tests/next_basic.phpt
@@ -12,14 +12,14 @@
try {
$reader->read();
-} catch (Error $exception) {
- echo $exception->getMessage() . "\n";
+} catch (Throwable $exception) {
+ echo $exception::class, ': ', $exception->getMessage(), "\n";
}
try {
$reader->next();
-} catch (Error $exception) {
- echo $exception->getMessage() . "\n";
+} catch (Throwable $exception) {
+ echo $exception::class, ': ', $exception->getMessage(), "\n";
}
$reader->close();
@@ -40,8 +40,8 @@
?>
--EXPECT--
-Data must be loaded before reading
-Data must be loaded before reading
+Error: Data must be loaded before reading
+Error: Data must be loaded before reading
node1
bool(true)
node3
diff --git a/ext/xmlreader/tests/setParserProperty_error.phpt b/ext/xmlreader/tests/setParserProperty_error.phpt
index 292745751e7..44e26223a44 100644
--- a/ext/xmlreader/tests/setParserProperty_error.phpt
+++ b/ext/xmlreader/tests/setParserProperty_error.phpt
@@ -12,10 +12,10 @@
$reader->XML($xml);
try {
$reader->setParserProperty(-1, true);
-} catch (ValueError $exception) {
- echo $exception->getMessage() . "\n";
+} catch (Throwable $exception) {
+ echo $exception::class, ': ', $exception->getMessage(), "\n";
}
$reader->close();
?>
--EXPECT--
-XMLReader::setParserProperty(): Argument #1 ($property) must be a valid parser property
+ValueError: 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 a586c38f553..10a1f301530 100644
--- a/ext/xmlreader/tests/setSchema_error.phpt
+++ b/ext/xmlreader/tests/setSchema_error.phpt
@@ -8,24 +8,24 @@
$reader = new XMLReader();
try {
$reader->setSchema('');
-} catch (ValueError $exception) {
- echo $exception->getMessage() . "\n";
+} catch (Throwable $exception) {
+ echo $exception::class, ': ', $exception->getMessage(), "\n";
}
$reader->close();
$reader = new XMLReader();
try {
$reader->setSchema('schema-missing-file.xsd');
-} catch (Error $exception) {
- echo $exception->getMessage() . "\n";
+} catch (Throwable $exception) {
+ echo $exception::class, ': ', $exception->getMessage(), "\n";
}
$reader->close();
$reader = new XMLReader();
try {
$reader->setSchema('schema-empty.xsd');
-} catch (Error $exception) {
- echo $exception->getMessage() . "\n";
+} catch (Throwable $exception) {
+ echo $exception::class, ': ', $exception->getMessage(), "\n";
}
$reader = new XMLReader();
@@ -37,7 +37,7 @@
$reader->close();
?>
--EXPECT--
-XMLReader::setSchema(): Argument #1 ($filename) must not be empty
-Schema must be set prior to reading
-Schema must be set prior to reading
+ValueError: XMLReader::setSchema(): Argument #1 ($filename) must not be empty
+Error: Schema must be set prior to reading
+Error: Schema must be set prior to reading
bool(false)
diff --git a/ext/xmlreader/tests/virtual_properties3.phpt b/ext/xmlreader/tests/virtual_properties3.phpt
index ad016c4db76..c4f6ce226eb 100644
--- a/ext/xmlreader/tests/virtual_properties3.phpt
+++ b/ext/xmlreader/tests/virtual_properties3.phpt
@@ -14,32 +14,32 @@ class MyXMLReader extends XMLReader
try {
unset($reader->attributeCount);
-} catch (Error $e) {
- echo $e->getMessage() . "\n";
+} catch (Throwable $e) {
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
try {
unset($reader->baseURI);
-} catch (Error $e) {
- echo $e->getMessage() . "\n";
+} catch (Throwable $e) {
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
try {
unset($reader->depth);
-} catch (Error $e) {
- echo $e->getMessage() . "\n";
+} catch (Throwable $e) {
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
try {
unset($reader->hasAttributes);
-} catch (Error $e) {
- echo $e->getMessage() . "\n";
+} catch (Throwable $e) {
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
try {
unset($reader->hasValue);
-} catch (Error $e) {
- echo $e->getMessage() . "\n";
+} catch (Throwable $e) {
+ echo $e::class, ': ', $e->getMessage(), "\n";
}
unset($reader->x);
@@ -47,9 +47,9 @@ class MyXMLReader extends XMLReader
?>
--EXPECT--
-Cannot unset MyXMLReader::$attributeCount
-Cannot unset MyXMLReader::$baseURI
-Cannot unset MyXMLReader::$depth
-Cannot unset MyXMLReader::$hasAttributes
-Cannot unset MyXMLReader::$hasValue
+Error: Cannot unset MyXMLReader::$attributeCount
+Error: Cannot unset MyXMLReader::$baseURI
+Error: Cannot unset MyXMLReader::$depth
+Error: Cannot unset MyXMLReader::$hasAttributes
+Error: Cannot unset MyXMLReader::$hasValue
bool(false)