summaryrefslogtreecommitdiff
path: root/ext/reflection/tests
diff options
context:
space:
mode:
Diffstat (limited to 'ext/reflection/tests')
-rw-r--r--ext/reflection/tests/ReflectionFunction_isVariadic_basic.phpt18
-rw-r--r--ext/reflection/tests/ReflectionParameter_canBePassedByValue.phpt4
-rw-r--r--ext/reflection/tests/ReflectionParameter_isVariadic_basic.phpt24
-rw-r--r--ext/reflection/tests/ReflectionParameter_toString_basic.phpt3
4 files changed, 48 insertions, 1 deletions
diff --git a/ext/reflection/tests/ReflectionFunction_isVariadic_basic.phpt b/ext/reflection/tests/ReflectionFunction_isVariadic_basic.phpt
new file mode 100644
index 0000000000..50b6bb495e
--- /dev/null
+++ b/ext/reflection/tests/ReflectionFunction_isVariadic_basic.phpt
@@ -0,0 +1,18 @@
+--TEST--
+ReflectionFunction::isVariadic()
+--FILE--
+<?php
+
+function test1($args) {}
+function test2(...$args) {}
+function test3($arg, ...$args) {}
+
+var_dump((new ReflectionFunction('test1'))->isVariadic());
+var_dump((new ReflectionFunction('test2'))->isVariadic());
+var_dump((new ReflectionFunction('test3'))->isVariadic());
+
+?>
+--EXPECT--
+bool(false)
+bool(true)
+bool(true)
diff --git a/ext/reflection/tests/ReflectionParameter_canBePassedByValue.phpt b/ext/reflection/tests/ReflectionParameter_canBePassedByValue.phpt
index 82c6200122..4772f6548d 100644
--- a/ext/reflection/tests/ReflectionParameter_canBePassedByValue.phpt
+++ b/ext/reflection/tests/ReflectionParameter_canBePassedByValue.phpt
@@ -61,6 +61,10 @@ Name: SORT_REGULAR_or_SORT_NUMERIC_or_SORT_STRING
Is passed by reference: yes
Can be passed by value: yes
+Name: more_array_and_sort_options
+Is passed by reference: yes
+Can be passed by value: yes
+
=> sort:
Name: arg
diff --git a/ext/reflection/tests/ReflectionParameter_isVariadic_basic.phpt b/ext/reflection/tests/ReflectionParameter_isVariadic_basic.phpt
new file mode 100644
index 0000000000..370edc388d
--- /dev/null
+++ b/ext/reflection/tests/ReflectionParameter_isVariadic_basic.phpt
@@ -0,0 +1,24 @@
+--TEST--
+ReflectionParameter::isVariadic()
+--FILE--
+<?php
+
+function test1($args) {}
+function test2(...$args) {}
+function test3($arg, ...$args) {}
+
+$r1 = new ReflectionFunction('test1');
+$r2 = new ReflectionFunction('test2');
+$r3 = new ReflectionFunction('test3');
+
+var_dump($r1->getParameters()[0]->isVariadic());
+var_dump($r2->getParameters()[0]->isVariadic());
+var_dump($r3->getParameters()[0]->isVariadic());
+var_dump($r3->getParameters()[1]->isVariadic());
+
+?>
+--EXPECT--
+bool(false)
+bool(true)
+bool(false)
+bool(true)
diff --git a/ext/reflection/tests/ReflectionParameter_toString_basic.phpt b/ext/reflection/tests/ReflectionParameter_toString_basic.phpt
index 268ced15ec..d1a23c758d 100644
--- a/ext/reflection/tests/ReflectionParameter_toString_basic.phpt
+++ b/ext/reflection/tests/ReflectionParameter_toString_basic.phpt
@@ -4,7 +4,7 @@ ReflectionParameter::__toString()
Stefan Koopmanschap <stefan@stefankoopmanschap.nl>
--FILE--
<?php
-function ReflectionParameterTest($test, $test2 = null) {
+function ReflectionParameterTest($test, $test2 = null, ...$test3) {
echo $test;
}
$reflect = new ReflectionFunction('ReflectionParameterTest');
@@ -17,4 +17,5 @@ foreach($params as $key => $value) {
--EXPECT--
Parameter #0 [ <required> $test ]
Parameter #1 [ <optional> $test2 = NULL ]
+Parameter #2 [ <optional> ...$test3 ]
==DONE==