diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 3c8dc15..3ec518c 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -10,10 +10,11 @@ concurrency: jobs: tests: - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: + os: [ubuntu-latest, windows-latest] php: - '7.4' - '8.0' diff --git a/tests/TicketSwapErrorFormatterTest.php b/tests/TicketSwapErrorFormatterTest.php index 2b85231..5cc00d3 100644 --- a/tests/TicketSwapErrorFormatterTest.php +++ b/tests/TicketSwapErrorFormatterTest.php @@ -39,6 +39,11 @@ public function formatErrors(AnalysisResult $analysisResult, Output $output): in ); } + private static function isWindows() : bool + { + return strtoupper(substr(PHP_OS, 0, 3)) === 'WIN'; + } + /** * @return iterable}> */ @@ -83,7 +88,9 @@ public function testGetLinkFormatFromEnv(string $expected, array $environmentVar public static function provideLinkFormats() : iterable { yield [ - "↳ src/Core/Admin/.../User/AddUserController.php:20\n", + self::isWindows() + ? "↳ src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n" + : "↳ src/Core/Admin/.../User/AddUserController.php:20\n", TicketSwapErrorFormatter::LINK_FORMAT_DEFAULT, 20, '/www/project/src/Core/Admin/Controller/Dashboard/User/AddUserController.php', @@ -433,7 +440,9 @@ public function testFormatErrorsWithErrorsPrintsMessagesLinksSummaryAndReturnsOn self::assertSame(1, $result); - $expectedLink = "↳ /www/project/.../Foo/Bar.php:12\n"; + $expectedLink = self::isWindows() + ? "↳ /www/project/src/Foo/Bar.php:12\n" + : "↳ /www/project/.../Foo/Bar.php:12\n"; $expectedSummary = 'Found 1 error'; $writes = $output->getWrites();