mirror of
https://github.com/macintoshplus/mongo-php-driver.git
synced 2026-04-24 08:58:06 +02:00
b27fa4d019
* Re-enable PHP 8.1 build on GH Actions * Work around different error wording in PHP 8.1 * Limit failing tests to PHP < 8.1 * Add tests for PHPC-1839 for PHP >= 8.1
58 lines
1.0 KiB
PHP
58 lines
1.0 KiB
PHP
--TEST--
|
|
PHPC-1839: Referenced, out-of-scope, interned string in typeMap (PHP >= 8.1)
|
|
--SKIPIF--
|
|
<?php require __DIR__ . "/../utils/basic-skipif.inc"; ?>
|
|
<?php skip_if_php_version('<', '8.1'); ?>
|
|
--FILE--
|
|
<?php
|
|
require_once __DIR__ . "/../utils/basic.inc";
|
|
|
|
function createTypemap()
|
|
{
|
|
$rootValue = 'array';
|
|
$documentValue = 'array';
|
|
|
|
$typemap = ['root' => &$rootValue, 'document' => &$documentValue];
|
|
|
|
return $typemap;
|
|
}
|
|
|
|
$typemap = createTypemap();
|
|
$bson = MongoDB\BSON\fromPhp((object) []);
|
|
|
|
echo "Before:\n";
|
|
debug_zval_dump($typemap);
|
|
|
|
MongoDB\BSON\toPHP($bson, $typemap);
|
|
|
|
echo "After:\n";
|
|
debug_zval_dump($typemap);
|
|
|
|
?>
|
|
===DONE===
|
|
<?php exit(0); ?>
|
|
--EXPECT--
|
|
Before:
|
|
array(2) refcount(2){
|
|
["root"]=>
|
|
reference refcount(1) {
|
|
string(5) "array" interned
|
|
}
|
|
["document"]=>
|
|
reference refcount(1) {
|
|
string(5) "array" interned
|
|
}
|
|
}
|
|
After:
|
|
array(2) refcount(2){
|
|
["root"]=>
|
|
reference refcount(1) {
|
|
string(5) "array" interned
|
|
}
|
|
["document"]=>
|
|
reference refcount(1) {
|
|
string(5) "array" interned
|
|
}
|
|
}
|
|
===DONE===
|