@@ -206,25 +206,6 @@ public function testInlineLevel()
206
206
$ this ->assertEquals ($ expected , $ this ->dumper ->dump ($ this ->array , 10 ), '->dump() takes an inline level argument ' );
207
207
}
208
208
209
- public function testArrayObjectAsMapNotInLined ()
210
- {
211
- $ deep = new \ArrayObject (array ('deep1 ' => 'd ' , 'deep2 ' => 'e ' ));
212
- $ inner = new \ArrayObject (array ('inner1 ' => 'b ' , 'inner2 ' => 'c ' , 'inner3 ' => $ deep ));
213
- $ outer = new \ArrayObject (array ('outer1 ' => 'a ' , 'outer1 ' => $ inner ));
214
-
215
- $ yaml = $ this ->dumper ->dump ($ outer , 2 , 0 , Yaml::DUMP_OBJECT_AS_MAP );
216
-
217
- $ expected = <<<YAML
218
- outer1: a
219
- outer2:
220
- inner1: b
221
- inner2: c
222
- inner3: { deep1: d, deep2: e }
223
-
224
- YAML ;
225
- $ this ->assertEquals ($ expected , $ yaml );
226
- }
227
-
228
209
public function testObjectSupportEnabled ()
229
210
{
230
211
$ dump = $ this ->dumper ->dump (array ('foo ' => new A (), 'bar ' => 1 ), 0 , 0 , Yaml::DUMP_OBJECT );
@@ -352,6 +333,76 @@ public function objectAsMapProvider()
352
333
return $ tests ;
353
334
}
354
335
336
+ public function testDumpingArrayObjectInstancesRespectsInlineLevel ()
337
+ {
338
+ $ deep = new \ArrayObject (array ('deep1 ' => 'd ' , 'deep2 ' => 'e ' ));
339
+ $ inner = new \ArrayObject (array ('inner1 ' => 'b ' , 'inner2 ' => 'c ' , 'inner3 ' => $ deep ));
340
+ $ outer = new \ArrayObject (array ('outer1 ' => 'a ' , 'outer2 ' => $ inner ));
341
+
342
+ $ yaml = $ this ->dumper ->dump ($ outer , 2 , 0 , Yaml::DUMP_OBJECT_AS_MAP );
343
+
344
+ $ expected = <<<YAML
345
+ outer1: a
346
+ outer2:
347
+ inner1: b
348
+ inner2: c
349
+ inner3: { deep1: d, deep2: e }
350
+
351
+ YAML ;
352
+ $ this ->assertSame ($ expected , $ yaml );
353
+ }
354
+
355
+ public function testDumpingArrayObjectInstancesWithNumericKeysInlined ()
356
+ {
357
+ $ deep = new \ArrayObject (array ('d ' , 'e ' ));
358
+ $ inner = new \ArrayObject (array ('b ' , 'c ' , $ deep ));
359
+ $ outer = new \ArrayObject (array ('a ' , $ inner ));
360
+
361
+ $ yaml = $ this ->dumper ->dump ($ outer , 0 , 0 , Yaml::DUMP_OBJECT_AS_MAP );
362
+ $ expected = <<<YAML
363
+ { 0: a, 1: { 0: b, 1: c, 2: { 0: d, 1: e } } }
364
+ YAML ;
365
+ $ this ->assertSame ($ expected , $ yaml );
366
+ }
367
+
368
+ public function testDumpEmptyArrayObjectInstanceAsMap ()
369
+ {
370
+ $ this ->assertSame ('{ } ' , $ this ->dumper ->dump (new \ArrayObject (), 2 , 0 , Yaml::DUMP_OBJECT_AS_MAP ));
371
+ }
372
+
373
+ public function testDumpEmptyStdClassInstanceAsMap ()
374
+ {
375
+ $ this ->assertSame ('{ } ' , $ this ->dumper ->dump (new \stdClass (), 2 , 0 , Yaml::DUMP_OBJECT_AS_MAP ));
376
+ }
377
+
378
+ public function testDumpingStdClassInstancesRespectsInlineLevel ()
379
+ {
380
+ $ deep = new \stdClass ();
381
+ $ deep ->deep1 = 'd ' ;
382
+ $ deep ->deep2 = 'e ' ;
383
+
384
+ $ inner = new \stdClass ();
385
+ $ inner ->inner1 = 'b ' ;
386
+ $ inner ->inner2 = 'c ' ;
387
+ $ inner ->inner3 = $ deep ;
388
+
389
+ $ outer = new \stdClass ();
390
+ $ outer ->outer1 = 'a ' ;
391
+ $ outer ->outer2 = $ inner ;
392
+
393
+ $ yaml = $ this ->dumper ->dump ($ outer , 2 , 0 , Yaml::DUMP_OBJECT_AS_MAP );
394
+
395
+ $ expected = <<<YAML
396
+ outer1: a
397
+ outer2:
398
+ inner1: b
399
+ inner2: c
400
+ inner3: { deep1: d, deep2: e }
401
+
402
+ YAML ;
403
+ $ this ->assertSame ($ expected , $ yaml );
404
+ }
405
+
355
406
public function testDumpMultiLineStringAsScalarBlock ()
356
407
{
357
408
$ data = array (
0 commit comments