diff options
Diffstat (limited to 'ext/standard/tests/serialize/serialization_objects_007.phpt')
-rw-r--r-- | ext/standard/tests/serialize/serialization_objects_007.phpt | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/ext/standard/tests/serialize/serialization_objects_007.phpt b/ext/standard/tests/serialize/serialization_objects_007.phpt new file mode 100644 index 0000000..9cba9d1 --- /dev/null +++ b/ext/standard/tests/serialize/serialization_objects_007.phpt @@ -0,0 +1,42 @@ +--TEST-- +Ensure __autoload is called twice if unserialize_callback_func is defined. +--FILE-- +<?php +/* Prototype : proto string serialize(mixed variable) + * Description: Returns a string representation of variable (which can later be unserialized) + * Source code: ext/standard/var.c + * Alias to functions: + */ +/* Prototype : proto mixed unserialize(string variable_representation) + * Description: Takes a string representation of variable and recreates it + * Source code: ext/standard/var.c + * Alias to functions: + */ + +function __autoload($name) { + echo "in __autoload($name)\n"; +} + +ini_set('unserialize_callback_func','check'); + +function check($name) { + echo "in check($name)\n"; +} + +$o = unserialize('O:3:"FOO":0:{}'); + +var_dump($o); + +echo "Done"; +?> +--EXPECTF-- +in __autoload(FOO) +in check(FOO) +in __autoload(FOO) + +Warning: unserialize(): Function check() hasn't defined the class it was called for in %s on line 23 +object(__PHP_Incomplete_Class)#%d (1) { + ["__PHP_Incomplete_Class_Name"]=> + string(3) "FOO" +} +Done
\ No newline at end of file |