Skip to content

Commit

Permalink
MNT Resolve deprecation warnings in tests
Browse files Browse the repository at this point in the history
  • Loading branch information
GuySartorelli committed Sep 10, 2024
1 parent 9e6ecde commit 67c1852
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 13 deletions.
7 changes: 3 additions & 4 deletions tests/php/Core/EnvironmentTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

namespace SilverStripe\Core\Tests;

use ReflectionProperty;
use ReflectionClass;
use SilverStripe\Core\Environment;
use SilverStripe\Dev\SapphireTest;

Expand Down Expand Up @@ -142,9 +142,8 @@ public function testHasEnv(?string $setAs, $value, bool $expected)
$this->assertSame($expected, Environment::hasEnv($name));

// unset the value
$reflectionEnv = new ReflectionProperty(Environment::class, 'env');
$reflectionEnv->setAccessible(true);
$reflectionEnv->setValue(array_diff($reflectionEnv->getValue(), [$name => $value]));
$reflectionEnv = new ReflectionClass(Environment::class);
$reflectionEnv->setStaticPropertyValue('env', array_diff($reflectionEnv->getStaticPropertyValue('env'), [$name => $value]));
unset($_ENV[$name]);
unset($_SERVER[$name]);
putenv("$name");
Expand Down
7 changes: 3 additions & 4 deletions tests/php/Core/ExtensionTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
namespace SilverStripe\Core\Tests;

use BadMethodCallException;
use ReflectionProperty;
use ReflectionClass;
use SilverStripe\Core\Config\Config;
use SilverStripe\Core\Tests\ExtensionTest\NamedExtension;
use SilverStripe\Dev\SapphireTest;
Expand All @@ -15,9 +15,8 @@ protected function setUp(): void
{
parent::setUp();
// Reset extra_methods so that when we set NamedExtension to null it re-evaluates which methods are available
$reflectionProperty = new ReflectionProperty(DataObject::class, 'extra_methods');
$reflectionProperty->setAccessible(true);
$reflectionProperty->setValue([]);
$reflectionClass = new ReflectionClass(DataObject::class);
$reflectionClass->setStaticPropertyValue('extra_methods', []);
// Add named extension config like we would in yaml
Config::modify()->merge(DataObject::class, 'extensions', ['NamedExtension' => NamedExtension::class]);
}
Expand Down
9 changes: 4 additions & 5 deletions tests/php/Logging/HTTPOutputHandlerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
namespace SilverStripe\Logging\Tests;

use Monolog\Handler\HandlerInterface;
use ReflectionClass;
use ReflectionMethod;
use ReflectionProperty;
use SilverStripe\Control\Director;
use SilverStripe\Core\Injector\Injector;
use SilverStripe\Dev\Deprecation;
Expand Down Expand Up @@ -156,8 +156,7 @@ public function testShouldShowError(
) {
$reflectionShouldShow = new ReflectionMethod(HTTPOutputHandler::class, 'shouldShowError');
$reflectionShouldShow->setAccessible(true);
$reflectionTriggeringError = new ReflectionProperty(Deprecation::class, 'isTriggeringError');
$reflectionTriggeringError->setAccessible(true);
$reflectionDeprecation = new ReflectionClass(Deprecation::class);

$cliShouldShowOrig = Deprecation::shouldShowForCli();
$httpShouldShowOrig = Deprecation::shouldShowForHttp();
Expand All @@ -171,7 +170,7 @@ public function testShouldShowError(
Deprecation::setShouldShowForCli(true);
Deprecation::setShouldShowForHttp($shouldShow);
}
$reflectionTriggeringError->setValue($triggeringError);
$reflectionDeprecation->setStaticPropertyValue('isTriggeringError', $triggeringError);

$mockHandler = $this->getMockBuilder(HTTPOutputHandler::class)->onlyMethods(['isCli'])->getMock();
$mockHandler->method('isCli')->willReturn($isCli);
Expand All @@ -181,6 +180,6 @@ public function testShouldShowError(

Deprecation::setShouldShowForCli($cliShouldShowOrig);
Deprecation::setShouldShowForHttp($httpShouldShowOrig);
$reflectionTriggeringError->setValue($triggeringErrorOrig);
$reflectionDeprecation->setStaticPropertyValue('isTriggeringError', $triggeringErrorOrig);
}
}

0 comments on commit 67c1852

Please sign in to comment.