mirror of
https://github.com/nextcloud/server.git
synced 2026-04-15 22:11:17 -04:00
prevent phpunit from messing with the bound $this
This commit is contained in:
parent
27d047979d
commit
9873ab20af
1 changed files with 17 additions and 6 deletions
|
|
@ -10,6 +10,7 @@
|
|||
namespace Test\Command;
|
||||
|
||||
use OC\Command\FileAccess;
|
||||
use OCP\Command\IBus;
|
||||
use OCP\Command\ICommand;
|
||||
use Test\BackgroundJob\DummyJobList;
|
||||
use Test\TestCase;
|
||||
|
|
@ -44,6 +45,19 @@ function basicFunction() {
|
|||
AsyncBus::$lastCommand = 'function';
|
||||
}
|
||||
|
||||
// clean class to prevent phpunit putting closure in $this
|
||||
class ThisClosureTest {
|
||||
private function privateMethod() {
|
||||
AsyncBus::$lastCommand = 'closure-this';
|
||||
}
|
||||
|
||||
public function test(IBus $bus) {
|
||||
$bus->push(function () {
|
||||
$this->privateMethod();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
class AsyncBus extends TestCase {
|
||||
/**
|
||||
* Basic way to check output from a command
|
||||
|
|
@ -121,14 +135,11 @@ class AsyncBus extends TestCase {
|
|||
$this->assertEquals('closure-self', self::$lastCommand);
|
||||
}
|
||||
|
||||
private function privateMethod() {
|
||||
self::$lastCommand = 'closure-this';
|
||||
}
|
||||
|
||||
public function testClosureThis() {
|
||||
$this->bus->push(function () {
|
||||
$this->privateMethod();
|
||||
});
|
||||
// clean class to prevent phpunit putting closure in $this
|
||||
$test = new ThisClosureTest();
|
||||
$test->test($this->bus);
|
||||
$this->runJobs();
|
||||
$this->assertEquals('closure-this', self::$lastCommand);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue