* Dariusz Rumiński * * This source file is subject to the MIT license that is bundled * with this source code in the file LICENSE. */ namespace PhpCsFixer\Tests\Console\Report\FixReport; use PhpCsFixer\Console\Application; use PhpCsFixer\Console\Report\FixReport\CheckstyleReporter; use PhpCsFixer\Console\Report\FixReport\ReporterInterface; use PhpCsFixer\PhpunitConstraintXmlMatchesXsd\Constraint\XmlMatchesXsd; use Symfony\Component\Console\Formatter\OutputFormatter; /** * @author Kévin Gomez * * @internal * * @covers \PhpCsFixer\Console\Report\FixReport\CheckstyleReporter */ final class CheckstyleReporterTest extends AbstractReporterTestCase { /** * "checkstyle" XML schema. * * @var null|string */ private static $xsd; public static function setUpBeforeClass(): void { parent::setUpBeforeClass(); $content = file_get_contents(__DIR__.'/../../../../doc/schemas/fix/checkstyle.xsd'); if (false === $content) { throw new \RuntimeException('Cannot read file.'); } self::$xsd = $content; } public static function tearDownAfterClass(): void { parent::tearDownAfterClass(); self::$xsd = null; } protected static function createNoErrorReport(): string { $about = Application::getAbout(); return << XML; } protected static function createSimpleReport(): string { $about = Application::getAbout(); return << XML; } protected static function createWithDiffReport(): string { $about = Application::getAbout(); // NOTE: checkstyle format does NOT include diffs return << XML; } protected static function createWithAppliedFixersReport(): string { $about = Application::getAbout(); return << XML; } protected static function createWithTimeAndMemoryReport(): string { $about = Application::getAbout(); // NOTE: checkstyle format does NOT include time or memory return << XML; } protected static function createComplexReport(): string { $about = Application::getAbout(); return << XML; } protected function createReporter(): ReporterInterface { return new CheckstyleReporter(); } protected function getFormat(): string { return 'checkstyle'; } protected function assertFormat(string $expected, string $input): void { $formatter = new OutputFormatter(); $input = $formatter->format($input); self::assertThat($input, new XmlMatchesXsd(self::$xsd)); self::assertXmlStringEqualsXmlString($expected, $input); } }