Skip to content
This repository has been archived by the owner on Feb 21, 2023. It is now read-only.

Commit

Permalink
fix for forgotten annotation name translator + re adding forgotten in…
Browse files Browse the repository at this point in the history
…fection dependency for grumphp + bump for better serializer with fixed stable dependencies
  • Loading branch information
Rastusik committed May 29, 2018
1 parent 188e350 commit f12503b
Show file tree
Hide file tree
Showing 6 changed files with 733 additions and 442 deletions.
20 changes: 20 additions & 0 deletions Config/ContainerService.php
@@ -0,0 +1,20 @@
<?php
declare(strict_types=1);

/*
* @author Martin Fris <rasta@lj.sk>
*/

namespace BetterSerializerBundle\Config;

/**
*
*/
interface ContainerService
{

/**
* @const string
*/
public const NAMING_STRATEGY_TRANSLATOR = 'NamingStrategyTranslator';
}
7 changes: 3 additions & 4 deletions DependencyInjection/BetterSerializerExtension.php
Expand Up @@ -21,7 +21,6 @@
use BetterSerializer\DataBind\Naming\PropertyNameTranslator\CamelCaseTranslator;
use BetterSerializer\DataBind\Naming\PropertyNameTranslator\IdenticalTranslator;
use BetterSerializer\DataBind\Naming\PropertyNameTranslator\SnakeCaseTranslator;
use BetterSerializer\DataBind\Naming\PropertyNameTranslator\TranslatorInterface;
use BetterSerializer\DataBind\Reader\Processor\Factory\TypeChain\{
ExtensionMember as TypeReaderFactoryExtensionMember,
ExtensionCollectionMember as CollectionReaderFactoryExtensionMember
Expand All @@ -34,6 +33,7 @@
use BetterSerializer\Extension\DoctrineCollection;
use BetterSerializer\Extension\Registry\RegistryInterface;
use BetterSerializerBundle\Config\Cache;
use BetterSerializerBundle\Config\ContainerService;
use Symfony\Component\DependencyInjection\Alias;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\Config\FileLocator;
Expand Down Expand Up @@ -136,7 +136,7 @@ private function applyExtensions(array $mergedConfig, ContainerBuilder $containe
* @param ContainerBuilder $container
* @throws UnexpectedValueException
* @throws \LogicException
* @throws \Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException
* @throws \Symfony\Component\DependencyInjection\Exception\InvalidArgumentException
* @SuppressWarnings(PHPMD.StaticAccess)
*/
private function applyNamingStrategy(array $mergedConfig, ContainerBuilder $container): void
Expand All @@ -155,7 +155,6 @@ private function applyNamingStrategy(array $mergedConfig, ContainerBuilder $cont
$translatorClass = SnakeCaseTranslator::class;
}

$translatorInterface = $container->getDefinition(TranslatorInterface::class);
$translatorInterface->setClass($translatorClass);
$container->setAlias(ContainerService::NAMING_STRATEGY_TRANSLATOR, $translatorClass);
}
}
15 changes: 14 additions & 1 deletion Resources/config/services.yaml
Expand Up @@ -14,11 +14,24 @@ services:
- '@BetterSerializer\DataBind\Writer\WriterInterface'

BetterSerializer\DataBind\Naming\PropertyNameTranslator\TranslatorInterface:
class: BetterSerializer\DataBind\Naming\PropertyNameTranslator\IdenticalTranslator
alias: BetterSerializer\DataBind\Naming\PropertyNameTranslator\AnnotationTranslator

BetterSerializer\DataBind\Naming\PropertyNameTranslator\IdenticalTranslator:
class: BetterSerializer\DataBind\Naming\PropertyNameTranslator\IdenticalTranslator

BetterSerializer\DataBind\Naming\PropertyNameTranslator\CamelCaseTranslator:
class: BetterSerializer\DataBind\Naming\PropertyNameTranslator\CamelCaseTranslator

BetterSerializer\DataBind\Naming\PropertyNameTranslator\SnakeCaseTranslator:
class: BetterSerializer\DataBind\Naming\PropertyNameTranslator\SnakeCaseTranslator

BetterSerializer\DataBind\Naming\PropertyNameTranslator\AnnotationTranslator:
class: BetterSerializer\DataBind\Naming\PropertyNameTranslator\AnnotationTranslator
arguments: ['@NamingStrategyTranslator']

