|
17 | 17 | class TableErrorFormatterTest extends ErrorFormatterTestCase |
18 | 18 | { |
19 | 19 |
|
| 20 | + private string|false $terminalEmulator; |
| 21 | + |
20 | 22 | #[Override] |
21 | 23 | protected function setUp(): void |
22 | 24 | { |
23 | 25 | putenv('GITHUB_ACTIONS'); |
| 26 | + |
| 27 | + $this->terminalEmulator = getenv('TERMINAL_EMULATOR'); |
| 28 | + putenv('TERMINAL_EMULATOR'); |
24 | 29 | } |
25 | 30 |
|
26 | 31 | #[Override] |
27 | 32 | protected function tearDown(): void |
28 | 33 | { |
29 | 34 | putenv('COLUMNS'); |
30 | 35 | putenv('TERM_PROGRAM'); |
| 36 | + putenv('TERMINAL_EMULATOR' . ($this->terminalEmulator !== false ? '=' . $this->terminalEmulator : '')); |
31 | 37 | } |
32 | 38 |
|
33 | 39 | public static function dataFormatterOutputProvider(): iterable |
@@ -226,6 +232,33 @@ public static function dataFormatterOutputProvider(): iterable |
226 | 232 |
|
227 | 233 | [ERROR] Found 1 error |
228 | 234 |
|
| 235 | +', |
| 236 | + ]; |
| 237 | + |
| 238 | + yield [ |
| 239 | + 'message' => 'Errors in JetBrains', |
| 240 | + 'exitCode' => 1, |
| 241 | + 'numFileErrors' => [5, 1], |
| 242 | + 'numGenericErrors' => 1, |
| 243 | + 'verbose' => true, |
| 244 | + 'extraEnvVars' => ['TERMINAL_EMULATOR=JetBrains-JediTerm'], |
| 245 | + 'expected' => ' ------ ---------------- |
| 246 | + Line foo.php |
| 247 | + ------ ---------------- |
| 248 | + 5 Foobar\Buz |
| 249 | + 🪪 foobar.buz |
| 250 | + 💡 a tip |
| 251 | + at foo.php:5 |
| 252 | + ------ ---------------- |
| 253 | +
|
| 254 | + -- --------------------- |
| 255 | + Error |
| 256 | + -- --------------------- |
| 257 | + first generic error |
| 258 | + -- --------------------- |
| 259 | +
|
| 260 | + [ERROR] Found 2 errors |
| 261 | +
|
229 | 262 | ', |
230 | 263 | ]; |
231 | 264 | } |
@@ -271,10 +304,6 @@ public function testEditorUrlWithTrait(): void |
271 | 304 |
|
272 | 305 | public function testEditorUrlWithRelativePath(): void |
273 | 306 | { |
274 | | - if (getenv('TERMINAL_EMULATOR') === 'JetBrains-JediTerm') { |
275 | | - $this->markTestSkipped('PhpStorm console does not support links in console.'); |
276 | | - } |
277 | | - |
278 | 307 | $formatter = $this->createErrorFormatter('editor://custom/path/%relFile%/%line%'); |
279 | 308 | $error = new Error('Test', 'Foo.php', 12, filePath: self::DIRECTORY_PATH . '/rel/Foo.php'); |
280 | 309 | $formatter->formatErrors(new AnalysisResult([$error], [], [], [], [], false, null, true, 0, false, []), $this->getOutput(true)); |
|
0 commit comments