From 816d6d3cd4d116aaaed0b6310eaa6196cf9e0382 Mon Sep 17 00:00:00 2001 From: DualFroz Date: Sat, 3 Oct 2026 01:50:30 +0200 Subject: [PATCH] fix: ignore line endings in scaffolder output assertions --- src/Traits/InteractsWithScaffolder.php | 12 +++++-- tests/src/Scaffolder/ScaffolderTest.php | 43 +++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 2 deletions(-) diff --git a/src/Traits/InteractsWithScaffolder.php b/src/Traits/InteractsWithScaffolder.php index 2d3607d..90556f1 100644 --- a/src/Traits/InteractsWithScaffolder.php +++ b/src/Traits/InteractsWithScaffolder.php @@ -36,7 +36,11 @@ trait InteractsWithScaffolder }); foreach ($expectedOutputStrings as $expected) { - $this->assertStringContainsString($expected, $output, 'Output does not contain expected string.'); + $this->assertStringContainsStringIgnoringLineEndings( + $expected, + $output, + 'Output does not contain expected string.', + ); } } @@ -68,7 +72,11 @@ trait InteractsWithScaffolder }); foreach ($expectedOutputStrings as $expected) { - $this->assertStringContainsString($expected, $output, 'Output does not contain expected string.'); + $this->assertStringContainsStringIgnoringLineEndings( + $expected, + $output, + 'Output does not contain expected string.', + ); } } diff --git a/tests/src/Scaffolder/ScaffolderTest.php b/tests/src/Scaffolder/ScaffolderTest.php index 1acbb4f..ba532ea 100644 --- a/tests/src/Scaffolder/ScaffolderTest.php +++ b/tests/src/Scaffolder/ScaffolderTest.php @@ -92,6 +92,49 @@ PHP, ); } + public function testCommandSameOutputStringsIgnoreLineEndings(): void + { + $this->assertScaffolderCommandSame( + 'create:filter', + [ + 'name' => 'Test', + ], + expected: <<<'PHP' +assertScaffolderCommandContains( + 'create:filter', + [ + 'name' => 'Test', + ], + expectedStrings: [ + 'final class TestFilter extends Filter', + ], + expectedOutputStrings: [ + "Next steps:\r\n1. Read more about Filter Objects in the documentation", + ], + ); + } + public function testAfterTestFilesShoulBeRestored(): void { $files = $this->mockContainer(FilesInterface::class);