1--TEST--
2Issue #81 (Ignore IS_UNDEF)
3--SKIPIF--
4<?php
5if (!extension_loaded("msgpack")) {
6    die("skip");
7}
8?>
9--FILE--
10<?php
11class MyClass
12{
13  private $first_field;
14  private $second_field;
15
16  public function __construct()
17  {
18    $this->first_field = 'first_field';
19    $this->second_field = 'second_field';
20  }
21
22  public function preSerialize()
23  {
24    unset($this->first_field);
25  }
26}
27
28$t = new MyClass();
29var_dump($t);
30var_dump(msgpack_unpack(msgpack_pack($t)));
31
32$t = new MyClass();
33$t->preSerialize();
34var_dump($t);
35var_dump(msgpack_unpack(msgpack_pack($t)));
36?>
37OK
38--EXPECTF--
39object(MyClass)#%d (2) {
40  ["first_field":"MyClass":private]=>
41  string(11) "first_field"
42  ["second_field":"MyClass":private]=>
43  string(12) "second_field"
44}
45object(MyClass)#%d (2) {
46  ["first_field":"MyClass":private]=>
47  string(11) "first_field"
48  ["second_field":"MyClass":private]=>
49  string(12) "second_field"
50}
51object(MyClass)#%d (1) {
52  ["second_field":"MyClass":private]=>
53  string(12) "second_field"
54}
55object(MyClass)#%d (2) {
56  ["first_field":"MyClass":private]=>
57  NULL
58  ["second_field":"MyClass":private]=>
59  string(12) "second_field"
60}
61OK
62