Files
mongo-php-driver/tests/bson/bson-javascript-get_properties-001.phpt
Jeremy Mikola 37b8eaffd3 PHPC-1092: Don't reset hash on successive get_properties calls
This removes a call to zend_hash_clean() on successive calls to a BSON object's get_properties handler, which can lead to an infinite loop when iterating the object's properties with foreach on PHP 7.x.

For historical reference, the original call to zend_hash_clean() was introduced in ad1f3f049f for #607 (PHPC-939).
2018-01-08 22:03:39 -05:00

35 lines
622 B
PHP

--TEST--
MongoDB\BSON\Javascript get_properties handler (get_object_vars)
--FILE--
<?php
$tests = [
new MongoDB\BSON\Javascript('function foo(bar) { return bar; }'),
new MongoDB\BSON\Javascript('function foo() { return bar; }', ['bar' => 42]),
];
foreach ($tests as $test) {
var_dump(get_object_vars($test));
}
?>
===DONE===
<?php exit(0); ?>
--EXPECTF--
array(2) {
["code"]=>
string(33) "function foo(bar) { return bar; }"
["scope"]=>
NULL
}
array(2) {
["code"]=>
string(30) "function foo() { return bar; }"
["scope"]=>
object(stdClass)#%d (%d) {
["bar"]=>
int(42)
}
}
===DONE===