1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
<?php
namespace Illuminate\Tests\Console;
use Illuminate\Console\Signals;
use Illuminate\Tests\Console\Fixtures\FakeSignalsRegistry;
use PHPUnit\Framework\TestCase;
class SignalsTest extends TestCase
{
protected $registry;
protected $signals;
protected $state;
protected function setUp(): void
{
$this->registry = new FakeSignalsRegistry();
$this->signals = new Signals($this->registry);
}
protected function tearDown(): void
{
$this->state = null;
parent::tearDown();
}
public function testRegister()
{
$this->signals->register('my-signal', function () {
$this->state .= 'otwell';
});
$this->signals->register('my-signal', function () {
$this->state = 'taylor';
});
$this->registry->handle('my-signal');
$this->assertSame('taylorotwell', $this->state);
}
public function testUnregister()
{
$this->signals->register('my-signal', function () {
$this->state .= 'otwell';
});
$this->signals->register('my-signal', function () {
$this->state = 'taylor';
});
$this->signals->unregister();
$this->registry->handle('my-signal');
$this->assertNull($this->state);
}
}
|