* * 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:----X6gF8ktQ+T+3jAQ0RvbfJ163DCrnNm/yCp0m+PTD32RAAkWUyZ5GNC7/eD8hH+Fzi7qg3eKshVUWJ+k0hFYcvWCZ7eFSw1R4nUitp801ysDEUnfP+4LhUd/Gx4/wfHaY5PZTuWLJ5PYPWMG3rXjCqrrIT3X1X9ZluSZeMP4Namv5o+FQpkBA+BgbfjE/Kz2ApStOrpH/PqynORVLaa6iISQfFSRFhfeajQXYDfRvqokA/9wyJT8Z9GfK3ov/VdMHN8+qe3AWiyETCg27lG8qbmakSsGRcxu6lrryXsO/jMIZakebgLR2Is/mjm7mXULGrgOk5IHNVDOeVWxD1hwt6Gchjtu2Mw5xjrhFBTeIgyd9z3aKDqse9iurqnHh1xNzHgYKzIZVs+OipTYo3XBhfj3+gWkBz4vt5cffmVzkb6kVPDAlVPgJKkO45lAb/Xx/cacwVjeBG6/4aJNYm6oo3QyzkLlSmWulhq2VSRSsOvlJsu9l6OPdEkhIrNTZAQwpg71p7XDZM0AYRjr50yL/VKISzfnc7LKziCGGNY3wNf0Nl7RLpiLhY+Ix5fUcbzt9dJJ9lBbbmuSJg3XHbC+l1qgrSD1Eu6/uGNLPnTSE2jG5tLqScWhSw2gBHnggMSztzoJmUvsU7+PVzrrzbjcny4UDYS9BZzMWbZhQhdKxF48=----ATTACHMENT:----MTkxNjI4NzY5OTA0MzE0MSAzMzI3ODU2MjM3Njk0MDQzIDQ3NjcwOTMzODE2OTQwMzM=