Skip to content

Commit 76a28a1

Browse files
committed
Separate List and Array tests for JsonStreamer
1 parent ce06a95 commit 76a28a1

File tree

8 files changed

+107
-9
lines changed

8 files changed

+107
-9
lines changed

src/Symfony/Component/JsonStreamer/Tests/Fixtures/Model/DummyWithArray.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
class DummyWithArray
66
{
7-
/** @var list<ClassicDummy> */
7+
/** @var ClassicDummy[] */
88
public array $dummies;
99

1010
public string $customProperty;
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
namespace Symfony\Component\JsonStreamer\Tests\Fixtures\Model;
4+
5+
class DummyWithList
6+
{
7+
/** @var list<ClassicDummy> */
8+
public array $dummies;
9+
10+
public string $customProperty;
11+
}

src/Symfony/Component/JsonStreamer/Tests/Fixtures/Model/DummyWithNestedArray.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
class DummyWithNestedArray
66
{
7-
/** @var list<DummyWithArray> */
7+
/** @var DummyWithArray[] */
88
public array $dummies;
99

1010
public string $stringProperty;
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?php
2+
3+
namespace Symfony\Component\JsonStreamer\Tests\Fixtures\Model;
4+
5+
class DummyWithNestedList
6+
{
7+
/** @var list<DummyWithList> */
8+
public array $dummies;
9+
10+
public string $stringProperty;
11+
}

src/Symfony/Component/JsonStreamer/Tests/Fixtures/stream_writer/double_nested_array.php

Lines changed: 40 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Symfony/Component/JsonStreamer/Tests/Fixtures/stream_writer/nested_array.php

Lines changed: 30 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Symfony/Component/JsonStreamer/Tests/JsonStreamWriterTest.php

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,9 @@
1919
use Symfony\Component\JsonStreamer\Tests\Fixtures\Model\DummyWithArray;
2020
use Symfony\Component\JsonStreamer\Tests\Fixtures\Model\DummyWithDateTimes;
2121
use Symfony\Component\JsonStreamer\Tests\Fixtures\Model\DummyWithGenerics;
22+
use Symfony\Component\JsonStreamer\Tests\Fixtures\Model\DummyWithList;
2223
use Symfony\Component\JsonStreamer\Tests\Fixtures\Model\DummyWithNameAttributes;
23-
use Symfony\Component\JsonStreamer\Tests\Fixtures\Model\DummyWithNestedArray;
24+
use Symfony\Component\JsonStreamer\Tests\Fixtures\Model\DummyWithNestedList;
2425
use Symfony\Component\JsonStreamer\Tests\Fixtures\Model\DummyWithNullableProperties;
2526
use Symfony\Component\JsonStreamer\Tests\Fixtures\Model\DummyWithPhpDoc;
2627
use Symfony\Component\JsonStreamer\Tests\Fixtures\Model\DummyWithUnionProperties;
@@ -121,21 +122,21 @@ public function testWriteCollection()
121122
$this->assertWritten(
122123
'[{"dummies":[{"id":1,"name":"dummy"}],"customProperty":"customProperty1"},{"dummies":[{"id":1,"name":"dummy"}],"customProperty":"customProperty2"}]',
123124
[$dummyWithArray1, $dummyWithArray2],
124-
Type::list(Type::object(DummyWithArray::class)),
125+
Type::list(Type::object(DummyWithList::class)),
125126
);
126127

127-
$dummyWithNestedArray1 = new DummyWithNestedArray();
128+
$dummyWithNestedArray1 = new DummyWithNestedList();
128129
$dummyWithNestedArray1->dummies = [$dummyWithArray1];
129130
$dummyWithNestedArray1->stringProperty = 'stringProperty1';
130131

131-
$dummyWithNestedArray2 = new DummyWithNestedArray();
132+
$dummyWithNestedArray2 = new DummyWithNestedList();
132133
$dummyWithNestedArray2->dummies = [$dummyWithArray2];
133134
$dummyWithNestedArray2->stringProperty = 'stringProperty2';
134135

135136
$this->assertWritten(
136137
'[{"dummies":[{"dummies":[{"id":1,"name":"dummy"}],"customProperty":"customProperty1"}],"stringProperty":"stringProperty1"},{"dummies":[{"dummies":[{"id":1,"name":"dummy"}],"customProperty":"customProperty2"}],"stringProperty":"stringProperty2"}]',
137138
[$dummyWithNestedArray1, $dummyWithNestedArray2],
138-
Type::list(Type::object(DummyWithNestedArray::class)),
139+
Type::list(Type::object(DummyWithNestedList::class)),
139140
);
140141
}
141142

src/Symfony/Component/JsonStreamer/Tests/Write/StreamWriterGeneratorTest.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,10 @@
2222
use Symfony\Component\JsonStreamer\Tests\Fixtures\Enum\DummyEnum;
2323
use Symfony\Component\JsonStreamer\Tests\Fixtures\Model\ClassicDummy;
2424
use Symfony\Component\JsonStreamer\Tests\Fixtures\Model\DummyWithArray;
25+
use Symfony\Component\JsonStreamer\Tests\Fixtures\Model\DummyWithList;
2526
use Symfony\Component\JsonStreamer\Tests\Fixtures\Model\DummyWithNameAttributes;
2627
use Symfony\Component\JsonStreamer\Tests\Fixtures\Model\DummyWithNestedArray;
28+
use Symfony\Component\JsonStreamer\Tests\Fixtures\Model\DummyWithNestedList;
2729
use Symfony\Component\JsonStreamer\Tests\Fixtures\Model\DummyWithOtherDummies;
2830
use Symfony\Component\JsonStreamer\Tests\Fixtures\Model\DummyWithUnionProperties;
2931
use Symfony\Component\JsonStreamer\Tests\Fixtures\Model\DummyWithValueTransformerAttributes;
@@ -95,8 +97,11 @@ public static function generatedStreamWriterDataProvider(): iterable
9597
yield ['null_list', Type::list(Type::null())];
9698
yield ['object_list', Type::list(Type::object(DummyWithNameAttributes::class))];
9799
yield ['nullable_object_list', Type::nullable(Type::list(Type::object(DummyWithNameAttributes::class)))];
98-
yield ['nested_list', Type::list(Type::object(DummyWithArray::class))];
99-
yield ['double_nested_list', Type::list(Type::object(DummyWithNestedArray::class))];
100+
yield ['nested_list', Type::list(Type::object(DummyWithList::class))];
101+
yield ['double_nested_list', Type::list(Type::object(DummyWithNestedList::class))];
102+
103+
yield ['nested_array', Type::list(Type::object(DummyWithArray::class))];
104+
yield ['double_nested_array', Type::list(Type::object(DummyWithNestedArray::class))];
100105

101106
yield ['dict', Type::dict()];
102107
yield ['object_dict', Type::dict(Type::object(DummyWithNameAttributes::class))];

0 commit comments

Comments
 (0)