NamingStrategyTranslator:
alias: BetterSerializer\DataBind\Naming\PropertyNameTranslator\IdenticalTranslator

BetterSerializer\DataBind\Reader\ReaderInterface:
class: BetterSerializer\DataBind\Reader\Reader
arguments:
Expand Down
13 changes: 6 additions & 7 deletions Tests/DependencyInjection/ConfigurationTest.php
Expand Up @@ -14,7 +14,6 @@
use BetterSerializer\DataBind\Naming\PropertyNameTranslator\CamelCaseTranslator;
use BetterSerializer\DataBind\Naming\PropertyNameTranslator\IdenticalTranslator;
use BetterSerializer\DataBind\Naming\PropertyNameTranslator\SnakeCaseTranslator;
use BetterSerializer\DataBind\Naming\PropertyNameTranslator\TranslatorInterface;
use BetterSerializerBundle\BetterSerializerBundle;
use BetterSerializerBundle\Config\Cache;
// @codingStandardsIgnoreStart
Expand All @@ -31,6 +30,7 @@
ExtensionCollectionMember as CollectionWriterFactoryExtensionMember
};
// @codingStandardsIgnoreEnd
use BetterSerializerBundle\Config\ContainerService;
use BetterSerializerBundle\Tests\Helper\BooleanStringExtension;
use PHPUnit\Framework\TestCase;
use RuntimeException;
Expand Down Expand Up @@ -166,7 +166,6 @@ public function testConfigExtensions()
* @throws \PHPUnit\Framework\ExpectationFailedException
* @throws \SebastianBergmann\RecursionContext\InvalidArgumentException
* @throws \Symfony\Component\DependencyInjection\Exception\InvalidArgumentException
* @throws \Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException
* @dataProvider namingStrategyDataProvider
*/
public function testConfigNamingStrategy(string $namingStrategy, string $expTranslatorClass): void
Expand All @@ -178,9 +177,9 @@ public function testConfigNamingStrategy(string $namingStrategy, string $expTran
],
]);

$translatorClass = $container->getDefinition(TranslatorInterface::class);
$translatorAlias = $container->getAlias(ContainerService::NAMING_STRATEGY_TRANSLATOR);

$this->assertEquals($expTranslatorClass, $translatorClass->getClass());
$this->assertEquals($expTranslatorClass, (string) $translatorAlias);
}

/**
Expand All @@ -199,7 +198,7 @@ public function namingStrategyDataProvider(): array
* @throws \LogicException
* @throws \PHPUnit\Framework\ExpectationFailedException
* @throws \SebastianBergmann\RecursionContext\InvalidArgumentException
* @throws \Symfony\Component\DependencyInjection\Exception\ServiceNotFoundException
* @throws \Symfony\Component\DependencyInjection\Exception\InvalidArgumentException
*/
public function testDefaultConfigNamingStrategy(): void
{
Expand All @@ -209,9 +208,9 @@ public function testDefaultConfigNamingStrategy(): void
],
]);

$translatorClass = $container->getDefinition(TranslatorInterface::class);
$translatorAlias = $container->getAlias(ContainerService::NAMING_STRATEGY_TRANSLATOR);

$this->assertEquals(IdenticalTranslator::class, $translatorClass->getClass());
$this->assertEquals(IdenticalTranslator::class, (string) $translatorAlias);
}

/**
Expand Down
4 changes: 2 additions & 2 deletions composer.json
Expand Up @@ -10,7 +10,6 @@
"email": "rasta@lj.sk"
}
],
"minimum-stability": "dev",
"autoload": {
"psr-4": {
"BetterSerializerBundle\\": ""
Expand All @@ -31,10 +30,11 @@
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^2.5",
"infection/infection": "^0.8",
"jakub-onderka/php-parallel-lint": "^0.9.2",
"nikic/php-parser": "^3.0",
"phpmd/phpmd": "^2.6",
"phpro/grumphp": "^v0.14",
"phpro/grumphp": "v0.14.0",
"phpstan/phpstan": "^0.7",
"phpunit/phpunit": "^7.1",
"satooshi/php-coveralls": "~1.0",
Expand Down

0 comments on commit f12503b

Please sign in to comment.