<?php declare(strict_types=1); namespace ShlinkioTest\Shlink\CLI\Command\Config; use PHPUnit\Framework\TestCase; use Shlinkio\Shlink\CLI\Command\Config\GenerateCharsetCommand; use Symfony\Component\Console\Application; use Symfony\Component\Console\Tester\CommandTester; use Zend\I18n\Translator\Translator; use function implode; use function sort; use function str_split; class GenerateCharsetCommandTest extends TestCase { /** * @var CommandTester */ protected $commandTester; public function setUp() { $command = new GenerateCharsetCommand(Translator::factory([])); $app = new Application(); $app->add($command); $this->commandTester = new CommandTester($command); } /** * @test */ public function charactersAreGeneratedFromDefault() { $prefix = 'Character set: '; $this->commandTester->execute([ 'command' => 'config:generate-charset', ]); $output = $this->commandTester->getDisplay(); // Both default character set and the new one should have the same length $this->assertContains($prefix, $output); } protected function orderStringLetters($string) { $letters = str_split($string); sort($letters); return implode('', $letters); } }