Merge pull request #10112 from nupplaphil/feat/phpunit_upgrade
Enable PHP 8.0 Unit-Tests
This commit is contained in:
commit
49d80dc447
|
@ -28,7 +28,7 @@ jobs:
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
php-versions: ['7.2', '7.3', '7.4']
|
php-versions: ['7.3', '7.4', '8.0']
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
@ -62,6 +62,9 @@ jobs:
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: composer install --prefer-dist
|
run: composer install --prefer-dist
|
||||||
|
|
||||||
|
- name: Setup PHPUnit 8
|
||||||
|
run: bin/dev/setup-phpunit.sh
|
||||||
|
|
||||||
- name: Copy default Friendica config
|
- name: Copy default Friendica config
|
||||||
run: cp config/local-sample.config.php config/local.config.php
|
run: cp config/local-sample.config.php config/local.config.php
|
||||||
|
|
||||||
|
@ -83,7 +86,7 @@ jobs:
|
||||||
run: vendor/bin/parallel-lint --exclude vendor/ --exclude view/asset/ .
|
run: vendor/bin/parallel-lint --exclude vendor/ --exclude view/asset/ .
|
||||||
|
|
||||||
- name: Test with phpunit
|
- name: Test with phpunit
|
||||||
run: vendor/bin/phpunit --configuration tests/phpunit.xml --coverage-clover clover.xml
|
run: $(git rev-parse --show-toplevel)/bin/phpunit --configuration tests/phpunit.xml --coverage-clover clover.xml
|
||||||
env:
|
env:
|
||||||
MYSQL_HOST: 127.0.0.1
|
MYSQL_HOST: 127.0.0.1
|
||||||
MYSQL_PORT: ${{ job.services.mariadb.ports[3306] }}
|
MYSQL_PORT: ${{ job.services.mariadb.ports[3306] }}
|
||||||
|
|
|
@ -79,3 +79,6 @@ venv/
|
||||||
|
|
||||||
#Ignore log folder
|
#Ignore log folder
|
||||||
/log
|
/log
|
||||||
|
|
||||||
|
#Ignore temporary installed phpunit
|
||||||
|
/bin/phpunit
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
PHPUNIT="$(git rev-parse --show-toplevel)/bin/phpunit"
|
||||||
|
|
||||||
|
if ! [ -x "$PHPUNIT" ]; then
|
||||||
|
echo "Install PHPUnit 8"
|
||||||
|
cd /tmp/
|
||||||
|
curl -s -O -L https://phar.phpunit.de/phpunit-8.phar
|
||||||
|
chmod +x phpunit-8.phar
|
||||||
|
mv phpunit-8.phar $PHPUNIT
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Using $PHPUNIT $($PHPUNIT --version)"
|
|
@ -124,12 +124,9 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpdocumentor/reflection-docblock": "^3.0.2",
|
"php-parallel-lint/php-parallel-lint": "^1.2",
|
||||||
"phpunit/php-token-stream": "^1.4.2",
|
"mockery/mockery": "^1.3",
|
||||||
"mikey179/vfsstream": "^1.6",
|
"mikey179/vfsstream": "^1.6"
|
||||||
"mockery/mockery": "^1.2",
|
|
||||||
"johnkary/phpunit-speedtrap": "1.1",
|
|
||||||
"php-parallel-lint/php-parallel-lint": "^1.2"
|
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "phpunit"
|
"test": "phpunit"
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -27,4 +27,18 @@ namespace Friendica\Test;
|
||||||
abstract class DatabaseTest extends MockedTest
|
abstract class DatabaseTest extends MockedTest
|
||||||
{
|
{
|
||||||
use DatabaseTestTrait;
|
use DatabaseTestTrait;
|
||||||
|
|
||||||
|
protected function setUp(): void
|
||||||
|
{
|
||||||
|
$this->setUpDb();
|
||||||
|
|
||||||
|
parent::setUp();
|
||||||
|
}
|
||||||
|
|
||||||
|
protected function tearDown(): void
|
||||||
|
{
|
||||||
|
$this->tearDownDb();
|
||||||
|
|
||||||
|
parent::tearDown();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,23 +29,23 @@ use Friendica\Test\Util\Database\StaticDatabase;
|
||||||
*/
|
*/
|
||||||
trait DatabaseTestTrait
|
trait DatabaseTestTrait
|
||||||
{
|
{
|
||||||
protected function setUp()
|
protected function setUpDb()
|
||||||
{
|
{
|
||||||
StaticDatabase::statConnect($_SERVER);
|
StaticDatabase::statConnect($_SERVER);
|
||||||
// Rollbacks every DB usage (in case the test couldn't call tearDown)
|
// Rollbacks every DB usage (in case the test couldn't call tearDown)
|
||||||
StaticDatabase::statRollback();
|
StaticDatabase::statRollback();
|
||||||
// Start the first, outer transaction
|
// Start the first, outer transaction
|
||||||
StaticDatabase::getGlobConnection()->beginTransaction();
|
StaticDatabase::getGlobConnection()->beginTransaction();
|
||||||
|
|
||||||
parent::setUp();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function tearDown()
|
protected function tearDownDb()
|
||||||
{
|
{
|
||||||
// Rollbacks every DB usage so we don't commit anything into the DB
|
try {
|
||||||
StaticDatabase::statRollback();
|
// Rollbacks every DB usage so we don't commit anything into the DB
|
||||||
|
StaticDatabase::statRollback();
|
||||||
parent::tearDown();
|
} catch (\PDOException $exception) {
|
||||||
|
print_r("Found already rolled back transaction");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -26,7 +26,7 @@ abstract class FixtureTest extends DatabaseTest
|
||||||
/**
|
/**
|
||||||
* Create variables used by tests.
|
* Create variables used by tests.
|
||||||
*/
|
*/
|
||||||
protected function setUp()
|
protected function setUp() : void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@ use PHPUnit\Framework\TestCase;
|
||||||
*/
|
*/
|
||||||
abstract class MockedTest extends TestCase
|
abstract class MockedTest extends TestCase
|
||||||
{
|
{
|
||||||
protected function tearDown()
|
protected function tearDown() : void
|
||||||
{
|
{
|
||||||
\Mockery::close();
|
\Mockery::close();
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
# Using the Friendica tests
|
||||||
|
|
||||||
|
## Install PHPUnit
|
||||||
|
|
||||||
|
Please use [setup-phpunit.sh](https://github.com/friendica/friendica/bin/dev/setup-phpunit.sh) to install the necessary PHPUnit version.
|
||||||
|
It will temporarily install the `phpunit` phar file into the `bin/` subdirectory
|
||||||
|
|
||||||
|
|
||||||
|
Currently, Friendica uses PHPUnit 8.
|
||||||
|
|
||||||
|
## Supported PHP versions of these tests
|
||||||
|
|
||||||
|
The Unit-Tests of Friendica requires at least PHP 7.2.
|
|
@ -67,8 +67,9 @@ class ExtendedPDO extends PDO
|
||||||
*/
|
*/
|
||||||
public function beginTransaction()
|
public function beginTransaction()
|
||||||
{
|
{
|
||||||
if($this->_transactionDepth == 0 || !$this->hasSavepoint()) {
|
if($this->_transactionDepth <= 0 || !$this->hasSavepoint()) {
|
||||||
parent::beginTransaction();
|
parent::beginTransaction();
|
||||||
|
$this->_transactionDepth = $this->_transactionDepth < 0 ? 0 : $this->_transactionDepth;
|
||||||
} else {
|
} else {
|
||||||
$this->exec("SAVEPOINT LEVEL{$this->_transactionDepth}");
|
$this->exec("SAVEPOINT LEVEL{$this->_transactionDepth}");
|
||||||
}
|
}
|
||||||
|
@ -85,8 +86,9 @@ class ExtendedPDO extends PDO
|
||||||
{
|
{
|
||||||
$this->_transactionDepth--;
|
$this->_transactionDepth--;
|
||||||
|
|
||||||
if($this->_transactionDepth == 0 || !$this->hasSavepoint()) {
|
if($this->_transactionDepth <= 0 || !$this->hasSavepoint()) {
|
||||||
parent::commit();
|
parent::commit();
|
||||||
|
$this->_transactionDepth = $this->_transactionDepth < 0 ? 0 : $this->_transactionDepth;
|
||||||
} else {
|
} else {
|
||||||
$this->exec("RELEASE SAVEPOINT LEVEL{$this->_transactionDepth}");
|
$this->exec("RELEASE SAVEPOINT LEVEL{$this->_transactionDepth}");
|
||||||
}
|
}
|
||||||
|
@ -100,8 +102,7 @@ class ExtendedPDO extends PDO
|
||||||
*/
|
*/
|
||||||
public function rollBack()
|
public function rollBack()
|
||||||
{
|
{
|
||||||
|
if ($this->_transactionDepth <= 0) {
|
||||||
if ($this->_transactionDepth == 0) {
|
|
||||||
throw new PDOException('Rollback error : There is no transaction started');
|
throw new PDOException('Rollback error : There is no transaction started');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,6 +24,12 @@ use Dice\Dice;
|
||||||
use Friendica\DI;
|
use Friendica\DI;
|
||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
|
|
||||||
|
if (!file_exists(__DIR__ . '/../vendor/autoload.php')) {
|
||||||
|
die('Vendor path not found. Please execute "bin/composer.phar --no-dev install" on the command line in the web root.');
|
||||||
|
}
|
||||||
|
|
||||||
|
require __DIR__ . '/../vendor/autoload.php';
|
||||||
|
|
||||||
// Backward compatibility
|
// Backward compatibility
|
||||||
if (!class_exists(TestCase::class)) {
|
if (!class_exists(TestCase::class)) {
|
||||||
class_alias(PHPUnit_Framework_TestCase::class, TestCase::class);
|
class_alias(PHPUnit_Framework_TestCase::class, TestCase::class);
|
||||||
|
|
|
@ -19,11 +19,43 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
use Friendica\Core\Protocol;
|
||||||
|
use Friendica\Model\Contact;
|
||||||
|
|
||||||
return [
|
return [
|
||||||
|
'user' => [
|
||||||
|
[
|
||||||
|
'uid' => 42,
|
||||||
|
'username' => 'Test user',
|
||||||
|
'nickname' => 'selfcontact',
|
||||||
|
'verified' => 1,
|
||||||
|
'password' => '$2y$10$DLRNTRmJgKe1cSrFJ5Jb0edCqvXlA9sh/RHdSnfxjbR.04yZRm4Qm',
|
||||||
|
'theme' => 'frio',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
'contact' => [
|
||||||
|
[
|
||||||
|
'id' => 42,
|
||||||
|
'uid' => 42,
|
||||||
|
'name' => 'Self contact',
|
||||||
|
'nick' => 'selfcontact',
|
||||||
|
'self' => 1,
|
||||||
|
'nurl' => 'http://localhost/profile/selfcontact',
|
||||||
|
'url' => 'http://localhost/profile/selfcontact',
|
||||||
|
'about' => 'User used in tests',
|
||||||
|
'pending' => 0,
|
||||||
|
'blocked' => 0,
|
||||||
|
'rel' => Contact::FOLLOWER,
|
||||||
|
'network' => Protocol::DFRN,
|
||||||
|
'location' => 'DFRN',
|
||||||
|
],
|
||||||
|
],
|
||||||
'photo' => [
|
'photo' => [
|
||||||
// move from data-attribute to storage backend
|
// move from data-attribute to storage backend
|
||||||
[
|
[
|
||||||
'id' => 1,
|
'id' => 1,
|
||||||
|
'uid' => 42,
|
||||||
|
'contact-id' => 42,
|
||||||
'backend-class' => null,
|
'backend-class' => null,
|
||||||
'backend-ref' => 'f0c0d0i2',
|
'backend-ref' => 'f0c0d0i2',
|
||||||
'data' => 'without class',
|
'data' => 'without class',
|
||||||
|
@ -31,6 +63,8 @@ return [
|
||||||
// move from storage-backend to maybe filesystem backend, skip at database backend
|
// move from storage-backend to maybe filesystem backend, skip at database backend
|
||||||
[
|
[
|
||||||
'id' => 2,
|
'id' => 2,
|
||||||
|
'uid' => 42,
|
||||||
|
'contact-id' => 42,
|
||||||
'backend-class' => 'Database',
|
'backend-class' => 'Database',
|
||||||
'backend-ref' => 1,
|
'backend-ref' => 1,
|
||||||
'data' => '',
|
'data' => '',
|
||||||
|
@ -38,6 +72,8 @@ return [
|
||||||
// move data if invalid storage
|
// move data if invalid storage
|
||||||
[
|
[
|
||||||
'id' => 3,
|
'id' => 3,
|
||||||
|
'uid' => 42,
|
||||||
|
'contact-id' => 42,
|
||||||
'backend-class' => 'invalid!',
|
'backend-class' => 'invalid!',
|
||||||
'backend-ref' => 'unimported',
|
'backend-ref' => 'unimported',
|
||||||
'data' => 'invalid data moved',
|
'data' => 'invalid data moved',
|
||||||
|
@ -45,6 +81,8 @@ return [
|
||||||
// @todo Check failing test because of this (never loaded) fixture
|
// @todo Check failing test because of this (never loaded) fixture
|
||||||
// [
|
// [
|
||||||
// 'id' => 4,
|
// 'id' => 4,
|
||||||
|
// 'uid' => 42,
|
||||||
|
// 'contact-id' => 42,
|
||||||
// 'backend-class' => 'invalid!',
|
// 'backend-class' => 'invalid!',
|
||||||
// 'backend-ref' => 'unimported',
|
// 'backend-ref' => 'unimported',
|
||||||
// 'data' => '',
|
// 'data' => '',
|
||||||
|
|
|
@ -45,7 +45,7 @@ class DependencyCheckTest extends TestCase
|
||||||
*/
|
*/
|
||||||
private $dice;
|
private $dice;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp() : void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
|
|
@ -22,6 +22,8 @@ require_once __DIR__ . '/../../include/api.php';
|
||||||
*
|
*
|
||||||
* Functions that use header() need to be tested in a separate process.
|
* Functions that use header() need to be tested in a separate process.
|
||||||
* @see https://phpunit.de/manual/5.7/en/appendixes.annotations.html#appendixes.annotations.runTestsInSeparateProcesses
|
* @see https://phpunit.de/manual/5.7/en/appendixes.annotations.html#appendixes.annotations.runTestsInSeparateProcesses
|
||||||
|
*
|
||||||
|
* @backupGlobals enabled
|
||||||
*/
|
*/
|
||||||
class ApiTest extends FixtureTest
|
class ApiTest extends FixtureTest
|
||||||
{
|
{
|
||||||
|
@ -48,7 +50,7 @@ class ApiTest extends FixtureTest
|
||||||
/**
|
/**
|
||||||
* Create variables used by tests.
|
* Create variables used by tests.
|
||||||
*/
|
*/
|
||||||
protected function setUp()
|
protected function setUp() : void
|
||||||
{
|
{
|
||||||
global $API, $called_api;
|
global $API, $called_api;
|
||||||
$API = [];
|
$API = [];
|
||||||
|
@ -108,10 +110,6 @@ class ApiTest extends FixtureTest
|
||||||
'authenticated' => true,
|
'authenticated' => true,
|
||||||
'uid' => $this->selfUser['id']
|
'uid' => $this->selfUser['id']
|
||||||
];
|
];
|
||||||
|
|
||||||
$_POST = [];
|
|
||||||
$_GET = [];
|
|
||||||
$_SERVER = [];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -140,7 +138,7 @@ class ApiTest extends FixtureTest
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
private function assertOtherUser(array $user)
|
private function assertOtherUser(array $user = [])
|
||||||
{
|
{
|
||||||
self::assertEquals($this->otherUser['id'], $user['id']);
|
self::assertEquals($this->otherUser['id'], $user['id']);
|
||||||
self::assertEquals($this->otherUser['id'], $user['id_str']);
|
self::assertEquals($this->otherUser['id'], $user['id_str']);
|
||||||
|
@ -157,10 +155,10 @@ class ApiTest extends FixtureTest
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
private function assertStatus(array $status)
|
private function assertStatus(array $status = [])
|
||||||
{
|
{
|
||||||
self::assertInternalType('string', $status['text']);
|
self::assertInternalType('string', $status['text'] ?? '');
|
||||||
self::assertInternalType('int', $status['id']);
|
self::assertInternalType('int', $status['id'] ?? '');
|
||||||
// We could probably do more checks here.
|
// We could probably do more checks here.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -171,7 +169,7 @@ class ApiTest extends FixtureTest
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
private function assertList(array $list)
|
private function assertList(array $list = [])
|
||||||
{
|
{
|
||||||
self::assertInternalType('string', $list['name']);
|
self::assertInternalType('string', $list['name']);
|
||||||
self::assertInternalType('int', $list['id']);
|
self::assertInternalType('int', $list['id']);
|
||||||
|
@ -188,7 +186,7 @@ class ApiTest extends FixtureTest
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
*/
|
*/
|
||||||
private function assertXml($result, $root_element)
|
private function assertXml($result = '', $root_element = '')
|
||||||
{
|
{
|
||||||
self::assertStringStartsWith('<?xml version="1.0"?>', $result);
|
self::assertStringStartsWith('<?xml version="1.0"?>', $result);
|
||||||
self::assertContains('<' . $root_element, $result);
|
self::assertContains('<' . $root_element, $result);
|
||||||
|
@ -302,8 +300,9 @@ class ApiTest extends FixtureTest
|
||||||
/**
|
/**
|
||||||
* Test the api_login() function without any login.
|
* Test the api_login() function without any login.
|
||||||
*
|
*
|
||||||
* @return void
|
|
||||||
* @runInSeparateProcess
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
|
* @preserveGlobalState disabled
|
||||||
* @expectedException Friendica\Network\HTTPException\UnauthorizedException
|
* @expectedException Friendica\Network\HTTPException\UnauthorizedException
|
||||||
*/
|
*/
|
||||||
public function testApiLoginWithoutLogin()
|
public function testApiLoginWithoutLogin()
|
||||||
|
@ -314,8 +313,9 @@ class ApiTest extends FixtureTest
|
||||||
/**
|
/**
|
||||||
* Test the api_login() function with a bad login.
|
* Test the api_login() function with a bad login.
|
||||||
*
|
*
|
||||||
* @return void
|
|
||||||
* @runInSeparateProcess
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
|
* @preserveGlobalState disabled
|
||||||
* @expectedException Friendica\Network\HTTPException\UnauthorizedException
|
* @expectedException Friendica\Network\HTTPException\UnauthorizedException
|
||||||
*/
|
*/
|
||||||
public function testApiLoginWithBadLogin()
|
public function testApiLoginWithBadLogin()
|
||||||
|
@ -347,8 +347,9 @@ class ApiTest extends FixtureTest
|
||||||
/**
|
/**
|
||||||
* Test the api_login() function with a correct login.
|
* Test the api_login() function with a correct login.
|
||||||
*
|
*
|
||||||
* @return void
|
|
||||||
* @runInSeparateProcess
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
|
* @doesNotPerformAssertions
|
||||||
*/
|
*/
|
||||||
public function testApiLoginWithCorrectLogin()
|
public function testApiLoginWithCorrectLogin()
|
||||||
{
|
{
|
||||||
|
@ -360,8 +361,8 @@ class ApiTest extends FixtureTest
|
||||||
/**
|
/**
|
||||||
* Test the api_login() function with a remote user.
|
* Test the api_login() function with a remote user.
|
||||||
*
|
*
|
||||||
* @return void
|
|
||||||
* @runInSeparateProcess
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
* @expectedException Friendica\Network\HTTPException\UnauthorizedException
|
* @expectedException Friendica\Network\HTTPException\UnauthorizedException
|
||||||
*/
|
*/
|
||||||
public function testApiLoginWithRemoteUser()
|
public function testApiLoginWithRemoteUser()
|
||||||
|
@ -404,8 +405,8 @@ class ApiTest extends FixtureTest
|
||||||
/**
|
/**
|
||||||
* Test the api_call() function.
|
* Test the api_call() function.
|
||||||
*
|
*
|
||||||
* @return void
|
|
||||||
* @runInSeparateProcess
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
*/
|
*/
|
||||||
public function testApiCall()
|
public function testApiCall()
|
||||||
{
|
{
|
||||||
|
@ -431,8 +432,8 @@ class ApiTest extends FixtureTest
|
||||||
/**
|
/**
|
||||||
* Test the api_call() function with the profiled enabled.
|
* Test the api_call() function with the profiled enabled.
|
||||||
*
|
*
|
||||||
* @return void
|
|
||||||
* @runInSeparateProcess
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
*/
|
*/
|
||||||
public function testApiCallWithProfiler()
|
public function testApiCallWithProfiler()
|
||||||
{
|
{
|
||||||
|
@ -468,8 +469,8 @@ class ApiTest extends FixtureTest
|
||||||
/**
|
/**
|
||||||
* Test the api_call() function without any result.
|
* Test the api_call() function without any result.
|
||||||
*
|
*
|
||||||
* @return void
|
|
||||||
* @runInSeparateProcess
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
*/
|
*/
|
||||||
public function testApiCallWithNoResult()
|
public function testApiCallWithNoResult()
|
||||||
{
|
{
|
||||||
|
@ -494,8 +495,8 @@ class ApiTest extends FixtureTest
|
||||||
/**
|
/**
|
||||||
* Test the api_call() function with an unimplemented API.
|
* Test the api_call() function with an unimplemented API.
|
||||||
*
|
*
|
||||||
* @return void
|
|
||||||
* @runInSeparateProcess
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
*/
|
*/
|
||||||
public function testApiCallWithUninplementedApi()
|
public function testApiCallWithUninplementedApi()
|
||||||
{
|
{
|
||||||
|
@ -508,8 +509,8 @@ class ApiTest extends FixtureTest
|
||||||
/**
|
/**
|
||||||
* Test the api_call() function with a JSON result.
|
* Test the api_call() function with a JSON result.
|
||||||
*
|
*
|
||||||
* @return void
|
|
||||||
* @runInSeparateProcess
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
*/
|
*/
|
||||||
public function testApiCallWithJson()
|
public function testApiCallWithJson()
|
||||||
{
|
{
|
||||||
|
@ -534,8 +535,8 @@ class ApiTest extends FixtureTest
|
||||||
/**
|
/**
|
||||||
* Test the api_call() function with an XML result.
|
* Test the api_call() function with an XML result.
|
||||||
*
|
*
|
||||||
* @return void
|
|
||||||
* @runInSeparateProcess
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
*/
|
*/
|
||||||
public function testApiCallWithXml()
|
public function testApiCallWithXml()
|
||||||
{
|
{
|
||||||
|
@ -560,8 +561,8 @@ class ApiTest extends FixtureTest
|
||||||
/**
|
/**
|
||||||
* Test the api_call() function with an RSS result.
|
* Test the api_call() function with an RSS result.
|
||||||
*
|
*
|
||||||
* @return void
|
|
||||||
* @runInSeparateProcess
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
*/
|
*/
|
||||||
public function testApiCallWithRss()
|
public function testApiCallWithRss()
|
||||||
{
|
{
|
||||||
|
@ -587,8 +588,8 @@ class ApiTest extends FixtureTest
|
||||||
/**
|
/**
|
||||||
* Test the api_call() function with an Atom result.
|
* Test the api_call() function with an Atom result.
|
||||||
*
|
*
|
||||||
* @return void
|
|
||||||
* @runInSeparateProcess
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
*/
|
*/
|
||||||
public function testApiCallWithAtom()
|
public function testApiCallWithAtom()
|
||||||
{
|
{
|
||||||
|
@ -614,8 +615,8 @@ class ApiTest extends FixtureTest
|
||||||
/**
|
/**
|
||||||
* Test the api_call() function with an unallowed method.
|
* Test the api_call() function with an unallowed method.
|
||||||
*
|
*
|
||||||
* @return void
|
|
||||||
* @runInSeparateProcess
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
*/
|
*/
|
||||||
public function testApiCallWithWrongMethod()
|
public function testApiCallWithWrongMethod()
|
||||||
{
|
{
|
||||||
|
@ -635,8 +636,8 @@ class ApiTest extends FixtureTest
|
||||||
/**
|
/**
|
||||||
* Test the api_call() function with an unauthorized user.
|
* Test the api_call() function with an unauthorized user.
|
||||||
*
|
*
|
||||||
* @return void
|
|
||||||
* @runInSeparateProcess
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
*/
|
*/
|
||||||
public function testApiCallWithWrongAuth()
|
public function testApiCallWithWrongAuth()
|
||||||
{
|
{
|
||||||
|
@ -660,8 +661,8 @@ class ApiTest extends FixtureTest
|
||||||
/**
|
/**
|
||||||
* Test the api_error() function with a JSON result.
|
* Test the api_error() function with a JSON result.
|
||||||
*
|
*
|
||||||
* @return void
|
|
||||||
* @runInSeparateProcess
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
*/
|
*/
|
||||||
public function testApiErrorWithJson()
|
public function testApiErrorWithJson()
|
||||||
{
|
{
|
||||||
|
@ -674,8 +675,8 @@ class ApiTest extends FixtureTest
|
||||||
/**
|
/**
|
||||||
* Test the api_error() function with an XML result.
|
* Test the api_error() function with an XML result.
|
||||||
*
|
*
|
||||||
* @return void
|
|
||||||
* @runInSeparateProcess
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
*/
|
*/
|
||||||
public function testApiErrorWithXml()
|
public function testApiErrorWithXml()
|
||||||
{
|
{
|
||||||
|
@ -695,8 +696,8 @@ class ApiTest extends FixtureTest
|
||||||
/**
|
/**
|
||||||
* Test the api_error() function with an RSS result.
|
* Test the api_error() function with an RSS result.
|
||||||
*
|
*
|
||||||
* @return void
|
|
||||||
* @runInSeparateProcess
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
*/
|
*/
|
||||||
public function testApiErrorWithRss()
|
public function testApiErrorWithRss()
|
||||||
{
|
{
|
||||||
|
@ -716,8 +717,8 @@ class ApiTest extends FixtureTest
|
||||||
/**
|
/**
|
||||||
* Test the api_error() function with an Atom result.
|
* Test the api_error() function with an Atom result.
|
||||||
*
|
*
|
||||||
* @return void
|
|
||||||
* @runInSeparateProcess
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
*/
|
*/
|
||||||
public function testApiErrorWithAtom()
|
public function testApiErrorWithAtom()
|
||||||
{
|
{
|
||||||
|
@ -859,8 +860,8 @@ class ApiTest extends FixtureTest
|
||||||
/**
|
/**
|
||||||
* Test the api_get_user() function with an user that is not allowed to use the API.
|
* Test the api_get_user() function with an user that is not allowed to use the API.
|
||||||
*
|
*
|
||||||
* @return void
|
|
||||||
* @runInSeparateProcess
|
* @runInSeparateProcess
|
||||||
|
* @preserveGlobalState disabled
|
||||||
*/
|
*/
|
||||||
public function testApiGetUserWithoutApiUser()
|
public function testApiGetUserWithoutApiUser()
|
||||||
{
|
{
|
||||||
|
@ -1312,8 +1313,8 @@ class ApiTest extends FixtureTest
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test the api_media_upload() function.
|
* Test the api_media_upload() function.
|
||||||
*
|
* @runInSeparateProcess
|
||||||
* @return void
|
* @preserveGlobalState disabled
|
||||||
* @expectedException Friendica\Network\HTTPException\BadRequestException
|
* @expectedException Friendica\Network\HTTPException\BadRequestException
|
||||||
*/
|
*/
|
||||||
public function testApiMediaUpload()
|
public function testApiMediaUpload()
|
||||||
|
@ -1504,7 +1505,7 @@ class ApiTest extends FixtureTest
|
||||||
$result = api_search('json');
|
$result = api_search('json');
|
||||||
foreach ($result['status'] as $status) {
|
foreach ($result['status'] as $status) {
|
||||||
self::assertStatus($status);
|
self::assertStatus($status);
|
||||||
self::assertContains('reply', $status['text'], null, true);
|
self::assertContains('reply', $status['text'], '', true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1520,7 +1521,7 @@ class ApiTest extends FixtureTest
|
||||||
$result = api_search('json');
|
$result = api_search('json');
|
||||||
foreach ($result['status'] as $status) {
|
foreach ($result['status'] as $status) {
|
||||||
self::assertStatus($status);
|
self::assertStatus($status);
|
||||||
self::assertContains('reply', $status['text'], null, true);
|
self::assertContains('reply', $status['text'], '', true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1536,14 +1537,13 @@ class ApiTest extends FixtureTest
|
||||||
$result = api_search('json');
|
$result = api_search('json');
|
||||||
foreach ($result['status'] as $status) {
|
foreach ($result['status'] as $status) {
|
||||||
self::assertStatus($status);
|
self::assertStatus($status);
|
||||||
self::assertContains('reply', $status['text'], null, true);
|
self::assertContains('reply', $status['text'], '', true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test the api_search() function with an q parameter contains hashtag.
|
* Test the api_search() function with an q parameter contains hashtag.
|
||||||
*
|
* @doesNotPerformAssertions
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function testApiSearchWithHashtag()
|
public function testApiSearchWithHashtag()
|
||||||
{
|
{
|
||||||
|
@ -1551,14 +1551,13 @@ class ApiTest extends FixtureTest
|
||||||
$result = api_search('json');
|
$result = api_search('json');
|
||||||
foreach ($result['status'] as $status) {
|
foreach ($result['status'] as $status) {
|
||||||
self::assertStatus($status);
|
self::assertStatus($status);
|
||||||
self::assertContains('#friendica', $status['text'], null, true);
|
self::assertContains('#friendica', $status['text'], '', true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test the api_search() function with an exclude_replies parameter.
|
* Test the api_search() function with an exclude_replies parameter.
|
||||||
*
|
* @doesNotPerformAssertions
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function testApiSearchWithExcludeReplies()
|
public function testApiSearchWithExcludeReplies()
|
||||||
{
|
{
|
||||||
|
@ -2474,8 +2473,7 @@ class ApiTest extends FixtureTest
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test the api_format_items() function.
|
* Test the api_format_items() function.
|
||||||
*
|
* @doesNotPerformAssertions
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function testApiFormatItems()
|
public function testApiFormatItems()
|
||||||
{
|
{
|
||||||
|
@ -2500,8 +2498,7 @@ class ApiTest extends FixtureTest
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test the api_format_items() function with an XML result.
|
* Test the api_format_items() function with an XML result.
|
||||||
*
|
* @doesNotPerformAssertions
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function testApiFormatItemsWithXml()
|
public function testApiFormatItemsWithXml()
|
||||||
{
|
{
|
||||||
|
@ -2617,8 +2614,7 @@ class ApiTest extends FixtureTest
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test the api_lists_statuses() function with a list ID.
|
* Test the api_lists_statuses() function with a list ID.
|
||||||
*
|
* @doesNotPerformAssertions
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
public function testApiListsStatusesWithListId()
|
public function testApiListsStatusesWithListId()
|
||||||
{
|
{
|
||||||
|
@ -3271,8 +3267,6 @@ class ApiTest extends FixtureTest
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test the api_fr_photo_create_update() function.
|
* Test the api_fr_photo_create_update() function.
|
||||||
*
|
|
||||||
* @return void
|
|
||||||
* @expectedException Friendica\Network\HTTPException\BadRequestException
|
* @expectedException Friendica\Network\HTTPException\BadRequestException
|
||||||
*/
|
*/
|
||||||
public function testApiFrPhotoCreateUpdate()
|
public function testApiFrPhotoCreateUpdate()
|
||||||
|
|
|
@ -1,26 +0,0 @@
|
||||||
<?xml version="1.0" encoding="utf-8" ?>
|
|
||||||
<phpunit
|
|
||||||
bootstrap="bootstrap.php"
|
|
||||||
verbose="true">
|
|
||||||
<testsuite name='friendica'>
|
|
||||||
<directory suffix='.php'>functional/</directory>
|
|
||||||
<directory suffix='.php'>include/</directory>
|
|
||||||
<directory suffix='.php'>src/</directory>
|
|
||||||
<directory suffix='.php'>./</directory>
|
|
||||||
</testsuite>
|
|
||||||
<!-- Filters for Code Coverage -->
|
|
||||||
<filter>
|
|
||||||
<whitelist>
|
|
||||||
<directory suffix=".php">..</directory>
|
|
||||||
<exclude>
|
|
||||||
<directory suffix=".php">config/</directory>
|
|
||||||
<directory suffix=".php">doc/</directory>
|
|
||||||
<directory suffix=".php">images/</directory>
|
|
||||||
<directory suffix=".php">library/</directory>
|
|
||||||
<directory suffix=".php">spec/</directory>
|
|
||||||
<directory suffix=".php">tests/</directory>
|
|
||||||
<directory suffix=".php">view/</directory>
|
|
||||||
</exclude>
|
|
||||||
</whitelist>
|
|
||||||
</filter>
|
|
||||||
</phpunit>
|
|
|
@ -1,29 +1,30 @@
|
||||||
<?xml version="1.0" encoding="utf-8" ?>
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
<phpunit
|
<phpunit
|
||||||
bootstrap="bootstrap.php"
|
bootstrap="bootstrap.php"
|
||||||
verbose="true">
|
verbose="true"
|
||||||
|
backupGlobals="false"
|
||||||
|
timeoutForSmallTests="900"
|
||||||
|
timeoutForMediumTests="900"
|
||||||
|
timeoutForLargeTests="900">
|
||||||
<testsuite name='friendica'>
|
<testsuite name='friendica'>
|
||||||
<directory suffix='.php'>functional/</directory>
|
<directory suffix='.php'>functional/</directory>
|
||||||
<directory suffix='.php'>include/</directory>
|
<directory suffix='.php'>include/</directory>
|
||||||
<directory suffix='.php'>src/</directory>
|
<directory suffix='.php'>src/</directory>
|
||||||
<directory suffix='.php'>./</directory>
|
|
||||||
</testsuite>
|
</testsuite>
|
||||||
<!-- Filters for Code Coverage -->
|
<!-- Filters for Code Coverage -->
|
||||||
<filter>
|
<filter>
|
||||||
<whitelist>
|
<whitelist>
|
||||||
<directory suffix=".php">..</directory>
|
<directory suffix=".php">..</directory>
|
||||||
<exclude>
|
<exclude>
|
||||||
<directory suffix=".php">../config</directory>
|
<directory suffix=".php">config/</directory>
|
||||||
<directory suffix=".php">../doc</directory>
|
<directory suffix=".php">doc/</directory>
|
||||||
<directory suffix=".php">../images</directory>
|
<directory suffix=".php">images/</directory>
|
||||||
<directory suffix=".php">../library</directory>
|
<directory suffix=".php">library/</directory>
|
||||||
<directory suffix=".php">../spec</directory>
|
<directory suffix=".php">spec/</directory>
|
||||||
<directory suffix=".php">../tests</directory>
|
<directory suffix=".php">tests/</directory>
|
||||||
<directory suffix=".php">../view</directory>
|
<directory suffix=".php">view/</directory>
|
||||||
|
<directory suffix=".php">vendor/</directory>
|
||||||
</exclude>
|
</exclude>
|
||||||
</whitelist>
|
</whitelist>
|
||||||
</filter>
|
</filter>
|
||||||
<listeners>
|
|
||||||
<listener class="JohnKary\PHPUnit\Listener\SpeedTrapListener" />
|
|
||||||
</listeners>
|
|
||||||
</phpunit>
|
</phpunit>
|
||||||
|
|
|
@ -53,7 +53,7 @@ class ModeTest extends MockedTest
|
||||||
*/
|
*/
|
||||||
private $configCacheMock;
|
private $configCacheMock;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp() : void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@ class RouterTest extends TestCase
|
||||||
*/
|
*/
|
||||||
private $cache;
|
private $cache;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp() : void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
|
|
@ -76,7 +76,7 @@ class AutomaticInstallationConsoleTest extends ConsoleTest
|
||||||
*/
|
*/
|
||||||
private $dice;
|
private $dice;
|
||||||
|
|
||||||
public function setUp()
|
public function setUp() : void
|
||||||
{
|
{
|
||||||
static::markTestSkipped('Needs class \'Installer\' as constructing argument for console tests');
|
static::markTestSkipped('Needs class \'Installer\' as constructing argument for console tests');
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@ class ConfigConsoleTest extends ConsoleTest
|
||||||
/** @var IConfig|LegacyMockInterface|MockInterface */
|
/** @var IConfig|LegacyMockInterface|MockInterface */
|
||||||
private $configMock;
|
private $configMock;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp() : void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
|
|
@ -32,7 +32,7 @@ abstract class ConsoleTest extends MockedTest
|
||||||
*/
|
*/
|
||||||
protected $consoleArgv = [ 'consoleTest.php' ];
|
protected $consoleArgv = [ 'consoleTest.php' ];
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp() : void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@ class LockConsoleTest extends ConsoleTest
|
||||||
*/
|
*/
|
||||||
private $lockMock;
|
private $lockMock;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp() : void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
|
|
@ -42,7 +42,7 @@ class ServerBlockConsoleTest extends ConsoleTest
|
||||||
*/
|
*/
|
||||||
private $configMock;
|
private $configMock;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp() : void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ class SmiliesTest extends MockedTest
|
||||||
use VFSTrait;
|
use VFSTrait;
|
||||||
use AppMockTrait;
|
use AppMockTrait;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
$this->setUpVfsDir();
|
$this->setUpVfsDir();
|
||||||
|
|
|
@ -35,7 +35,7 @@ class BBCodeTest extends MockedTest
|
||||||
use VFSTrait;
|
use VFSTrait;
|
||||||
use AppMockTrait;
|
use AppMockTrait;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
$this->setUpVfsDir();
|
$this->setUpVfsDir();
|
||||||
|
|
|
@ -33,7 +33,7 @@ class HTMLTest extends MockedTest
|
||||||
use VFSTrait;
|
use VFSTrait;
|
||||||
use AppMockTrait;
|
use AppMockTrait;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
$this->setUpVfsDir();
|
$this->setUpVfsDir();
|
||||||
|
|
|
@ -32,7 +32,7 @@ class MarkdownTest extends MockedTest
|
||||||
use VFSTrait;
|
use VFSTrait;
|
||||||
use AppMockTrait;
|
use AppMockTrait;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
$this->setUpVfsDir();
|
$this->setUpVfsDir();
|
||||||
|
|
|
@ -28,7 +28,7 @@ use Friendica\Core\Cache\APCuCache;
|
||||||
*/
|
*/
|
||||||
class APCuCacheTest extends MemoryCacheTest
|
class APCuCacheTest extends MemoryCacheTest
|
||||||
{
|
{
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
if (!APCuCache::isAvailable()) {
|
if (!APCuCache::isAvailable()) {
|
||||||
static::markTestSkipped('APCu is not available');
|
static::markTestSkipped('APCu is not available');
|
||||||
|
@ -43,7 +43,7 @@ class APCuCacheTest extends MemoryCacheTest
|
||||||
return $this->cache;
|
return $this->cache;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function tearDown()
|
protected function tearDown(): void
|
||||||
{
|
{
|
||||||
$this->cache->clear(false);
|
$this->cache->clear(false);
|
||||||
parent::tearDown();
|
parent::tearDown();
|
||||||
|
|
|
@ -31,7 +31,7 @@ class ArrayCacheTest extends MemoryCacheTest
|
||||||
return $this->cache;
|
return $this->cache;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function tearDown()
|
protected function tearDown(): void
|
||||||
{
|
{
|
||||||
$this->cache->clear(false);
|
$this->cache->clear(false);
|
||||||
parent::tearDown();
|
parent::tearDown();
|
||||||
|
@ -40,6 +40,7 @@ class ArrayCacheTest extends MemoryCacheTest
|
||||||
public function testTTL()
|
public function testTTL()
|
||||||
{
|
{
|
||||||
// Array Cache doesn't support TTL
|
// Array Cache doesn't support TTL
|
||||||
|
self::markTestSkipped("Array Cache doesn't support TTL");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,7 +81,7 @@ abstract class CacheTest extends MockedTest
|
||||||
|
|
||||||
abstract protected function getInstance();
|
abstract protected function getInstance();
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
|
|
@ -36,10 +36,12 @@ class DatabaseCacheTest extends CacheTest
|
||||||
use DatabaseTestTrait;
|
use DatabaseTestTrait;
|
||||||
use VFSTrait;
|
use VFSTrait;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
$this->setUpVfsDir();
|
$this->setUpVfsDir();
|
||||||
|
|
||||||
|
$this->setUpDb();
|
||||||
|
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,9 +62,12 @@ class DatabaseCacheTest extends CacheTest
|
||||||
return $this->cache;
|
return $this->cache;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function tearDown()
|
protected function tearDown(): void
|
||||||
{
|
{
|
||||||
$this->cache->clear(false);
|
$this->cache->clear(false);
|
||||||
|
|
||||||
|
$this->tearDownDb();
|
||||||
|
|
||||||
parent::tearDown();
|
parent::tearDown();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,7 +56,7 @@ class MemcacheCacheTest extends MemoryCacheTest
|
||||||
return $this->cache;
|
return $this->cache;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function tearDown()
|
protected function tearDown(): void
|
||||||
{
|
{
|
||||||
$this->cache->clear(false);
|
$this->cache->clear(false);
|
||||||
parent::tearDown();
|
parent::tearDown();
|
||||||
|
|
|
@ -55,7 +55,7 @@ class MemcachedCacheTest extends MemoryCacheTest
|
||||||
return $this->cache;
|
return $this->cache;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function tearDown()
|
protected function tearDown(): void
|
||||||
{
|
{
|
||||||
$this->cache->clear(false);
|
$this->cache->clear(false);
|
||||||
parent::tearDown();
|
parent::tearDown();
|
||||||
|
|
|
@ -31,7 +31,7 @@ abstract class MemoryCacheTest extends CacheTest
|
||||||
*/
|
*/
|
||||||
protected $instance;
|
protected $instance;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
|
|
@ -65,7 +65,7 @@ class RedisCacheTest extends MemoryCacheTest
|
||||||
return $this->cache;
|
return $this->cache;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function tearDown()
|
protected function tearDown(): void
|
||||||
{
|
{
|
||||||
$this->cache->clear(false);
|
$this->cache->clear(false);
|
||||||
parent::tearDown();
|
parent::tearDown();
|
||||||
|
|
|
@ -55,7 +55,7 @@ abstract class ConfigTest extends MockedTest
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,7 @@ class InstallerTest extends MockedTest
|
||||||
*/
|
*/
|
||||||
private $dice;
|
private $dice;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
@ -64,6 +64,15 @@ class InstallerTest extends MockedTest
|
||||||
DI::init($this->dice);
|
DI::init($this->dice);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function tearDownAfterClass(): void
|
||||||
|
{
|
||||||
|
// Reset mocking
|
||||||
|
global $phpMock;
|
||||||
|
$phpMock = [];
|
||||||
|
|
||||||
|
parent::tearDownAfterClass();
|
||||||
|
}
|
||||||
|
|
||||||
private function mockL10nT(string $text, $times = null)
|
private function mockL10nT(string $text, $times = null)
|
||||||
{
|
{
|
||||||
$this->l10nMock->shouldReceive('t')->with($text)->andReturn($text)->times($times);
|
$this->l10nMock->shouldReceive('t')->with($text)->andReturn($text)->times($times);
|
||||||
|
@ -463,6 +472,7 @@ class InstallerTest extends MockedTest
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test the setup of the config cache for installation
|
* Test the setup of the config cache for installation
|
||||||
|
* @doesNotPerformAssertions
|
||||||
*/
|
*/
|
||||||
public function testSetUpCache()
|
public function testSetUpCache()
|
||||||
{
|
{
|
||||||
|
|
|
@ -29,7 +29,7 @@ use Friendica\Core\Lock\CacheLock;
|
||||||
*/
|
*/
|
||||||
class APCuCacheLockTest extends LockTest
|
class APCuCacheLockTest extends LockTest
|
||||||
{
|
{
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
if (!APCuCache::isAvailable()) {
|
if (!APCuCache::isAvailable()) {
|
||||||
static::markTestSkipped('APCu is not available');
|
static::markTestSkipped('APCu is not available');
|
||||||
|
|
|
@ -33,7 +33,6 @@ class ArrayCacheLockTest extends LockTest
|
||||||
|
|
||||||
public function testLockTTL()
|
public function testLockTTL()
|
||||||
{
|
{
|
||||||
// ArrayCache doesn't support TTL
|
self::markTestSkipped("ArrayCache doesn't support TTL");
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,10 +38,12 @@ class DatabaseLockDriverTest extends LockTest
|
||||||
|
|
||||||
protected $pid = 123;
|
protected $pid = 123;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
$this->setUpVfsDir();
|
$this->setUpVfsDir();
|
||||||
|
|
||||||
|
$this->setUpDb();
|
||||||
|
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -60,4 +62,11 @@ class DatabaseLockDriverTest extends LockTest
|
||||||
|
|
||||||
return new DatabaseLock($dba, $this->pid);
|
return new DatabaseLock($dba, $this->pid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function tearDown(): void
|
||||||
|
{
|
||||||
|
$this->tearDownDb();
|
||||||
|
|
||||||
|
parent::tearDown();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -38,7 +38,7 @@ abstract class LockTest extends MockedTest
|
||||||
|
|
||||||
abstract protected function getInstance();
|
abstract protected function getInstance();
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
@ -46,7 +46,7 @@ abstract class LockTest extends MockedTest
|
||||||
$this->instance->releaseAll(true);
|
$this->instance->releaseAll(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function tearDown()
|
protected function tearDown(): void
|
||||||
{
|
{
|
||||||
$this->instance->releaseAll(true);
|
$this->instance->releaseAll(true);
|
||||||
parent::tearDown();
|
parent::tearDown();
|
||||||
|
|
|
@ -32,7 +32,7 @@ use Mockery\MockInterface;
|
||||||
|
|
||||||
class SemaphoreLockTest extends LockTest
|
class SemaphoreLockTest extends LockTest
|
||||||
{
|
{
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
/** @var MockInterface|Dice $dice */
|
/** @var MockInterface|Dice $dice */
|
||||||
$dice = Mockery::mock(Dice::class)->makePartial();
|
$dice = Mockery::mock(Dice::class)->makePartial();
|
||||||
|
@ -61,8 +61,7 @@ class SemaphoreLockTest extends LockTest
|
||||||
|
|
||||||
public function testLockTTL()
|
public function testLockTTL()
|
||||||
{
|
{
|
||||||
// Semaphore doesn't work with TTL
|
self::markTestSkipped("Semaphore doesn't work with TTL");
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -57,7 +57,7 @@ abstract class PConfigTest extends MockedTest
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
|
|
@ -57,7 +57,7 @@ class StorageManagerTest extends DatabaseTest
|
||||||
|
|
||||||
use VFSTrait;
|
use VFSTrait;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
@ -296,7 +296,7 @@ class StorageManagerTest extends DatabaseTest
|
||||||
public function testMoveStorage($name, $assert, $assertName, $userBackend)
|
public function testMoveStorage($name, $assert, $assertName, $userBackend)
|
||||||
{
|
{
|
||||||
if (!$userBackend) {
|
if (!$userBackend) {
|
||||||
return;
|
self::markTestSkipped("No user backend");
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->loadFixture(__DIR__ . '/../../datasets/storage/database.fixture.php', $this->dba);
|
$this->loadFixture(__DIR__ . '/../../datasets/storage/database.fixture.php', $this->dba);
|
||||||
|
|
|
@ -10,7 +10,7 @@ use Friendica\Test\Util\Database\StaticDatabase;
|
||||||
|
|
||||||
class DBATest extends DatabaseTest
|
class DBATest extends DatabaseTest
|
||||||
{
|
{
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@ use Friendica\Test\Util\Database\StaticDatabase;
|
||||||
|
|
||||||
class DBStructureTest extends DatabaseTest
|
class DBStructureTest extends DatabaseTest
|
||||||
{
|
{
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ class ProcessTest extends DatabaseTest
|
||||||
/** @var StaticDatabase */
|
/** @var StaticDatabase */
|
||||||
private $dba;
|
private $dba;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
@ -71,6 +71,9 @@ class ProcessTest extends DatabaseTest
|
||||||
self::assertEquals([['command' => 'test']], $this->dba->selectToArray('process', ['command'], ['pid' => 1]));
|
self::assertEquals([['command' => 'test']], $this->dba->selectToArray('process', ['command'], ['pid' => 1]));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @doesNotPerformAssertions
|
||||||
|
*/
|
||||||
public function testWrongDelete()
|
public function testWrongDelete()
|
||||||
{
|
{
|
||||||
$process = new Process($this->dba);
|
$process = new Process($this->dba);
|
||||||
|
|
|
@ -38,10 +38,12 @@ class DatabaseStorageTest extends StorageTest
|
||||||
use DatabaseTestTrait;
|
use DatabaseTestTrait;
|
||||||
use VFSTrait;
|
use VFSTrait;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
$this->setUpVfsDir();
|
$this->setUpVfsDir();
|
||||||
|
|
||||||
|
$this->setUpDb();
|
||||||
|
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -68,4 +70,11 @@ class DatabaseStorageTest extends StorageTest
|
||||||
{
|
{
|
||||||
self::assertEmpty($storage->getOptions());
|
self::assertEmpty($storage->getOptions());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function tearDown(): void
|
||||||
|
{
|
||||||
|
$this->tearDownDb();
|
||||||
|
|
||||||
|
parent::tearDown();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -39,7 +39,7 @@ class FilesystemStorageTest extends StorageTest
|
||||||
/** @var MockInterface|IConfig */
|
/** @var MockInterface|IConfig */
|
||||||
protected $config;
|
protected $config;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
$this->setUpVfsDir();
|
$this->setUpVfsDir();
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ class CookieTest extends MockedTest
|
||||||
/** @var MockInterface|BaseURL */
|
/** @var MockInterface|BaseURL */
|
||||||
private $baseUrl;
|
private $baseUrl;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
StaticCookie::clearStatic();
|
StaticCookie::clearStatic();
|
||||||
|
|
||||||
|
@ -45,7 +45,7 @@ class CookieTest extends MockedTest
|
||||||
$this->baseUrl = \Mockery::mock(BaseURL::class);
|
$this->baseUrl = \Mockery::mock(BaseURL::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function tearDown()
|
protected function tearDown(): void
|
||||||
{
|
{
|
||||||
StaticCookie::clearStatic();
|
StaticCookie::clearStatic();
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,7 @@ class UserTest extends MockedTest
|
||||||
private $child;
|
private $child;
|
||||||
private $manage;
|
private $manage;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ use Psr\Log\NullLogger;
|
||||||
|
|
||||||
class CurlResultTest extends TestCase
|
class CurlResultTest extends TestCase
|
||||||
{
|
{
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
|
|
@ -3,11 +3,12 @@
|
||||||
namespace Friendica\Test\src\Security\TwoFactor\Factory;
|
namespace Friendica\Test\src\Security\TwoFactor\Factory;
|
||||||
|
|
||||||
use Friendica\Security\TwoFactor\Factory\TrustedBrowser;
|
use Friendica\Security\TwoFactor\Factory\TrustedBrowser;
|
||||||
|
use Friendica\Test\MockedTest;
|
||||||
use Friendica\Util\DateTimeFormat;
|
use Friendica\Util\DateTimeFormat;
|
||||||
use Friendica\Util\Logger\VoidLogger;
|
use Friendica\Util\Logger\VoidLogger;
|
||||||
use Friendica\Util\Strings;
|
use Friendica\Util\Strings;
|
||||||
|
|
||||||
class TrustedBrowserTest extends \PHPUnit_Framework_TestCase
|
class TrustedBrowserTest extends MockedTest
|
||||||
{
|
{
|
||||||
public function testCreateFromTableRowSuccess()
|
public function testCreateFromTableRowSuccess()
|
||||||
{
|
{
|
||||||
|
|
|
@ -3,10 +3,11 @@
|
||||||
namespace Friendica\Test\src\Security\TwoFactor\Model;
|
namespace Friendica\Test\src\Security\TwoFactor\Model;
|
||||||
|
|
||||||
use Friendica\Security\TwoFactor\Model\TrustedBrowser;
|
use Friendica\Security\TwoFactor\Model\TrustedBrowser;
|
||||||
|
use Friendica\Test\MockedTest;
|
||||||
use Friendica\Util\DateTimeFormat;
|
use Friendica\Util\DateTimeFormat;
|
||||||
use Friendica\Util\Strings;
|
use Friendica\Util\Strings;
|
||||||
|
|
||||||
class TrustedBrowserTest extends \PHPUnit_Framework_TestCase
|
class TrustedBrowserTest extends MockedTest
|
||||||
{
|
{
|
||||||
public function test__construct()
|
public function test__construct()
|
||||||
{
|
{
|
||||||
|
|
|
@ -31,7 +31,7 @@ class ConfigFileLoaderTest extends MockedTest
|
||||||
{
|
{
|
||||||
use VFSTrait;
|
use VFSTrait;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
|
|
@ -29,6 +29,15 @@ use PHPUnit\Framework\TestCase;
|
||||||
|
|
||||||
class CryptoTest extends TestCase
|
class CryptoTest extends TestCase
|
||||||
{
|
{
|
||||||
|
public static function tearDownAfterClass(): void
|
||||||
|
{
|
||||||
|
// Reset mocking
|
||||||
|
global $phpMock;
|
||||||
|
$phpMock = [];
|
||||||
|
|
||||||
|
parent::tearDownAfterClass();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Replaces random_int results with given mocks
|
* Replaces random_int results with given mocks
|
||||||
*
|
*
|
||||||
|
|
|
@ -35,7 +35,7 @@ class EMailerTest extends MockedTest
|
||||||
/** @var BaseURL|MockInterface */
|
/** @var BaseURL|MockInterface */
|
||||||
private $baseUrl;
|
private $baseUrl;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
@ -53,7 +53,7 @@ class EMailerTest extends MockedTest
|
||||||
$this->baseUrl->shouldReceive('get')->andReturn('http://friendica.local');
|
$this->baseUrl->shouldReceive('get')->andReturn('http://friendica.local');
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function tearDown()
|
protected function tearDown(): void
|
||||||
{
|
{
|
||||||
EmailerSpy::$MAIL_DATA = [];
|
EmailerSpy::$MAIL_DATA = [];
|
||||||
|
|
||||||
|
|
|
@ -51,7 +51,7 @@ class MailBuilderTest extends MockedTest
|
||||||
/** @var string */
|
/** @var string */
|
||||||
private $defaultHeaders;
|
private $defaultHeaders;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ class SystemMailBuilderTest extends MockedTest
|
||||||
/** @var BaseURL */
|
/** @var BaseURL */
|
||||||
private $baseUrl;
|
private $baseUrl;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
|
|
@ -58,7 +58,7 @@ abstract class AbstractLoggerTest extends MockedTest
|
||||||
*/
|
*/
|
||||||
abstract protected function getInstance($level = LogLevel::DEBUG);
|
abstract protected function getInstance($level = LogLevel::DEBUG);
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
|
|
@ -41,7 +41,7 @@ class ProfilerLoggerTest extends MockedTest
|
||||||
*/
|
*/
|
||||||
private $profiler;
|
private $profiler;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
@ -52,6 +52,7 @@ class ProfilerLoggerTest extends MockedTest
|
||||||
/**
|
/**
|
||||||
* Test if the profiler is profiling data
|
* Test if the profiler is profiling data
|
||||||
* @dataProvider dataTests
|
* @dataProvider dataTests
|
||||||
|
* @doesNotPerformAssertions
|
||||||
*/
|
*/
|
||||||
public function testProfiling($function, $message, array $context)
|
public function testProfiling($function, $message, array $context)
|
||||||
{
|
{
|
||||||
|
@ -64,6 +65,7 @@ class ProfilerLoggerTest extends MockedTest
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test the log() function
|
* Test the log() function
|
||||||
|
* @doesNotPerformAssertions
|
||||||
*/
|
*/
|
||||||
public function testProfilingLog()
|
public function testProfilingLog()
|
||||||
{
|
{
|
||||||
|
|
|
@ -42,7 +42,7 @@ class StreamLoggerTest extends AbstractLoggerTest
|
||||||
*/
|
*/
|
||||||
private $fileSystem;
|
private $fileSystem;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,7 @@ class SyslogLoggerTest extends AbstractLoggerTest
|
||||||
*/
|
*/
|
||||||
private $logger;
|
private $logger;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
@ -86,8 +86,13 @@ class SyslogLoggerTest extends AbstractLoggerTest
|
||||||
*/
|
*/
|
||||||
public function testServerException()
|
public function testServerException()
|
||||||
{
|
{
|
||||||
$this->expectException(\UnexpectedValueException::class);
|
if (PHP_MAJOR_VERSION < 8) {
|
||||||
$this->expectExceptionMessageRegExp("/Can\'t open syslog for ident \".*\" and facility \".*\": .* /");
|
$this->expectException(\UnexpectedValueException::class);
|
||||||
|
$this->expectExceptionMessageRegExp("/Can\'t open syslog for ident \".*\" and facility \".*\": .* /");
|
||||||
|
} else {
|
||||||
|
$this->expectException(\TypeError::class);
|
||||||
|
$this->expectExceptionMessage("openlog(): Argument #3 (\$facility) must be of type int, string given");
|
||||||
|
}
|
||||||
|
|
||||||
$logger = new SyslogLoggerWrapper('test', $this->introspection, LogLevel::DEBUG, null, 'a string');
|
$logger = new SyslogLoggerWrapper('test', $this->introspection, LogLevel::DEBUG, null, 'a string');
|
||||||
$logger->emergency('not working');
|
$logger->emergency('not working');
|
||||||
|
@ -95,6 +100,7 @@ class SyslogLoggerTest extends AbstractLoggerTest
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test the close() method
|
* Test the close() method
|
||||||
|
* @doesNotPerformAssertions
|
||||||
*/
|
*/
|
||||||
public function testClose()
|
public function testClose()
|
||||||
{
|
{
|
||||||
|
|
|
@ -32,6 +32,7 @@ class VoidLoggerTest extends MockedTest
|
||||||
/**
|
/**
|
||||||
* Test if the profiler is profiling data
|
* Test if the profiler is profiling data
|
||||||
* @dataProvider dataTests
|
* @dataProvider dataTests
|
||||||
|
* @doesNotPerformAssertions
|
||||||
*/
|
*/
|
||||||
public function testNormal($function, $message, array $context)
|
public function testNormal($function, $message, array $context)
|
||||||
{
|
{
|
||||||
|
@ -41,6 +42,7 @@ class VoidLoggerTest extends MockedTest
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Test the log() function
|
* Test the log() function
|
||||||
|
* @doesNotPerformAssertions
|
||||||
*/
|
*/
|
||||||
public function testProfilingLog()
|
public function testProfilingLog()
|
||||||
{
|
{
|
||||||
|
|
|
@ -35,7 +35,7 @@ class ProfilerTest extends MockedTest
|
||||||
*/
|
*/
|
||||||
private $logger;
|
private $logger;
|
||||||
|
|
||||||
protected function setUp()
|
protected function setUp(): void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user