@@ -12,14 +12,6 @@ use Nette\PhpGenerator\Helpers,
1212require __DIR__ . '/../bootstrap.php ' ;
1313
1414
15- class Test
16- {
17- public $ a = 1 ;
18- protected $ b = 2 ;
19- private $ c = 3 ;
20- }
21-
22-
2315Assert::same ( '1 ' , Helpers::dump (1 ) );
2416Assert::same ( '1.0 ' , Helpers::dump (1.0 ) );
2517Assert::same ( 'NULL ' , Helpers::dump (NULL ) );
@@ -41,5 +33,51 @@ Assert::same( "array('a' => 1, array(\"\\r\" => \"\\r\", 2), 3)", Helpers::dump(
4133
4234Assert::same ( "(object) array( \n\t'a' => 1, \n\t'b' => 2, \n) " , Helpers::dump ((object ) array ('a ' => 1 , 'b ' => 2 )) );
4335Assert::same ( "(object) array( \n\t'a' => (object) array( \n\t\t'b' => 2, \n\t), \n) " , Helpers::dump ((object ) array ('a ' => (object ) array ('b ' => 2 ))) );
36+
37+
38+ class Test
39+ {
40+ public $ a = 1 ;
41+ protected $ b = 2 ;
42+ private $ c = 3 ;
43+ }
44+
4445Assert::same ( "Nette \\PhpGenerator \\Helpers::createObject('Test', array( \n\t'a' => 1, \n\t\"\\x00* \\x00b \" => 2, \n\t\"\\x00Test \\x00c \" => 3, \n)) " , Helpers::dump (new Test ) );
4546Assert::equal ( new Test , eval ('return ' . Helpers::dump (new Test ) . '; ' ) );
47+
48+
49+ class Test2 extends Test
50+ {
51+ private $ c = 4 ;
52+ public $ d = 5 ;
53+
54+ function __sleep ()
55+ {
56+ return array ('c ' , 'b ' , 'a ' );
57+ }
58+
59+ function __wakeup ()
60+ {
61+ }
62+ }
63+
64+ Assert::same ( "Nette \\PhpGenerator \\Helpers::createObject('Test2', array( \n\t\"\\x00Test2 \\x00c \" => 4, \n\t'a' => 1, \n\t\"\\x00* \\x00b \" => 2, \n)) " , Helpers::dump (new Test2 ) );
65+ Assert::equal ( new Test2 , eval ('return ' . Helpers::dump (new Test2 ) . '; ' ) );
66+
67+
68+ class Test3 implements Serializable
69+ {
70+ private $ a ;
71+
72+ function serialize ()
73+ {
74+ return '' ;
75+ }
76+
77+ function unserialize ($ s )
78+ {
79+ }
80+ }
81+
82+ Assert::same ( 'unserialize( \'C:5:"Test3":0:{} \') ' , Helpers::dump (new Test3 ) );
83+ Assert::equal ( new Test3 , eval ('return ' . Helpers::dump (new Test3 ) . '; ' ) );
0 commit comments