Skip to content

Commit 3b226b9

Browse files
committed
Work around phpstan errors
1 parent ff6db17 commit 3b226b9

5 files changed

Lines changed: 36 additions & 6 deletions

File tree

tests/ClassTest.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,7 @@
1111

1212
namespace Composer\XdebugHandler;
1313

14-
use Composer\XdebugHandler\Helpers\LegacyLogger;
15-
use Composer\XdebugHandler\Helpers\Logger;
14+
use Composer\XdebugHandler\Helpers\LoggerFactory;
1615
use PHPUnit\Framework\TestCase;
1716

1817
/**
@@ -49,7 +48,7 @@ public function setterProvider()
4948
{
5049
// $setter, $value
5150
return array(
52-
'setLogger' => array('setLogger', \PHP_VERSION_ID < 70100 ? new LegacyLogger() : new Logger()),
51+
'setLogger' => array('setLogger', LoggerFactory::createLogger()),
5352
'setMainScript' => array('setMainScript', '--'),
5453
'setPersistent' => array('setPersistent', null),
5554
);

tests/Helpers/LegacyLogger.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313

1414
use Psr\Log\AbstractLogger;
1515

16+
/**
17+
* Psr\Log version 1 implementation
18+
*/
1619
class LegacyLogger extends AbstractLogger
1720
{
1821
protected $output = array();

tests/Helpers/Logger.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@
1313

1414
use Psr\Log\AbstractLogger;
1515

16+
/**
17+
* Psr\Log version 2+ implementation
18+
*/
1619
class Logger extends AbstractLogger
1720
{
1821
protected $output = array();

tests/Helpers/LoggerFactory.php

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
<?php
2+
3+
/*
4+
* This file is part of composer/xdebug-handler.
5+
*
6+
* (c) Composer <https://github.com/composer>
7+
*
8+
* For the full copyright and license information, please view
9+
* the LICENSE file that was distributed with this source code.
10+
*/
11+
12+
namespace Composer\XdebugHandler\Helpers;
13+
14+
/**
15+
* Required to provide the correct Psr\Log implementation for phpstan analysis
16+
*/
17+
class LoggerFactory
18+
{
19+
public static function createLogger()
20+
{
21+
$class = PHP_VERSION_ID < 70100 ? 'LegacyLogger' : 'Logger';
22+
$className = __NAMESPACE__.'\\'.$class;
23+
24+
return new $className();
25+
}
26+
}

tests/StatusTest.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@
1212
namespace Composer\XdebugHandler;
1313

1414
use Composer\XdebugHandler\Helpers\BaseTestCase;
15-
use Composer\XdebugHandler\Helpers\LegacyLogger;
16-
use Composer\XdebugHandler\Helpers\Logger;
15+
use Composer\XdebugHandler\Helpers\LoggerFactory;
1716
use Composer\XdebugHandler\Mocks\CoreMock;
1817
use Psr\Log\LogLevel;
1918

@@ -28,7 +27,7 @@ public function testSetLoggerProvidesOutput()
2827
{
2928
$loaded = true;
3029

31-
$logger = \PHP_VERSION_ID < 70100 ? new LegacyLogger() : new Logger();
30+
$logger = LoggerFactory::createLogger();
3231
$settings = array('setLogger' => array($logger));
3332

3433
$xdebug = CoreMock::createAndCheck($loaded, null, $settings);

0 commit comments

Comments
 (0)