Linux SRV-16 6.18.44-paas #1 SMP PREEMPT_DYNAMIC Thu Aug 13 10:08:12 UTC 2026 x86_64
/
proc
/
thread-self
/
root
/
opt
/
php-8.2
/
share
/
test
/
mongodb
/
tests
/
bson
/
//proc/thread-self/root/opt/php-8.2/share/test/mongodb/tests/bson/bson-toPHP_error-007.phpt
--TEST-- MongoDB\BSON\toPHP(): Type map classes must be instantiatable and implement Unserializable (enums) --FILE-- <?php require_once __DIR__ . '/../utils/basic.inc'; enum MyEnum { case A; } enum MyBackedEnum: int { case A = 1; } $classes = [ MyEnum::class, MyBackedEnum::class, ]; foreach ($classes as $class) { $typeMaps = [ ['array' => $class], ['document' => $class], ['root' => $class], ['fieldPaths' => ['x' => $class]], ]; foreach ($typeMaps as $typeMap) { printf("Test typeMap: %s\n", json_encode($typeMap)); echo throws(function() use ($typeMap) { MongoDB\BSON\toPHP(MongoDB\BSON\fromJSON('{}'), $typeMap); }, MongoDB\Driver\Exception\InvalidArgumentException::class), "\n\n"; } } ?> ===DONE=== <?php exit(0); ?> --EXPECTF-- Test typeMap: {"array":"MyEnum"} Deprecated: Function MongoDB\BSON\fromJSON() is deprecated in %s Deprecated: Function MongoDB\BSON\toPHP() is deprecated in %s OK: Got MongoDB\Driver\Exception\InvalidArgumentException Enum MyEnum is not instantiatable Test typeMap: {"document":"MyEnum"} Deprecated: Function MongoDB\BSON\fromJSON() is deprecated in %s Deprecated: Function MongoDB\BSON\toPHP() is deprecated in %s OK: Got MongoDB\Driver\Exception\InvalidArgumentException Enum MyEnum is not instantiatable Test typeMap: {"root":"MyEnum"} Deprecated: Function MongoDB\BSON\fromJSON() is deprecated in %s Deprecated: Function MongoDB\BSON\toPHP() is deprecated in %s OK: Got MongoDB\Driver\Exception\InvalidArgumentException Enum MyEnum is not instantiatable Test typeMap: {"fieldPaths":{"x":"MyEnum"}} Deprecated: Function MongoDB\BSON\fromJSON() is deprecated in %s Deprecated: Function MongoDB\BSON\toPHP() is deprecated in %s OK: Got MongoDB\Driver\Exception\InvalidArgumentException Enum MyEnum is not instantiatable Test typeMap: {"array":"MyBackedEnum"} Deprecated: Function MongoDB\BSON\fromJSON() is deprecated in %s Deprecated: Function MongoDB\BSON\toPHP() is deprecated in %s OK: Got MongoDB\Driver\Exception\InvalidArgumentException Enum MyBackedEnum is not instantiatable Test typeMap: {"document":"MyBackedEnum"} Deprecated: Function MongoDB\BSON\fromJSON() is deprecated in %s Deprecated: Function MongoDB\BSON\toPHP() is deprecated in %s OK: Got MongoDB\Driver\Exception\InvalidArgumentException Enum MyBackedEnum is not instantiatable Test typeMap: {"root":"MyBackedEnum"} Deprecated: Function MongoDB\BSON\fromJSON() is deprecated in %s Deprecated: Function MongoDB\BSON\toPHP() is deprecated in %s OK: Got MongoDB\Driver\Exception\InvalidArgumentException Enum MyBackedEnum is not instantiatable Test typeMap: {"fieldPaths":{"x":"MyBackedEnum"}} Deprecated: Function MongoDB\BSON\fromJSON() is deprecated in %s Deprecated: Function MongoDB\BSON\toPHP() is deprecated in %s OK: Got MongoDB\Driver\Exception\InvalidArgumentException Enum MyBackedEnum is not instantiatable ===DONE===