<?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 function implode; use function sort; use function str_split; class GenerateCharsetCommandTest extends TestCase { /** @var CommandTester */ private $commandTester; public function setUp(): void { $command = new GenerateCharsetCommand(); $app = new Application(); $app->add($command); $this->commandTester = new CommandTester($command); } /** @test */ public function charactersAreGeneratedFromDefault() { $prefix = 'Character set: '; $this->commandTester->execute([]); $output = $this->commandTester->getDisplay(); // Both default character set and the new one should have the same length $this->assertStringContainsString($prefix, $output); } protected function orderStringLetters($string) { $letters = str_split($string); sort($letters); return implode('', $letters); } }