1919use Symfony \Component \JsonStreamer \Tests \Fixtures \Model \DummyWithArray ;
2020use Symfony \Component \JsonStreamer \Tests \Fixtures \Model \DummyWithDateTimes ;
2121use Symfony \Component \JsonStreamer \Tests \Fixtures \Model \DummyWithGenerics ;
22+ use Symfony \Component \JsonStreamer \Tests \Fixtures \Model \DummyWithList ;
2223use Symfony \Component \JsonStreamer \Tests \Fixtures \Model \DummyWithNameAttributes ;
2324use Symfony \Component \JsonStreamer \Tests \Fixtures \Model \DummyWithNestedArray ;
25+ use Symfony \Component \JsonStreamer \Tests \Fixtures \Model \DummyWithNestedList ;
2426use Symfony \Component \JsonStreamer \Tests \Fixtures \Model \DummyWithNullableProperties ;
2527use Symfony \Component \JsonStreamer \Tests \Fixtures \Model \DummyWithPhpDoc ;
2628use Symfony \Component \JsonStreamer \Tests \Fixtures \Model \DummyWithUnionProperties ;
@@ -119,7 +121,7 @@ public function testWriteCollection()
119121 $ dummyWithArray2 ->customProperty = 'customProperty2 ' ;
120122
121123 $ this ->assertWritten (
122- '[{"dummies":[{" id":1,"name":"dummy"}] ,"customProperty":"customProperty1"},{"dummies":[{" id":1,"name":"dummy"}] ,"customProperty":"customProperty2"}] ' ,
124+ '[{"dummies":{"0":{" id":1,"name":"dummy"}} ,"customProperty":"customProperty1"},{"dummies":{"0":{" id":1,"name":"dummy"}} ,"customProperty":"customProperty2"}] ' ,
123125 [$ dummyWithArray1 , $ dummyWithArray2 ],
124126 Type::list (Type::object (DummyWithArray::class)),
125127 );
@@ -133,10 +135,38 @@ public function testWriteCollection()
133135 $ dummyWithNestedArray2 ->stringProperty = 'stringProperty2 ' ;
134136
135137 $ this ->assertWritten (
136- '[{"dummies":[{" dummies":[{" id":1,"name":"dummy"}] ,"customProperty":"customProperty1"}] ,"stringProperty":"stringProperty1"},{"dummies":[{" dummies":[{" id":1,"name":"dummy"}] ,"customProperty":"customProperty2"}] ,"stringProperty":"stringProperty2"}] ' ,
138+ '[{"dummies":{"0":{" dummies":{"0":{" id":1,"name":"dummy"}} ,"customProperty":"customProperty1"}} ,"stringProperty":"stringProperty1"},{"dummies":{"0":{" dummies":{"0":{" id":1,"name":"dummy"}} ,"customProperty":"customProperty2"}} ,"stringProperty":"stringProperty2"}] ' ,
137139 [$ dummyWithNestedArray1 , $ dummyWithNestedArray2 ],
138140 Type::list (Type::object (DummyWithNestedArray::class)),
139141 );
142+
143+ $ dummyWithList1 = new DummyWithList ();
144+ $ dummyWithList1 ->dummies = [new ClassicDummy ()];
145+ $ dummyWithList1 ->customProperty = 'customProperty1 ' ;
146+
147+ $ dummyWithList2 = new DummyWithList ();
148+ $ dummyWithList2 ->dummies = [new ClassicDummy ()];
149+ $ dummyWithList2 ->customProperty = 'customProperty2 ' ;
150+
151+ $ this ->assertWritten (
152+ '[{"dummies":[{"id":1,"name":"dummy"}],"customProperty":"customProperty1"},{"dummies":[{"id":1,"name":"dummy"}],"customProperty":"customProperty2"}] ' ,
153+ [$ dummyWithList1 , $ dummyWithList2 ],
154+ Type::list (Type::object (DummyWithList::class)),
155+ );
156+
157+ $ dummyWithNestedList1 = new DummyWithNestedList ();
158+ $ dummyWithNestedList1 ->dummies = [$ dummyWithList1 ];
159+ $ dummyWithNestedList1 ->stringProperty = 'stringProperty1 ' ;
160+
161+ $ dummyWithNestedList2 = new DummyWithNestedList ();
162+ $ dummyWithNestedList2 ->dummies = [$ dummyWithList2 ];
163+ $ dummyWithNestedList2 ->stringProperty = 'stringProperty2 ' ;
164+
165+ $ this ->assertWritten (
166+ '[{"dummies":[{"dummies":[{"id":1,"name":"dummy"}],"customProperty":"customProperty1"}],"stringProperty":"stringProperty1"},{"dummies":[{"dummies":[{"id":1,"name":"dummy"}],"customProperty":"customProperty2"}],"stringProperty":"stringProperty2"}] ' ,
167+ [$ dummyWithNestedList1 , $ dummyWithNestedList2 ],
168+ Type::list (Type::object (DummyWithNestedList::class)),
169+ );
140170 }
141171
142172 public function testWriteObject ()
0 commit comments