* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Console\Tests\Helper; use Symfony\Component\Console\Helper\FormatterHelper; class FormatterHelperTest extends \PHPUnit_Framework_TestCase { public function testFormatSection() { $formatter = new FormatterHelper(); $this->assertEquals( '[cli] Some text to display', $formatter->formatSection('cli', 'Some text to display'), '::formatSection() formats a message in a section' ); } public function testFormatBlock() { $formatter = new FormatterHelper(); $this->assertEquals( ' Some text to display ', $formatter->formatBlock('Some text to display', 'error'), '::formatBlock() formats a message in a block' ); $this->assertEquals( ' Some text to display '."\n". ' foo bar ', $formatter->formatBlock(array('Some text to display', 'foo bar'), 'error'), '::formatBlock() formats a message in a block' ); $this->assertEquals( ' '."\n". ' Some text to display '."\n". ' ', $formatter->formatBlock('Some text to display', 'error', true), '::formatBlock() formats a message in a block' ); } public function testFormatBlockWithDiacriticLetters() { $formatter = new FormatterHelper(); $this->assertEquals( ' '."\n". ' Du texte à afficher '."\n". ' ', $formatter->formatBlock('Du texte à afficher', 'error', true), '::formatBlock() formats a message in a block' ); } public function testFormatBlockWithDoubleWidthDiacriticLetters() { $formatter = new FormatterHelper(); $this->assertEquals( ' '."\n". ' 表示するテキスト '."\n". ' ', $formatter->formatBlock('表示するテキスト', 'error', true), '::formatBlock() formats a message in a block' ); } public function testFormatBlockLGEscaping() { $formatter = new FormatterHelper(); $this->assertEquals( ' '."\n". ' \some info\ '."\n". ' ', $formatter->formatBlock('some info', 'error', true), '::formatBlock() escapes \'<\' chars' ); } public function testTruncatingWithShorterLengthThanMessageWithSuffix() { $formatter = new FormatterHelper(); $message = 'testing truncate'; $this->assertSame('test...', $formatter->truncate($message, 4)); $this->assertSame('testing truncat...', $formatter->truncate($message, 15)); $this->assertSame('testing truncate...', $formatter->truncate($message, 16)); $this->assertSame('zażółć gęślą...', $formatter->truncate('zażółć gęślą jaźń', 12)); } public function testTruncatingMessageWithCustomSuffix() { $formatter = new FormatterHelper(); $message = 'testing truncate'; $this->assertSame('test!', $formatter->truncate($message, 4, '!')); } public function testTruncatingWithLongerLengthThanMessageWithSuffix() { $formatter = new FormatterHelper(); $message = 'test'; $this->assertSame($message, $formatter->truncate($message, 10)); } public function testTruncatingWithNegativeLength() { $formatter = new FormatterHelper(); $message = 'testing truncate'; $this->assertSame('testing tru...', $formatter->truncate($message, -5)); $this->assertSame('...', $formatter->truncate($message, -100)); } }