summaryrefslogtreecommitdiff
path: root/Zend/tests/ctor_promotion_defaults.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'Zend/tests/ctor_promotion_defaults.phpt')
-rw-r--r--Zend/tests/ctor_promotion_defaults.phpt43
1 files changed, 43 insertions, 0 deletions
diff --git a/Zend/tests/ctor_promotion_defaults.phpt b/Zend/tests/ctor_promotion_defaults.phpt
new file mode 100644
index 0000000000..9999e8a539
--- /dev/null
+++ b/Zend/tests/ctor_promotion_defaults.phpt
@@ -0,0 +1,43 @@
+--TEST--
+Constructor promotion with default values
+--FILE--
+<?php
+
+class Point {
+ public function __construct(
+ public float $x = 0.0,
+ public float $y = 1.0,
+ public float $z = 2.0
+ ) {}
+}
+
+var_dump(new Point(10.0));
+var_dump(new Point(10.0, 11.0));
+var_dump(new Point(10.0, 11.0, 12.0));
+
+?>
+--EXPECT--
+object(Point)#1 (3) {
+ ["x"]=>
+ float(10)
+ ["y"]=>
+ float(1)
+ ["z"]=>
+ float(2)
+}
+object(Point)#1 (3) {
+ ["x"]=>
+ float(10)
+ ["y"]=>
+ float(11)
+ ["z"]=>
+ float(2)
+}
+object(Point)#1 (3) {
+ ["x"]=>
+ float(10)
+ ["y"]=>
+ float(11)
+ ["z"]=>
+ float(12)
+}