1--TEST--
2Behaviour of incomplete class is preserved even when it was not created by unserialize().
3--FILE--
4<?php
5/* Prototype  : proto string serialize(mixed variable)
6 * Description: Returns a string representation of variable (which can later be unserialized)
7 * Source code: ext/standard/var.c
8 * Alias to functions:
9 */
10/* Prototype  : proto mixed unserialize(string variable_representation)
11 * Description: Takes a string representation of variable and recreates it
12 * Source code: ext/standard/var.c
13 * Alias to functions:
14 */
15
16$a = new __PHP_Incomplete_Class;
17var_dump($a);
18var_dump($a->p);
19
20echo "Done";
21?>
22--EXPECTF--
23object(__PHP_Incomplete_Class)#%d (0) {
24}
25
26Notice: main(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition "unknown" of the object you are trying to operate on was loaded _before_ unserialize() gets called or provide an autoloader to load the class definition in %s on line %d
27NULL
28Done
29