|
20 | 20 | use Rekalogika\Mapper\Tests\Fixtures\ArrayLike\ObjectWithArrayProperty;
|
21 | 21 | use Rekalogika\Mapper\Tests\Fixtures\ArrayLike\ObjectWithArrayPropertyWithStringKey;
|
22 | 22 | use Rekalogika\Mapper\Tests\Fixtures\ArrayLike\ObjectWithCollectionProperty;
|
| 23 | +use Rekalogika\Mapper\Tests\Fixtures\ArrayLike\ObjectWithNullCollectionProperty; |
23 | 24 | use Rekalogika\Mapper\Tests\Fixtures\ArrayLike\ObjectWithSplObjectStorageProperty;
|
24 | 25 | use Rekalogika\Mapper\Tests\Fixtures\ArrayLike\ObjectWithTraversableProperties;
|
25 | 26 | use Rekalogika\Mapper\Tests\Fixtures\ArrayLikeDto\ObjectWithArrayAccessPropertyDto;
|
|
30 | 31 | use Rekalogika\Mapper\Tests\Fixtures\ArrayLikeDto\ObjectWithArrayPropertyWithCompatibleHintDto;
|
31 | 32 | use Rekalogika\Mapper\Tests\Fixtures\ArrayLikeDto\ObjectWithArrayPropertyWithoutTypeHintDto;
|
32 | 33 | use Rekalogika\Mapper\Tests\Fixtures\ArrayLikeDto\ObjectWithCollectionPropertyDto;
|
| 34 | +use Rekalogika\Mapper\Tests\Fixtures\ArrayLikeDto\ObjectWithNotNullArrayAccessPropertyDto; |
33 | 35 | use Rekalogika\Mapper\Tests\Fixtures\Scalar\ObjectWithScalarProperties;
|
34 | 36 | use Rekalogika\Mapper\Tests\Fixtures\ScalarDto\ObjectWithScalarPropertiesDto;
|
35 | 37 | use Rekalogika\Mapper\Transformer\Model\HashTable;
|
@@ -177,6 +179,20 @@ public function testCollectionToArrayAccessDto(): void
|
177 | 179 | $this->assertEquals(1.1, $result->property[1]?->d);
|
178 | 180 | }
|
179 | 181 |
|
| 182 | + public function testNullToNotNullArrayAccessDto(): void |
| 183 | + { |
| 184 | + $source = new ObjectWithNullCollectionProperty(); |
| 185 | + |
| 186 | + $result = $this->mapper->map($source, ObjectWithNotNullArrayAccessPropertyDto::class); |
| 187 | + |
| 188 | + $this->assertInstanceOf(ObjectWithNotNullArrayAccessPropertyDto::class, $result); |
| 189 | + |
| 190 | + $property = $result->property; |
| 191 | + $this->assertInstanceOf(LazyArray::class, $property); |
| 192 | + // @phpstan-ignore-next-line |
| 193 | + $this->assertInstanceOf(\ArrayAccess::class, $property); |
| 194 | + } |
| 195 | + |
180 | 196 | public function testArrayToArrayInterfaceDto(): void
|
181 | 197 | {
|
182 | 198 | $source = new ObjectWithArrayProperty();
|
|
0 commit comments