]> granicus.if.org Git - php/commitdiff
Add test for bug #73816
authorNikita Popov <nikita.ppv@gmail.com>
Fri, 3 Jan 2020 10:26:31 +0000 (11:26 +0100)
committerNikita Popov <nikita.ppv@gmail.com>
Fri, 3 Jan 2020 10:26:31 +0000 (11:26 +0100)
This has been fixed by 0f2cdbf214efd98b4bdaf5ca41728faf00e7c037,
add the test case.

Zend/tests/bug73816.phpt [new file with mode: 0644]

diff --git a/Zend/tests/bug73816.phpt b/Zend/tests/bug73816.phpt
new file mode 100644 (file)
index 0000000..aea392b
--- /dev/null
@@ -0,0 +1,24 @@
+--TEST--
+Bug #73816: Broken eval(anonymous class)
+--FILE--
+<?php
+
+function anon()
+{
+    static $i = 0;
+    return eval(sprintf('return new class { private $prop%s; };', ++$i));
+}
+
+var_dump(anon());
+var_dump(anon());
+
+?>
+--EXPECT--
+object(class@anonymous)#1 (1) {
+  ["prop1":"class@anonymous":private]=>
+  NULL
+}
+object(class@anonymous)#1 (1) {
+  ["prop2":"class@anonymous":private]=>
+  NULL
+}