|
15 | 15 | use Aternos\Serializer\Test\Src\CustomSerializerTestClass;
|
16 | 16 | use Aternos\Serializer\Test\Src\DefaultValueTestClass;
|
17 | 17 | use Aternos\Serializer\Test\Src\IntersectionTestClass;
|
| 18 | +use Aternos\Serializer\Test\Src\SecondTestClass; |
18 | 19 | use Aternos\Serializer\Test\Src\SerializerTestClass;
|
19 | 20 | use Aternos\Serializer\Test\Src\TestClass;
|
20 | 21 | use Aternos\Serializer\Test\Src\UnionIntersectionTestClass;
|
@@ -496,16 +497,19 @@ public function testArrayDeserializerArgumentIsNotAnArray(): void
|
496 | 497 | public function testCustomDeserializer(): void
|
497 | 498 | {
|
498 | 499 | $deserializer = new JsonDeserializer(CustomSerializerTestClass::class);
|
499 |
| - $testClass = $deserializer->deserialize('{"testClass":"TzozNzoiQXRlcm5vc1xTZXJpYWxpemVyXFRlc3RcU3JjXFRlc3RDbGFzcyI6OTp7czo2OiIAKgBhZ2UiO2k6MDtzOjE1OiIAKgBvcmlnaW5hbE5hbWUiO047czoxMToiACoAbnVsbGFibGUiO047czoxMjoiACoAYm9vbE9ySW50IjtiOjA7czoxNjoiACoAbm90QUpzb25GaWVsZCI7czo0OiJ0ZXN0IjtzOjE4OiIAKgBzZWNvbmRUZXN0Q2xhc3MiO047czo4OiIAKgBtaXhlZCI7TjtzOjg6IgAqAGZsb2F0IjtOO3M6ODoiACoAYXJyYXkiO047fQ=="}'); |
| 500 | + $testClass = $deserializer->deserialize('{"testClass":"Tzo0MzoiQXRlcm5vc1xTZXJpYWxpemVyXFRlc3RcU3JjXFNlY29uZFRlc3RDbGFzcyI6MDp7fQ==","testArray":["Tzo0MzoiQXRlcm5vc1xTZXJpYWxpemVyXFRlc3RcU3JjXFNlY29uZFRlc3RDbGFzcyI6MDp7fQ==","Tzo0MzoiQXRlcm5vc1xTZXJpYWxpemVyXFRlc3RcU3JjXFNlY29uZFRlc3RDbGFzcyI6MDp7fQ=="]}'); |
500 | 501 | $this->assertInstanceOf(CustomSerializerTestClass::class, $testClass);
|
501 |
| - $this->assertInstanceOf(TestClass::class, $testClass->getTestClass()); |
| 502 | + $this->assertInstanceOf(SecondTestClass::class, $testClass->getTestClass()); |
| 503 | + $this->assertIsArray($testClass->getTestArray()); |
| 504 | + $this->assertInstanceOf(SecondTestClass::class, $testClass->getTestArray()[0]); |
| 505 | + $this->assertInstanceOf(SecondTestClass::class, $testClass->getTestArray()[1]); |
502 | 506 | }
|
503 | 507 |
|
504 | 508 | public function testCustomDeserializerReturnsInvalidType(): void
|
505 | 509 | {
|
506 | 510 | $deserializer = new JsonDeserializer(CustomSerializerInvalidTypeTestClass::class);
|
507 | 511 | $this->expectException(IncorrectTypeException::class);
|
508 |
| - $this->expectExceptionMessage("Expected '.testClass' to be 'Aternos\Serializer\Test\Src\TestClass' found: \Aternos\Serializer\Test\Src\SecondTestClass::__set_state(array(\n))"); |
509 |
| - $deserializer->deserialize('{"testClass":"Tzo0MzoiQXRlcm5vc1xTZXJpYWxpemVyXFRlc3RcU3JjXFNlY29uZFRlc3RDbGFzcyI6MDp7fQ=="}'); |
| 512 | + $this->expectExceptionMessage("Expected '.testClass' to be 'Aternos\Serializer\Test\Src\TestClass' found: \Aternos\Serializer\Test\Src\BuiltInTypeTestClass::"); |
| 513 | + $deserializer->deserialize('{"testClass":"Tzo0ODoiQXRlcm5vc1xTZXJpYWxpemVyXFRlc3RcU3JjXEJ1aWx0SW5UeXBlVGVzdENsYXNzIjo4OntzOjM6ImludCI7TjtzOjU6ImZsb2F0IjtOO3M6Njoic3RyaW5nIjtOO3M6NToiYXJyYXkiO047czo2OiJvYmplY3QiO047czo0OiJzZWxmIjtOO3M6NToiZmFsc2UiO047czo0OiJ0cnVlIjtOO30="}'); |
510 | 514 | }
|
511 | 515 | }
|
0 commit comments