From 3bed335a857c32db6ddf5cdf9a85b7d33fbee20a Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Fri, 19 Dec 2025 07:35:27 +0700 Subject: [PATCH 1/8] Add windows on CI --- .github/workflows/ci.yaml | 3 ++- src/TicketSwapErrorFormatter.php | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) 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/src/TicketSwapErrorFormatter.php b/src/TicketSwapErrorFormatter.php index 37cc849..fe1f477 100644 --- a/src/TicketSwapErrorFormatter.php +++ b/src/TicketSwapErrorFormatter.php @@ -178,7 +178,7 @@ public static function link( ); } - private static function trimPath(string $path) : string + private static function trimPath(string $path, $other = '') : string { $parts = explode(DIRECTORY_SEPARATOR, $path); if (count($parts) < 6) { From 9a8cfe585908a9c0dc8a4f5426caab367260f349 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Fri, 19 Dec 2025 07:38:00 +0700 Subject: [PATCH 2/8] update normalize directory separator to works on windows --- src/TicketSwapErrorFormatter.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/TicketSwapErrorFormatter.php b/src/TicketSwapErrorFormatter.php index fe1f477..9b1e24e 100644 --- a/src/TicketSwapErrorFormatter.php +++ b/src/TicketSwapErrorFormatter.php @@ -178,15 +178,17 @@ public static function link( ); } - private static function trimPath(string $path, $other = '') : string + private static function trimPath(string $path) : string { - $parts = explode(DIRECTORY_SEPARATOR, $path); + // Normalize to forward slashes for consistent handling across platforms + $normalizedPath = str_replace('\\', '/', $path); + $parts = explode('/', $normalizedPath); if (count($parts) < 6) { return $path; } return implode( - DIRECTORY_SEPARATOR, + '/', [ ...array_slice($parts, 0, 3), '...', From b7875a9edfb356e99b08b1192fd817c3581b9f95 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Fri, 19 Dec 2025 15:15:02 +0700 Subject: [PATCH 3/8] rollback directory separator normalize --- src/TicketSwapErrorFormatter.php | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/TicketSwapErrorFormatter.php b/src/TicketSwapErrorFormatter.php index 9b1e24e..37cc849 100644 --- a/src/TicketSwapErrorFormatter.php +++ b/src/TicketSwapErrorFormatter.php @@ -180,15 +180,13 @@ public static function link( private static function trimPath(string $path) : string { - // Normalize to forward slashes for consistent handling across platforms - $normalizedPath = str_replace('\\', '/', $path); - $parts = explode('/', $normalizedPath); + $parts = explode(DIRECTORY_SEPARATOR, $path); if (count($parts) < 6) { return $path; } return implode( - '/', + DIRECTORY_SEPARATOR, [ ...array_slice($parts, 0, 3), '...', From cd151051eb1399384f96bc31d733d0c09fbeb37b Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Fri, 19 Dec 2025 15:20:48 +0700 Subject: [PATCH 4/8] fix unit test --- tests/TicketSwapErrorFormatterTest.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) 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(); From cbcfe381c6ee936412d783c0983455824b5e2ef1 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Tue, 17 Feb 2026 22:34:38 +0700 Subject: [PATCH 5/8] update test for windows vs non-windows directory separator use --- tests/TicketSwapErrorFormatterTest.php | 72 ++++++++++++++++++++------ 1 file changed, 56 insertions(+), 16 deletions(-) diff --git a/tests/TicketSwapErrorFormatterTest.php b/tests/TicketSwapErrorFormatterTest.php index 5cc00d3..c41922d 100644 --- a/tests/TicketSwapErrorFormatterTest.php +++ b/tests/TicketSwapErrorFormatterTest.php @@ -87,10 +87,9 @@ public function testGetLinkFormatFromEnv(string $expected, array $environmentVar */ public static function provideLinkFormats() : iterable { - yield [ - self::isWindows() - ? "↳ src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n" - : "↳ src/Core/Admin/.../User/AddUserController.php:20\n", + // Unix/Linux paths (forward slashes) + yield 'Unix - DEFAULT with editor and decoration' => [ + "↳ src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n", TicketSwapErrorFormatter::LINK_FORMAT_DEFAULT, 20, '/www/project/src/Core/Admin/Controller/Dashboard/User/AddUserController.php', @@ -98,7 +97,7 @@ public static function provideLinkFormats() : iterable self::PHPSTORM_EDITOR_URL, true, ]; - yield [ + yield 'Unix - GITHUB_ACTIONS' => [ "↳ src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n", TicketSwapErrorFormatter::LINK_FORMAT_GITHUB_ACTIONS, 20, @@ -107,7 +106,7 @@ public static function provideLinkFormats() : iterable self::PHPSTORM_EDITOR_URL, true, ]; - yield [ + yield 'Unix - WARP' => [ "↳ src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n", TicketSwapErrorFormatter::LINK_FORMAT_WARP, 20, @@ -116,7 +115,7 @@ public static function provideLinkFormats() : iterable self::PHPSTORM_EDITOR_URL, true, ]; - yield [ + yield 'Unix - PHPSTORM' => [ "↳ file:///www/project/src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n", TicketSwapErrorFormatter::LINK_FORMAT_PHPSTORM, 20, @@ -125,7 +124,7 @@ public static function provideLinkFormats() : iterable self::PHPSTORM_EDITOR_URL, true, ]; - yield [ + yield 'Unix - WITHOUT_EDITOR' => [ "↳ src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n", TicketSwapErrorFormatter::LINK_FORMAT_WITHOUT_EDITOR, 20, @@ -134,7 +133,7 @@ public static function provideLinkFormats() : iterable self::PHPSTORM_EDITOR_URL, true, ]; - yield [ + yield 'Unix - DEFAULT without decoration' => [ "↳ src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n", TicketSwapErrorFormatter::LINK_FORMAT_DEFAULT, 20, @@ -143,7 +142,7 @@ public static function provideLinkFormats() : iterable self::PHPSTORM_EDITOR_URL, false, ]; - yield [ + yield 'Unix - DEFAULT without editor URL' => [ "↳ src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n", TicketSwapErrorFormatter::LINK_FORMAT_DEFAULT, 20, @@ -152,6 +151,35 @@ public static function provideLinkFormats() : iterable null, true, ]; + + // Windows paths (backslashes) + yield 'Windows - DEFAULT with editor and decoration' => [ + "↳ src\\Core\\Admin\\...\\User\\AddUserController.php:20\n", + TicketSwapErrorFormatter::LINK_FORMAT_DEFAULT, + 20, + 'C:\\www\\project\\src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php', + 'src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php', + self::PHPSTORM_EDITOR_URL, + true, + ]; + yield 'Windows - GITHUB_ACTIONS' => [ + "↳ src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php:20\n", + TicketSwapErrorFormatter::LINK_FORMAT_GITHUB_ACTIONS, + 20, + 'C:\\www\\project\\src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php', + 'src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php', + self::PHPSTORM_EDITOR_URL, + true, + ]; + yield 'Windows - WITHOUT_EDITOR' => [ + "↳ src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php:20\n", + TicketSwapErrorFormatter::LINK_FORMAT_WITHOUT_EDITOR, + 20, + 'C:\\www\\project\\src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php', + 'src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php', + self::PHPSTORM_EDITOR_URL, + true, + ]; } /** @@ -405,12 +433,20 @@ public function testFormatErrorsNoErrorsWritesNoErrorsAndReturnsZero() : void public function testFormatErrorsWithErrorsPrintsMessagesLinksSummaryAndReturnsOne() : void { + // Use OS-appropriate paths to test directory separator handling + $absolutePath = self::isWindows() + ? 'C:\\www\\project\\src\\Foo\\Bar.php' + : '/www/project/src/Foo/Bar.php'; + $configPath = self::isWindows() + ? 'C:\\www\\project\\phpstan.neon' + : '/www/project/phpstan.neon'; + $fileError = new Error( 'Parameter #1 $var expects string, int given.', - '/www/project/src/Foo/Bar.php', + $absolutePath, 12, null, - '/www/project/src/Foo/Bar.php', + $absolutePath, null, 'Adjust in %configurationFile%', null, @@ -426,7 +462,7 @@ public function testFormatErrorsWithErrorsPrintsMessagesLinksSummaryAndReturnsOn [], [], false, - '/www/project/phpstan.neon', + $configPath, false, 0, false, @@ -440,9 +476,13 @@ public function testFormatErrorsWithErrorsPrintsMessagesLinksSummaryAndReturnsOn self::assertSame(1, $result); - $expectedLink = self::isWindows() - ? "↳ /www/project/src/Foo/Bar.php:12\n" - : "↳ /www/project/.../Foo/Bar.php:12\n"; + // NullRelativePathHelper returns the absolute path, which has 6+ parts and gets trimmed + // Windows: C:\www\project\src\Foo\Bar.php -> C:\www\project\...\Foo\Bar.php + // Unix: /www/project/src/Foo/Bar.php -> /www/project/.../Foo/Bar.php + $expectedShortPath = self::isWindows() + ? 'C:\\www\\project\\...\\Foo\\Bar.php' + : '/www/project/.../Foo/Bar.php'; + $expectedLink = "↳ $expectedShortPath:12\n"; $expectedSummary = 'Found 1 error'; $writes = $output->getWrites(); From 9933385a7e9b96d998dc9971d5fa920f354d8473 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Tue, 17 Feb 2026 22:42:19 +0700 Subject: [PATCH 6/8] by example fix test --- tests/TicketSwapErrorFormatterTest.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/TicketSwapErrorFormatterTest.php b/tests/TicketSwapErrorFormatterTest.php index c41922d..4ce4b31 100644 --- a/tests/TicketSwapErrorFormatterTest.php +++ b/tests/TicketSwapErrorFormatterTest.php @@ -89,7 +89,9 @@ public static function provideLinkFormats() : iterable { // Unix/Linux paths (forward slashes) yield 'Unix - DEFAULT with editor and decoration' => [ - "↳ src/Core/Admin/Controller/Dashboard/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', @@ -154,7 +156,9 @@ public static function provideLinkFormats() : iterable // Windows paths (backslashes) yield 'Windows - DEFAULT with editor and decoration' => [ - "↳ src\\Core\\Admin\\...\\User\\AddUserController.php:20\n", + self::isWindows() + ? "↳ src\\Core\\Admin\\...\\User\\AddUserController.php:20\n" + : "↳ src\Core\Admin\Controller\Dashboard\User\AddUserController.php:20\n", TicketSwapErrorFormatter::LINK_FORMAT_DEFAULT, 20, 'C:\\www\\project\\src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php', From f48a26843dec01877b319f82e19c83b608c54b80 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Tue, 17 Feb 2026 22:46:19 +0700 Subject: [PATCH 7/8] add 1 example for windows example --- tests/TicketSwapErrorFormatterTest.php | 50 +++++--------------------- 1 file changed, 9 insertions(+), 41 deletions(-) diff --git a/tests/TicketSwapErrorFormatterTest.php b/tests/TicketSwapErrorFormatterTest.php index 4ce4b31..053bc15 100644 --- a/tests/TicketSwapErrorFormatterTest.php +++ b/tests/TicketSwapErrorFormatterTest.php @@ -87,19 +87,18 @@ public function testGetLinkFormatFromEnv(string $expected, array $environmentVar */ public static function provideLinkFormats() : iterable { - // Unix/Linux paths (forward slashes) - yield 'Unix - DEFAULT with editor and decoration' => [ + yield [ 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', - 'src/Core/Admin/Controller/Dashboard/User/AddUserController.php', + self::isWindows() ? 'c:\www\project\src\Core\Admin\Controller\Dashboard\User\AddUserController.php' : '/www/project/src/Core/Admin/Controller/Dashboard/User/AddUserController.php', + self::isWindows() ? 'src\Core\Admin\Controller\Dashboard\User\AddUserController.php' : 'src/Core/Admin/Controller/Dashboard/User/AddUserController.php', self::PHPSTORM_EDITOR_URL, true, ]; - yield 'Unix - GITHUB_ACTIONS' => [ + yield [ "↳ src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n", TicketSwapErrorFormatter::LINK_FORMAT_GITHUB_ACTIONS, 20, @@ -108,7 +107,7 @@ public static function provideLinkFormats() : iterable self::PHPSTORM_EDITOR_URL, true, ]; - yield 'Unix - WARP' => [ + yield [ "↳ src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n", TicketSwapErrorFormatter::LINK_FORMAT_WARP, 20, @@ -117,7 +116,7 @@ public static function provideLinkFormats() : iterable self::PHPSTORM_EDITOR_URL, true, ]; - yield 'Unix - PHPSTORM' => [ + yield [ "↳ file:///www/project/src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n", TicketSwapErrorFormatter::LINK_FORMAT_PHPSTORM, 20, @@ -126,7 +125,7 @@ public static function provideLinkFormats() : iterable self::PHPSTORM_EDITOR_URL, true, ]; - yield 'Unix - WITHOUT_EDITOR' => [ + yield [ "↳ src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n", TicketSwapErrorFormatter::LINK_FORMAT_WITHOUT_EDITOR, 20, @@ -135,7 +134,7 @@ public static function provideLinkFormats() : iterable self::PHPSTORM_EDITOR_URL, true, ]; - yield 'Unix - DEFAULT without decoration' => [ + yield [ "↳ src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n", TicketSwapErrorFormatter::LINK_FORMAT_DEFAULT, 20, @@ -144,7 +143,7 @@ public static function provideLinkFormats() : iterable self::PHPSTORM_EDITOR_URL, false, ]; - yield 'Unix - DEFAULT without editor URL' => [ + yield [ "↳ src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n", TicketSwapErrorFormatter::LINK_FORMAT_DEFAULT, 20, @@ -153,37 +152,6 @@ public static function provideLinkFormats() : iterable null, true, ]; - - // Windows paths (backslashes) - yield 'Windows - DEFAULT with editor and decoration' => [ - self::isWindows() - ? "↳ src\\Core\\Admin\\...\\User\\AddUserController.php:20\n" - : "↳ src\Core\Admin\Controller\Dashboard\User\AddUserController.php:20\n", - TicketSwapErrorFormatter::LINK_FORMAT_DEFAULT, - 20, - 'C:\\www\\project\\src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php', - 'src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php', - self::PHPSTORM_EDITOR_URL, - true, - ]; - yield 'Windows - GITHUB_ACTIONS' => [ - "↳ src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php:20\n", - TicketSwapErrorFormatter::LINK_FORMAT_GITHUB_ACTIONS, - 20, - 'C:\\www\\project\\src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php', - 'src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php', - self::PHPSTORM_EDITOR_URL, - true, - ]; - yield 'Windows - WITHOUT_EDITOR' => [ - "↳ src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php:20\n", - TicketSwapErrorFormatter::LINK_FORMAT_WITHOUT_EDITOR, - 20, - 'C:\\www\\project\\src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php', - 'src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php', - self::PHPSTORM_EDITOR_URL, - true, - ]; } /** From caa09973a4b68b12e89bedbea7fb798c037f39b5 Mon Sep 17 00:00:00 2001 From: Abdul Malik Ikhsan Date: Tue, 17 Feb 2026 22:52:32 +0700 Subject: [PATCH 8/8] more test yield windows directory separator example --- tests/TicketSwapErrorFormatterTest.php | 50 ++++++++++++++++---------- 1 file changed, 31 insertions(+), 19 deletions(-) diff --git a/tests/TicketSwapErrorFormatterTest.php b/tests/TicketSwapErrorFormatterTest.php index 053bc15..f500477 100644 --- a/tests/TicketSwapErrorFormatterTest.php +++ b/tests/TicketSwapErrorFormatterTest.php @@ -89,7 +89,7 @@ public static function provideLinkFormats() : iterable { yield [ self::isWindows() - ? "↳ src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n" + ? "↳ src\Core\Admin\...\User\AddUserController.php:20\n" : "↳ src/Core/Admin/.../User/AddUserController.php:20\n", TicketSwapErrorFormatter::LINK_FORMAT_DEFAULT, 20, @@ -99,56 +99,68 @@ public static function provideLinkFormats() : iterable true, ]; yield [ - "↳ src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n", + self::isWindows() + ? "↳ src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php:20\n" + : "↳ src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n", TicketSwapErrorFormatter::LINK_FORMAT_GITHUB_ACTIONS, 20, - '/www/project/src/Core/Admin/Controller/Dashboard/User/AddUserController.php', - 'src/Core/Admin/Controller/Dashboard/User/AddUserController.php', + self::isWindows() ? 'c:\\www\\project\\src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php' : '/www/project/src/Core/Admin/Controller/Dashboard/User/AddUserController.php', + self::isWindows() ? 'src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php' : 'src/Core/Admin/Controller/Dashboard/User/AddUserController.php', self::PHPSTORM_EDITOR_URL, true, ]; yield [ - "↳ src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n", + self::isWindows() + ? "↳ src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php:20\n" + : "↳ src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n", TicketSwapErrorFormatter::LINK_FORMAT_WARP, 20, - '/www/project/src/Core/Admin/Controller/Dashboard/User/AddUserController.php', - 'src/Core/Admin/Controller/Dashboard/User/AddUserController.php', + self::isWindows() ? 'c:\\www\\project\\src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php' : '/www/project/src/Core/Admin/Controller/Dashboard/User/AddUserController.php', + self::isWindows() ? 'src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php' : 'src/Core/Admin/Controller/Dashboard/User/AddUserController.php', self::PHPSTORM_EDITOR_URL, true, ]; yield [ - "↳ file:///www/project/src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n", + self::isWindows() + ? "↳ file://c:\\www\\project\\src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php:20\n" + : "↳ file:///www/project/src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n", TicketSwapErrorFormatter::LINK_FORMAT_PHPSTORM, 20, - '/www/project/src/Core/Admin/Controller/Dashboard/User/AddUserController.php', - 'src/Core/Admin/Controller/Dashboard/User/AddUserController.php', + self::isWindows() ? 'c:\\www\\project\\src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php' : '/www/project/src/Core/Admin/Controller/Dashboard/User/AddUserController.php', + self::isWindows() ? 'src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php' : 'src/Core/Admin/Controller/Dashboard/User/AddUserController.php', self::PHPSTORM_EDITOR_URL, true, ]; yield [ - "↳ src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n", + self::isWindows() + ? "↳ src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php:20\n" + : "↳ src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n", TicketSwapErrorFormatter::LINK_FORMAT_WITHOUT_EDITOR, 20, - '/www/project/src/Core/Admin/Controller/Dashboard/User/AddUserController.php', - 'src/Core/Admin/Controller/Dashboard/User/AddUserController.php', + self::isWindows() ? 'c:\\www\\project\\src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php' : '/www/project/src/Core/Admin/Controller/Dashboard/User/AddUserController.php', + self::isWindows() ? 'src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php' : 'src/Core/Admin/Controller/Dashboard/User/AddUserController.php', self::PHPSTORM_EDITOR_URL, true, ]; yield [ - "↳ src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n", + self::isWindows() + ? "↳ src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php:20\n" + : "↳ src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n", TicketSwapErrorFormatter::LINK_FORMAT_DEFAULT, 20, - '/www/project/src/Core/Admin/Controller/Dashboard/User/AddUserController.php', - 'src/Core/Admin/Controller/Dashboard/User/AddUserController.php', + self::isWindows() ? 'c:\\www\\project\\src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php' : '/www/project/src/Core/Admin/Controller/Dashboard/User/AddUserController.php', + self::isWindows() ? 'src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php' : 'src/Core/Admin/Controller/Dashboard/User/AddUserController.php', self::PHPSTORM_EDITOR_URL, false, ]; yield [ - "↳ src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n", + self::isWindows() + ? "↳ src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php:20\n" + : "↳ src/Core/Admin/Controller/Dashboard/User/AddUserController.php:20\n", TicketSwapErrorFormatter::LINK_FORMAT_DEFAULT, 20, - '/www/project/src/Core/Admin/Controller/Dashboard/User/AddUserController.php', - 'src/Core/Admin/Controller/Dashboard/User/AddUserController.php', + self::isWindows() ? 'c:\\www\\project\\src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php' : '/www/project/src/Core/Admin/Controller/Dashboard/User/AddUserController.php', + self::isWindows() ? 'src\\Core\\Admin\\Controller\\Dashboard\\User\\AddUserController.php' : 'src/Core/Admin/Controller/Dashboard/User/AddUserController.php', null, true, ];