Skip to content

Commit

Permalink
add deprecation of the preregistred deserializer.decodertypes
Browse files Browse the repository at this point in the history
  • Loading branch information
Dominik Zogg committed Oct 28, 2019
1 parent b369df9 commit 9c4e9c7
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/Provider/DeserializationProvider.php
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,12 @@ public function register(Container $container): void
$decoderTypes[] = new YamlTypeDecoder();
}

@trigger_error(
'Register the decoder types by yourself:'
. ' $container[\'deserializer.decodertypes\'] = function () { return [new JsonTypeDecoder()]; };',
E_USER_DEPRECATED
);

return $decoderTypes;
};

Expand Down
13 changes: 13 additions & 0 deletions tests/Unit/Provider/DeserializationProviderTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ public function testRegister(): void
$container = new Container();
$container->register(new DeserializationProvider());

error_clear_last();

self::assertTrue(isset($container['deserializer']));

self::assertTrue(isset($container['deserializer.decoder']));
Expand Down Expand Up @@ -70,6 +72,17 @@ public function testRegister(): void
$reflectionProperty->setAccessible(true);

self::assertInstanceOf(NullLogger::class, $reflectionProperty->getValue($denormalizer));

$error = error_get_last();

self::assertNotNull($error);

self::assertSame(E_USER_DEPRECATED, $error['type']);
self::assertSame(
'Register the decoder types by yourself:'
. ' $container[\'deserializer.decodertypes\'] = function () { return [new JsonTypeDecoder()]; };',
$error['message']
);
}

public function testRegisterWithDefinedLogger(): void
Expand Down

0 comments on commit 9c4e9c7

Please sign in to comment.