|
40 | 40 | $container->bind(\Laravel\Boost\Install\CodeEnvironment\VSCode::class, fn () => $program2); |
41 | 41 | $container->bind(\Laravel\Boost\Install\CodeEnvironment\Cursor::class, fn () => $program3); |
42 | 42 | $container->bind(\Laravel\Boost\Install\CodeEnvironment\ClaudeCode::class, fn () => $otherProgram); |
| 43 | + $container->bind(\Laravel\Boost\Install\CodeEnvironment\Codex::class, fn () => $otherProgram); |
43 | 44 | $container->bind(\Laravel\Boost\Install\CodeEnvironment\Copilot::class, fn () => $otherProgram); |
44 | 45 |
|
45 | 46 | $detector = new CodeEnvironmentsDetector($container); |
|
64 | 65 | $container->bind(\Laravel\Boost\Install\CodeEnvironment\VSCode::class, fn () => $otherProgram); |
65 | 66 | $container->bind(\Laravel\Boost\Install\CodeEnvironment\Cursor::class, fn () => $otherProgram); |
66 | 67 | $container->bind(\Laravel\Boost\Install\CodeEnvironment\ClaudeCode::class, fn () => $otherProgram); |
| 68 | + $container->bind(\Laravel\Boost\Install\CodeEnvironment\Codex::class, fn () => $otherProgram); |
67 | 69 | $container->bind(\Laravel\Boost\Install\CodeEnvironment\Copilot::class, fn () => $otherProgram); |
68 | 70 |
|
69 | 71 | $detector = new CodeEnvironmentsDetector($container); |
|
139 | 141 |
|
140 | 142 | expect($detected)->toContain('claudecode'); |
141 | 143 |
|
142 | | - // Cleanup |
143 | 144 | unlink($tempDir.'/CLAUDE.md'); |
144 | 145 | rmdir($tempDir); |
145 | 146 | }); |
|
169 | 170 |
|
170 | 171 | expect($detected)->toContain('claudecode'); |
171 | 172 |
|
172 | | - // Cleanup |
173 | 173 | rmdir($tempDir.'/.claude'); |
174 | 174 | rmdir($tempDir); |
175 | 175 | }); |
|
216 | 216 | rmdir($tempDir); |
217 | 217 | }); |
218 | 218 |
|
| 219 | +test('discoverProjectInstalledCodeEnvironments detects codex with codex directory', function () { |
| 220 | + $tempDir = sys_get_temp_dir().'/boost_test_'.uniqid(); |
| 221 | + mkdir($tempDir); |
| 222 | + mkdir($tempDir.'/.codex'); |
| 223 | + |
| 224 | + $detected = $this->detector->discoverProjectInstalledCodeEnvironments($tempDir); |
| 225 | + |
| 226 | + expect($detected)->toContain('codex'); |
| 227 | + |
| 228 | + rmdir($tempDir.'/.codex'); |
| 229 | + rmdir($tempDir); |
| 230 | +}); |
| 231 | + |
| 232 | +test('discoverProjectInstalledCodeEnvironments detects codex with AGENTS.md file', function () { |
| 233 | + $tempDir = sys_get_temp_dir().'/boost_test_'.uniqid(); |
| 234 | + mkdir($tempDir); |
| 235 | + file_put_contents($tempDir.'/AGENTS.md', 'test'); |
| 236 | + |
| 237 | + $detected = $this->detector->discoverProjectInstalledCodeEnvironments($tempDir); |
| 238 | + |
| 239 | + expect($detected)->toContain('codex'); |
| 240 | + |
| 241 | + unlink($tempDir.'/AGENTS.md'); |
| 242 | + rmdir($tempDir); |
| 243 | +}); |
| 244 | + |
219 | 245 | test('discoverProjectInstalledCodeEnvironments handles multiple detections', function () { |
220 | 246 | $tempDir = sys_get_temp_dir().'/boost_test_'.uniqid(); |
221 | 247 | mkdir($tempDir); |
|
0 commit comments