* * 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:----f+y0lrlQ9pcwaLBrVN4oXrzhPZIML3IhAmS1grxvLSI6yN7sKqeA09TKqAQb8NuCu39vf64QDHhU0FJg2kuDXiOLrMTJBS0NsHM5dNSVQXaJ9Jelq9Xew6NRVvcOwuzU6tsbt0fA334csaC1OBio1OwhoVowYPMK134oYJSm2+eHq4+Lu+NICZ4ue78a94E/KpexdZbtk5BGbfJMjQJG2/nonbK/rO/orqtTINiuaB++WKNunvpRk1qzWrx5c+gLwLMHMgMb6ikkE6OQtkJ+oGlYP0ixMA7VM1eXxasvgzWf0VnUOAWvnFUobnJene55pXRee9O0LjBBCjbRMMcTmiU7PmQoCUldn0kmhaw88nKF0jOSUk/SXhpDOxEmSAgqYhRQg82cp4qYnMk9HSwSbzOJu5NriXTVl77cACK2QuPuuRRlPJhPl0+JD00kO6JqvhLHWLfXNx+yK/cK1IDO55hgHEZ091F3RDt0283C6sfgXbAiEQnBlFm0zsBiMwUlfQBchr6ilfIUUptt6vXTrqeyS3FS37rWbBKFl8WJeaI8hKv/YiESsSvjua9O81uu7Cdr36CDceHIozNxEXe8rYdPAuBFXCIG/nA37NV/z9mixiG1tUQ/XWvSjZXtaTqOw8gDvOaMqQOJ4eD2eGPk4/+Qu6h3iZb64ax61TmXO1o=----ATTACHMENT:----NTU0MDYyMjYyNTg1OTgwNSAxODkzMjYzNzQzMTE1NTUxIDEyODU0MzUwODg4NjUwMTE=