@@ -16,6 +16,8 @@ require __DIR__ . '/../bootstrap.php';
16
16
ini_set ('serialize_precision ' , '14 ' );
17
17
18
18
$ dumper = new Dumper ;
19
+
20
+ // scalars
19
21
Assert::same ('0 ' , $ dumper ->dump (0 ));
20
22
Assert::same ('1 ' , $ dumper ->dump (1 ));
21
23
Assert::same ('0.0 ' , $ dumper ->dump (0.0 ));
@@ -38,16 +40,19 @@ Assert::same(
38
40
Assert::same ('"\rHello \$" ' , $ dumper ->dump ("\rHello $ " ));
39
41
Assert::same ("'He \\llo' " , $ dumper ->dump ('He\llo ' ));
40
42
Assert::same ('\'He\ll \\\\\o \\\'wor \\\\\\\'ld \\\\\'' , $ dumper ->dump ('He\ll \\\o \'wor \\\'ld \\' ));
41
- Assert::same ('[] ' , $ dumper ->dump ([]));
42
43
43
- // internal classes
44
+
45
+ // literal
44
46
Assert::same ('[$s] ' , $ dumper ->dump ([new PhpLiteral ('$s ' )]));
45
47
same ('[
46
48
function () {
47
49
return 1;
48
50
},
49
51
] ' , $ dumper ->dump ([(new Nette \PhpGenerator \Closure )->setBody ('return 1; ' )]));
50
52
53
+
54
+ // arrays
55
+ Assert::same ('[] ' , $ dumper ->dump ([]));
51
56
Assert::same ('[1, 2, 3] ' , $ dumper ->dump ([1 , 2 , 3 ]));
52
57
Assert::same ("['a'] " , $ dumper ->dump (['a ' ]));
53
58
Assert::same ("[2 => 'a'] " , $ dumper ->dump ([2 => 'a ' ]));
@@ -56,19 +61,8 @@ Assert::same("[-2 => 'a', -1 => 'b']", $dumper->dump([-2 => 'a', -1 => 'b']));
56
61
Assert::same ("[-2 => 'a', 0 => 'b'] " , $ dumper ->dump ([-2 => 'a ' , 0 => 'b ' ]));
57
62
Assert::same ("[0 => 'a', -2 => 'b', 1 => 'c'] " , $ dumper ->dump (['a ' , -2 => 'b ' , 1 => 'c ' ]));
58
63
59
- $ dumper ->wrapLength = 100 ;
60
- same ("[
61
- [
62
- 'a',
63
- 'loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong',
64
- ],
65
- ] " , $ dumper ->dump ([['a ' , 'loooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooong ' ]]));
66
-
67
- Assert::same (
68
- "['a' => 1, 0 => [ \"\\r \" => \"\\r \", 0 => 2], 1 => 3] " ,
69
- $ dumper ->dump (['a ' => 1 , ["\r" => "\r" , 2 ], 3 ])
70
- );
71
64
65
+ // stdClass
72
66
Assert::same (
73
67
"(object) [ \n\t'a' => 1, \n\t'b' => 2, \n] " ,
74
68
$ dumper ->dump ((object ) ['a ' => 1 , 'b ' => 2 ])
@@ -80,6 +74,7 @@ Assert::same(
80
74
);
81
75
82
76
77
+ // objects
83
78
class Test
84
79
{
85
80
public $ a = 1 ;
@@ -121,6 +116,23 @@ Assert::same(
121
116
Assert::equal (new Test2 , eval ('return ' . $ dumper ->dump (new Test2 ) . '; ' ));
122
117
123
118
119
+ Assert::exception (function () {
120
+ $ dumper = new Dumper ;
121
+ $ dumper ->dump (new class {
122
+ });
123
+ }, Nette \InvalidArgumentException::class, 'Cannot dump anonymous class. ' );
124
+
125
+
126
+
127
+ // closures
128
+ Assert::exception (function () {
129
+ $ dumper = new Dumper ;
130
+ $ dumper ->dump (function () {});
131
+ }, Nette \InvalidArgumentException::class, 'Cannot dump closure. ' );
132
+
133
+
134
+
135
+ // serializable
124
136
class Test3 implements Serializable
125
137
{
126
138
private $ a ;
@@ -140,13 +152,9 @@ class Test3 implements Serializable
140
152
Assert::same ('unserialize( \'C:5:"Test3":0:{} \') ' , $ dumper ->dump (new Test3 ));
141
153
Assert::equal (new Test3 , eval ('return ' . $ dumper ->dump (new Test3 ) . '; ' ));
142
154
143
- Assert::exception (function () {
144
- $ dumper = new Dumper ;
145
- $ dumper ->dump (function () {});
146
- }, Nette \InvalidArgumentException::class, 'Cannot dump closure. ' );
147
-
148
155
149
156
157
+ // datetime
150
158
class TestDateTime extends DateTime
151
159
{
152
160
}
@@ -167,25 +175,3 @@ same(
167
175
]) " ,
168
176
$ dumper ->dump (new TestDateTime ('2016-06-22 20:52:43.1234 ' , new DateTimeZone ('Europe/Prague ' )))
169
177
);
170
-
171
- Assert::exception (function () {
172
- $ dumper = new Dumper ;
173
- $ dumper ->dump (new class {
174
- });
175
- }, Nette \InvalidArgumentException::class, 'Cannot dump anonymous class. ' );
176
-
177
-
178
- Assert::exception (function () {
179
- $ rec = [];
180
- $ rec [] = &$ rec ;
181
- $ dumper = new Dumper ;
182
- $ dumper ->dump ($ rec );
183
- }, Nette \InvalidArgumentException::class, 'Nesting level too deep or recursive dependency. ' );
184
-
185
-
186
- Assert::exception (function () {
187
- $ rec = new stdClass ;
188
- $ rec ->x = &$ rec ;
189
- $ dumper = new Dumper ;
190
- $ dumper ->dump ($ rec );
191
- }, Nette \InvalidArgumentException::class, 'Nesting level too deep or recursive dependency. ' );
0 commit comments