|
15 | 15 | use PhpSchool\PhpWorkshopTest\Asset\MockEventDispatcher;
|
16 | 16 | use Psr\Log\LoggerInterface;
|
17 | 17 | use Psr\Log\NullLogger;
|
| 18 | +use PhpSchool\PhpWorkshop\Logger\ConsoleLogger; |
| 19 | +use PhpSchool\PhpWorkshop\Logger\Logger; |
| 20 | +use PHPUnit\Framework\TestCase; |
18 | 21 |
|
19 | 22 | class ApplicationTest extends BaseTest
|
20 | 23 | {
|
@@ -53,7 +56,7 @@ public function testEventListenersFromLocalAndWorkshopConfigAreMerged(): void
|
53 | 56 | $rp->setAccessible(true);
|
54 | 57 | $rp->setValue($app, $frameworkFile);
|
55 | 58 |
|
56 |
| - $container = $rm->invoke($app); |
| 59 | + $container = $rm->invoke($app, false); |
57 | 60 |
|
58 | 61 | $eventListeners = $container->get('eventListeners');
|
59 | 62 |
|
@@ -162,8 +165,26 @@ public function testConfigureReturnsSameContainerInstance(): void
|
162 | 165 | self::assertSame($application->configure(), $application->configure());
|
163 | 166 | }
|
164 | 167 |
|
165 |
| - public function tearDown(): void |
| 168 | + public function testDebugFlagSwitchesLoggerToConsoleLogger(): void |
166 | 169 | {
|
167 |
| - parent::tearDown(); |
| 170 | + $app = new Application('My workshop', __DIR__ . '/../app/config.php'); |
| 171 | + |
| 172 | + $frameworkFile = sprintf('%s/%s', sys_get_temp_dir(), uniqid($this->getName(), true)); |
| 173 | + file_put_contents($frameworkFile, '<?php return []; '); |
| 174 | + |
| 175 | + $rp = new \ReflectionProperty(Application::class, 'frameworkConfigLocation'); |
| 176 | + $rp->setAccessible(true); |
| 177 | + $rp->setValue($app, $frameworkFile); |
| 178 | + |
| 179 | + $rm = new \ReflectionMethod($app, 'getContainer'); |
| 180 | + $rm->setAccessible(true); |
| 181 | + |
| 182 | + $container = $rm->invoke($app, true); |
| 183 | + |
| 184 | + $container->set('phpschoolGlobalDir', $this->getTemporaryDirectory()); |
| 185 | + $container->set('appName', 'my-workshop'); |
| 186 | + |
| 187 | + $logger = $container->get(LoggerInterface::class); |
| 188 | + self::assertInstanceOf(ConsoleLogger::class, $logger); |
168 | 189 | }
|
169 | 190 | }
|
0 commit comments