77 lines
2.5 KiB
PHP
77 lines
2.5 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Shaarli;
|
|
|
|
/**
|
|
* Helper class extending \PHPUnit\Framework\TestCase.
|
|
* Used to make Shaarli UT run on multiple versions of PHPUnit.
|
|
*/
|
|
class TestCase extends \PHPUnit\Framework\TestCase
|
|
{
|
|
/**
|
|
* expectExceptionMessageRegExp has been removed and replaced by expectExceptionMessageMatches in PHPUnit 9.
|
|
*/
|
|
public function expectExceptionMessageRegExp(string $regularExpression): void
|
|
{
|
|
if (method_exists($this, 'expectExceptionMessageMatches')) {
|
|
$this->expectExceptionMessageMatches($regularExpression);
|
|
} else {
|
|
parent::expectExceptionMessageRegExp($regularExpression);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* assertContains is now used for iterable, strings should use assertStringContainsString
|
|
*/
|
|
public function assertContainsPolyfill($expected, $actual, string $message = ''): void
|
|
{
|
|
if (is_string($actual) && method_exists($this, 'assertStringContainsString')) {
|
|
static::assertStringContainsString($expected, $actual, $message);
|
|
} else {
|
|
static::assertContains($expected, $actual, $message);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* assertNotContains is now used for iterable, strings should use assertStringNotContainsString
|
|
*/
|
|
public function assertNotContainsPolyfill($expected, $actual, string $message = ''): void
|
|
{
|
|
if (is_string($actual) && method_exists($this, 'assertStringNotContainsString')) {
|
|
static::assertStringNotContainsString($expected, $actual, $message);
|
|
} else {
|
|
static::assertNotContains($expected, $actual, $message);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* assertFileNotExists has been renamed in assertFileDoesNotExist
|
|
*/
|
|
public static function assertFileNotExists(string $filename, string $message = ''): void
|
|
{
|
|
if (method_exists(TestCase::class, 'assertFileDoesNotExist')) {
|
|
static::assertFileDoesNotExist($filename, $message);
|
|
} else {
|
|
parent::assertFileNotExists($filename, $message);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* assertRegExp has been renamed in assertMatchesRegularExpression
|
|
*/
|
|
public static function assertRegExp(string $pattern, string $string, string $message = ''): void
|
|
{
|
|
if (method_exists(TestCase::class, 'assertMatchesRegularExpression')) {
|
|
static::assertMatchesRegularExpression($pattern, $string, $message);
|
|
} else {
|
|
parent::assertRegExp($pattern, $string, $message);
|
|
}
|
|
}
|
|
|
|
public function isInTestsContext(): bool
|
|
{
|
|
return true;
|
|
}
|
|
}
|