11<?php
22
33/**
4- * Test: Nette\PhpGenerator\::dump()
4+ * Test: Nette\PhpGenerator\Dumper ::dump()
55 */
66
77declare (strict_types=1 );
@@ -15,41 +15,42 @@ require __DIR__ . '/../bootstrap.php';
1515
1616ini_set ('serialize_precision ' , '14 ' );
1717
18- Assert::same ('0 ' , Dumper::dump (0 ));
19- Assert::same ('1 ' , Dumper::dump (1 ));
20- Assert::same ('0.0 ' , Dumper::dump (0.0 ));
21- Assert::same ('1.0 ' , Dumper::dump (1.0 ));
22- Assert::same ('0.1 ' , Dumper::dump (0.1 ));
23- Assert::same ('INF ' , Dumper::dump (INF ));
24- Assert::same ('-INF ' , Dumper::dump (-INF ));
25- Assert::same ('NAN ' , Dumper::dump (NAN ));
26- Assert::same ('null ' , Dumper::dump (null ));
27- Assert::same ('true ' , Dumper::dump (true ));
28- Assert::same ('false ' , Dumper::dump (false ));
29-
30- Assert::same ("'' " , Dumper::dump ('' ));
31- Assert::same ("'Hello' " , Dumper::dump ('Hello ' ));
32- Assert::same ('"\t\n\t" ' , Dumper::dump ("\t\n\t" ));
33- Assert::same ("'I \u{F1}t \u{EB}rn \u{E2}ti \u{F4}n \u{E0}liz \u{E6}ti \u{F8}n' " , Dumper::dump ("I \u{F1}t \u{EB}rn \u{E2}ti \u{F4}n \u{E0}liz \u{E6}ti \u{F8}n " )); // Iñtërnâtiônàlizætiøn
34- Assert::same ('"\rHello \$" ' , Dumper::dump ("\rHello $ " ));
35- Assert::same ("'He \\llo' " , Dumper::dump ('He\llo ' ));
36- Assert::same ('\'He\ll \\\\\o \\\'wor \\\\\\\'ld \\\\\'' , Dumper::dump ('He\ll \\\o \'wor \\\'ld \\' ));
37- Assert::same ('[] ' , Dumper::dump ([]));
38-
39- Assert::same ('[$s] ' , Dumper::dump ([new PhpLiteral ('$s ' )]));
40-
41- Assert::same ('[1, 2, 3] ' , Dumper::dump ([1 , 2 , 3 ]));
42- Assert::same ("['a', 7 => 'b', 'c', '9a' => 'd', 'e'] " , Dumper::dump (['a ' , 7 => 'b ' , 'c ' , '9a ' => 'd ' , 9 => 'e ' ]));
18+ $ dumper = new Dumper ;
19+ Assert::same ('0 ' , $ dumper ->dump (0 ));
20+ Assert::same ('1 ' , $ dumper ->dump (1 ));
21+ Assert::same ('0.0 ' , $ dumper ->dump (0.0 ));
22+ Assert::same ('1.0 ' , $ dumper ->dump (1.0 ));
23+ Assert::same ('0.1 ' , $ dumper ->dump (0.1 ));
24+ Assert::same ('INF ' , $ dumper ->dump (INF ));
25+ Assert::same ('-INF ' , $ dumper ->dump (-INF ));
26+ Assert::same ('NAN ' , $ dumper ->dump (NAN ));
27+ Assert::same ('null ' , $ dumper ->dump (null ));
28+ Assert::same ('true ' , $ dumper ->dump (true ));
29+ Assert::same ('false ' , $ dumper ->dump (false ));
30+
31+ Assert::same ("'' " , $ dumper ->dump ('' ));
32+ Assert::same ("'Hello' " , $ dumper ->dump ('Hello ' ));
33+ Assert::same ('"\t\n\t" ' , $ dumper ->dump ("\t\n\t" ));
34+ Assert::same ("'I \u{F1}t \u{EB}rn \u{E2}ti \u{F4}n \u{E0}liz \u{E6}ti \u{F8}n' " , $ dumper ->dump ("I \u{F1}t \u{EB}rn \u{E2}ti \u{F4}n \u{E0}liz \u{E6}ti \u{F8}n " )); // Iñtërnâtiônàlizætiøn
35+ Assert::same ('"\rHello \$" ' , $ dumper ->dump ("\rHello $ " ));
36+ Assert::same ("'He \\llo' " , $ dumper ->dump ('He\llo ' ));
37+ Assert::same ('\'He\ll \\\\\o \\\'wor \\\\\\\'ld \\\\\'' , $ dumper ->dump ('He\ll \\\o \'wor \\\'ld \\' ));
38+ Assert::same ('[] ' , $ dumper ->dump ([]));
39+
40+ Assert::same ('[$s] ' , $ dumper ->dump ([new PhpLiteral ('$s ' )]));
41+
42+ Assert::same ('[1, 2, 3] ' , $ dumper ->dump ([1 , 2 , 3 ]));
43+ Assert::same ("['a', 7 => 'b', 'c', '9a' => 'd', 'e'] " , $ dumper ->dump (['a ' , 7 => 'b ' , 'c ' , '9a ' => 'd ' , 9 => 'e ' ]));
4344same ("[
4445 [
4546 'a',
4647 'loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong',
4748 ],
48- ] " , Dumper:: dump ([['a ' , 'loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong ' ]]));
49- Assert::same ("['a' => 1, [ \"\\r \" => \"\\r \", 2], 3] " , Dumper:: dump (['a ' => 1 , ["\r" => "\r" , 2 ], 3 ]));
49+ ] " , $ dumper -> dump ([['a ' , 'loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong ' ]]));
50+ Assert::same ("['a' => 1, [ \"\\r \" => \"\\r \", 2], 3] " , $ dumper -> dump (['a ' => 1 , ["\r" => "\r" , 2 ], 3 ]));
5051
51- Assert::same ("(object) [ \n\t'a' => 1, \n\t'b' => 2, \n] " , Dumper:: dump ((object ) ['a ' => 1 , 'b ' => 2 ]));
52- Assert::same ("(object) [ \n\t'a' => (object) [ \n\t\t'b' => 2, \n\t], \n] " , Dumper:: dump ((object ) ['a ' => (object ) ['b ' => 2 ]]));
52+ Assert::same ("(object) [ \n\t'a' => 1, \n\t'b' => 2, \n] " , $ dumper -> dump ((object ) ['a ' => 1 , 'b ' => 2 ]));
53+ Assert::same ("(object) [ \n\t'a' => (object) [ \n\t\t'b' => 2, \n\t], \n] " , $ dumper -> dump ((object ) ['a ' => (object ) ['b ' => 2 ]]));
5354
5455
5556class Test
@@ -61,8 +62,8 @@ class Test
6162 private $ c = 3 ;
6263}
6364
64- Assert::same ("Nette \\PhpGenerator \\Dumper::createObject('Test', [ \n\t'a' => 1, \n\t\"\\x00* \\x00b \" => 2, \n\t\"\\x00Test \\x00c \" => 3, \n]) " , Dumper:: dump (new Test ));
65- Assert::equal (new Test , eval ('return ' . Dumper:: dump (new Test ) . '; ' ));
65+ Assert::same ("Nette \\PhpGenerator \\Dumper::createObject('Test', [ \n\t'a' => 1, \n\t\"\\x00* \\x00b \" => 2, \n\t\"\\x00Test \\x00c \" => 3, \n]) " , $ dumper -> dump (new Test ));
66+ Assert::equal (new Test , eval ('return ' . $ dumper -> dump (new Test ) . '; ' ));
6667
6768
6869class Test2 extends Test
@@ -83,8 +84,8 @@ class Test2 extends Test
8384 }
8485}
8586
86- Assert::same ("Nette \\PhpGenerator \\Dumper::createObject('Test2', [ \n\t\"\\x00Test2 \\x00c \" => 4, \n\t'a' => 1, \n\t\"\\x00* \\x00b \" => 2, \n]) " , Dumper:: dump (new Test2 ));
87- Assert::equal (new Test2 , eval ('return ' . Dumper:: dump (new Test2 ) . '; ' ));
87+ Assert::same ("Nette \\PhpGenerator \\Dumper::createObject('Test2', [ \n\t\"\\x00Test2 \\x00c \" => 4, \n\t'a' => 1, \n\t\"\\x00* \\x00b \" => 2, \n]) " , $ dumper -> dump (new Test2 ));
88+ Assert::equal (new Test2 , eval ('return ' . $ dumper -> dump (new Test2 ) . '; ' ));
8889
8990
9091class Test3 implements Serializable
@@ -103,11 +104,12 @@ class Test3 implements Serializable
103104 }
104105}
105106
106- Assert::same ('unserialize( \'C:5:"Test3":0:{} \') ' , Dumper:: dump (new Test3 ));
107- Assert::equal (new Test3 , eval ('return ' . Dumper:: dump (new Test3 ) . '; ' ));
107+ Assert::same ('unserialize( \'C:5:"Test3":0:{} \') ' , $ dumper -> dump (new Test3 ));
108+ Assert::equal (new Test3 , eval ('return ' . $ dumper -> dump (new Test3 ) . '; ' ));
108109
109110Assert::exception (function () {
110- Dumper::dump (function () {});
111+ $ dumper = new Dumper ;
112+ $ dumper ->dump (function () {});
111113}, Nette \InvalidArgumentException::class, 'Cannot dump closure. ' );
112114
113115
@@ -118,36 +120,39 @@ class TestDateTime extends DateTime
118120
119121Assert::same (
120122 "new DateTime('2016-06-22 20:52:43.123400', new DateTimeZone('Europe/Prague')) " ,
121- Dumper:: dump (new DateTime ('2016-06-22 20:52:43.1234 ' , new DateTimeZone ('Europe/Prague ' )))
123+ $ dumper -> dump (new DateTime ('2016-06-22 20:52:43.1234 ' , new DateTimeZone ('Europe/Prague ' )))
122124);
123125Assert::same (
124126 "new DateTimeImmutable('2016-06-22 20:52:43.123400', new DateTimeZone('Europe/Prague')) " ,
125- Dumper:: dump (new DateTimeImmutable ('2016-06-22 20:52:43.1234 ' , new DateTimeZone ('Europe/Prague ' )))
127+ $ dumper -> dump (new DateTimeImmutable ('2016-06-22 20:52:43.1234 ' , new DateTimeZone ('Europe/Prague ' )))
126128);
127129same (
128130 "Nette \\PhpGenerator \\Dumper::createObject('TestDateTime', [
129131 'date' => '2016-06-22 20:52:43.123400',
130132 'timezone_type' => 3,
131133 'timezone' => 'Europe/Prague',
132134]) " ,
133- Dumper:: dump (new TestDateTime ('2016-06-22 20:52:43.1234 ' , new DateTimeZone ('Europe/Prague ' )))
135+ $ dumper -> dump (new TestDateTime ('2016-06-22 20:52:43.1234 ' , new DateTimeZone ('Europe/Prague ' )))
134136);
135137
136138Assert::exception (function () {
137- Dumper::dump (new class {
139+ $ dumper = new Dumper ;
140+ $ dumper ->dump (new class {
138141 });
139142}, Nette \InvalidArgumentException::class, 'Cannot dump anonymous class. ' );
140143
141144
142145Assert::exception (function () {
143146 $ rec = [];
144147 $ rec [] = &$ rec ;
145- Dumper::dump ($ rec );
148+ $ dumper = new Dumper ;
149+ $ dumper ->dump ($ rec );
146150}, Nette \InvalidArgumentException::class, 'Nesting level too deep or recursive dependency. ' );
147151
148152
149153Assert::exception (function () {
150154 $ rec = new stdClass ;
151155 $ rec ->x = &$ rec ;
152- Dumper::dump ($ rec );
156+ $ dumper = new Dumper ;
157+ $ dumper ->dump ($ rec );
153158}, Nette \InvalidArgumentException::class, 'Nesting level too deep or recursive dependency. ' );
0 commit comments