diff options
-rw-r--r-- | ext/dom/node.c | 2 | ||||
-rw-r--r-- | ext/dom/tests/bug74416.phpt | 21 |
2 files changed, 22 insertions, 1 deletions
diff --git a/ext/dom/node.c b/ext/dom/node.c index c3a7819251..0f8b759b0e 100644 --- a/ext/dom/node.c +++ b/ext/dom/node.c @@ -49,7 +49,7 @@ ZEND_END_ARG_INFO(); ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_has_child_nodes, 0, 0, 0) ZEND_END_ARG_INFO(); -ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_clone_node, 0, 0, 1) +ZEND_BEGIN_ARG_INFO_EX(arginfo_dom_node_clone_node, 0, 0, 0) ZEND_ARG_INFO(0, deep) ZEND_END_ARG_INFO(); diff --git a/ext/dom/tests/bug74416.phpt b/ext/dom/tests/bug74416.phpt new file mode 100644 index 0000000000..d441c0a7ab --- /dev/null +++ b/ext/dom/tests/bug74416.phpt @@ -0,0 +1,21 @@ +--TEST-- +Bug #74416 Wrong reflection on DOMNode::cloneNode +--SKIPIF-- +<?php +require_once('skipif.inc'); +if (!extension_loaded('reflection')) die('skip reflection extension not available'); +?> +--FILE-- +<?php +$rm = new ReflectionMethod(DOMNode::class, "cloneNode"); +printf("%d\n%d\n", $rm->getNumberOfParameters(), $rm->getNumberOfRequiredParameters()); +foreach ($rm->getParameters() as $param) { + printf("Parameter #%d %s OPTIONAL\n", $param->getPosition(), $param->isOptional() ? "IS" : "IS NOT"); +} +?> +===DONE=== +--EXPECT-- +1 +0 +Parameter #0 IS OPTIONAL +===DONE=== |