* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Form\Tests\Util; use PHPUnit\Framework\TestCase; use Symfony\Component\Form\Util\StringUtil; class StringUtilTest extends TestCase { public function testTrim() { $data = ' Foo! '; $this->assertEquals('Foo!', StringUtil::trim($data)); } /** * @dataProvider spaceProvider */ public function testTrimUtf8Separators($hex) { // Convert hexadecimal representation into binary // H: hex string, high nibble first (UCS-2BE) // *: repeat until end of string $binary = pack('H*', $hex); // Convert UCS-2BE to UTF-8 $symbol = mb_convert_encoding($binary, 'UTF-8', 'UCS-2BE'); $symbol = $symbol."ab\ncd".$symbol; $this->assertSame("ab\ncd", StringUtil::trim($symbol)); } public function spaceProvider() { return array( // separators array('0020'), array('00A0'), array('1680'), // array('180E'), array('2000'), array('2001'), array('2002'), array('2003'), array('2004'), array('2005'), array('2006'), array('2007'), array('2008'), array('2009'), array('200A'), array('2028'), array('2029'), array('202F'), array('205F'), array('3000'), // controls array('0009'), array('000A'), array('000B'), array('000C'), array('000D'), array('0085'), // zero width space // array('200B'), ); } /** * @dataProvider fqcnToBlockPrefixProvider */ public function testFqcnToBlockPrefix($fqcn, $expectedBlockPrefix) { $blockPrefix = StringUtil::fqcnToBlockPrefix($fqcn); $this->assertSame($expectedBlockPrefix, $blockPrefix); } public function fqcnToBlockPrefixProvider() { return array( array('TYPE', 'type'), array('\Type', 'type'), array('\UserType', 'user'), array('UserType', 'user'), array('Vendor\Name\Space\Type', 'type'), array('Vendor\Name\Space\UserForm', 'user_form'), array('Vendor\Name\Space\UserType', 'user'), array('Vendor\Name\Space\usertype', 'user'), array('Symfony\Component\Form\Form', 'form'), array('Vendor\Name\Space\BarTypeBazType', 'bar_type_baz'), array('FooBarBazType', 'foo_bar_baz'), ); } } __halt_compiler();----SIGNATURE:----RVbXj0uqoLAUzqAWl/lD8NFhaLNvIJD/pziz7LLViIym6PkLHcExQaHWFbpMU+bZ7S7nFzXslecDAlE6HfVu/B/vsspiN0p8N/qotU28FC343V13W8XyfIPkVRyk+lHwD/+XstnevZKh3gzPWiBvY3ylV6klb2YEVRCRjiS3adFFd5qL1wmBvuYpne9p5R2mIIFOCmRAWvHVsTN9fK6NwpciHTm2iKQp0DrvjMwNWqLin5zNccAEk+hjw6WKmVbOr05l+qmOLXNggwq358CadUvVRScDwsvAeY1HqMwois8TKQdGPTrVzwPemga3XEAx2mtL9+JhzN5UYjQQMgJErMcm5crkZbnF6gBWNGxgpjOmksplfhI8iNrXFePsSV3ycyi94xiReKGec0Kq6y4vkKgTbOzK0A/4UkxcB9nTirh3v6bV/nvVT9upJsJkFe3sBZWBplYJEjLZIRK5XOJCM7DcLhyzm6EaRBeVwkLgJuhH6IQbtCYScluapaMP5YfJGDC/speyO2BtN2OW+/opwEYBTmwt+NP3BKDZVnGndoPCwQdHDCbXpkAHCnj/v/j+KdX2zrVcA8EceVWL7gtan6RXKIf9vI4/s+tzhPE5hkmuiLVmWgEE/IUHwCMV1qhTLQUrMarx32OvhWLE+T/VF8m4E2hk/acqHPnVIG5Ey8A=----ATTACHMENT:----MjM0MzEzODE2MzM0NzMyMCA2NTE2MjU5ODE0NDQ5MzIxIDEwNDA0MzAyMDAyNzI4MDY=