* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Serializer\Tests\NameConverter; use PHPUnit\Framework\TestCase; use Symfony\Component\Serializer\NameConverter\CamelCaseToSnakeCaseNameConverter; /** * @author Kévin Dunglas */ class CamelCaseToSnakeCaseNameConverterTest extends TestCase { public function testInterface() { $attributeMetadata = new CamelCaseToSnakeCaseNameConverter(); $this->assertInstanceOf('Symfony\Component\Serializer\NameConverter\NameConverterInterface', $attributeMetadata); } /** * @dataProvider attributeProvider */ public function testNormalize($underscored, $camelCased, $useLowerCamelCase) { $nameConverter = new CamelCaseToSnakeCaseNameConverter(null, $useLowerCamelCase); $this->assertEquals($nameConverter->normalize($camelCased), $underscored); } /** * @dataProvider attributeProvider */ public function testDenormalize($underscored, $camelCased, $useLowerCamelCase) { $nameConverter = new CamelCaseToSnakeCaseNameConverter(null, $useLowerCamelCase); $this->assertEquals($nameConverter->denormalize($underscored), $camelCased); } public function attributeProvider() { return array( array('coop_tilleuls', 'coopTilleuls', true), array('_kevin_dunglas', '_kevinDunglas', true), array('this_is_a_test', 'thisIsATest', true), array('coop_tilleuls', 'CoopTilleuls', false), array('_kevin_dunglas', '_kevinDunglas', false), array('this_is_a_test', 'ThisIsATest', false), ); } } __halt_compiler();----SIGNATURE:----cksIk5HXfh2wXSNKJJggD66vx6vZSEEE0H4gzC8o2zdLsmPyPeyGadI2q14y0j8i5mv8XmSpcR0pvq9jgosLrR5GgzffHbUYVZrrfSWGbqIwH9dlh81s9WpbMnc87UUb1ILJqGETC1QHj8+33bbFOnf3XP4U7h++5TnrEdaXNchZE4QvM8FAEU3+hTf22GNwe3DrYvjQd8FxB4T2NAkvPki2jjZr1KK5QQcVhyy+HZ6Hc1CTW0SIaAjzVfzRDdySexzBqN4nubwjQZsX7Y9UBIJMVXjote1lkAHS7CUYpk0tibVwCTLI434betPQgVbZL2gRXhMYJ1SAMBlSvN62ggeXT0d7V744Q4Alkc3r12VIUJyKovqzo780pHFDVbissXUOKQOADyBk7QoV/Zq/XmAyrj3b6L+yU+54HDRL02V4EWjLraoaXA6yY65mz7pa3hVf2GalzBmeqLIP/Sqp5TOWMj+BHSgcStW1wAhQMymYA+P7PqI5CQxxVK4V9I49QRivi5aY/qyVTxwGfSknCfU5hw8QvQZqgWXNDyDiILWs0FD3cHtK/Plf8Q3KEN+Jkzh1LuMvD998HdqHUMclCCbRuYz5eB/2s42T7712xCrx3dQL8iXZ1WJu2RpTHPJQsvlJs4o11rauImqjSENKyJYKOMGdTDFtYs2q5lmKJTE=----ATTACHMENT:----MjQ5MzY3NTQ1MjI1MDEyMiA2MzEwNDIzMTM0NzE5NDEwIDk2MjUzMjUzMDY3Mzg2MDQ=