同步操作将从 ThinkPHP/framework 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
<?phpnamespace think\tests;use Mockery as m;use Mockery\MockInterface;use PHPUnit\Framework\TestCase;use think\App;use think\Config;use think\Container;use think\Event;class EventTest extends TestCase{/** @var App|MockInterface */protected $app;/** @var Event|MockInterface */protected $event;/** @var Config|MockInterface */protected $config;protected function tearDown(): void{m::close();}protected function setUp(): void{$this->app = m::mock(App::class)->makePartial();Container::setInstance($this->app);$this->app->shouldReceive('make')->with(App::class)->andReturn($this->app);$this->config = m::mock(Config::class)->makePartial();$this->app->shouldReceive('get')->with('config')->andReturn($this->config);$this->event = new Event($this->app);}public function testBasic(){$this->event->bind(['foo' => 'baz']);$this->event->listen('foo', function ($bar) {$this->assertEquals('bar', $bar);});$this->assertTrue($this->event->hasListener('foo'));$this->event->trigger('baz', 'bar');$this->event->remove('foo');$this->assertFalse($this->event->hasListener('foo'));}public function testOnceEvent(){$this->event->listen('AppInit', function ($bar) {$this->assertEquals('bar', $bar);return 'foo';});$this->assertEquals('foo', $this->event->trigger('AppInit', 'bar', true));$this->assertEquals(['foo'], $this->event->trigger('AppInit', 'bar'));}public function testClassListener(){$listener = m::mock("overload:SomeListener", TestListener::class);$listener->shouldReceive('handle')->andReturnTrue();$this->event->listen('some', "SomeListener");$this->assertTrue($this->event->until('some'));}public function testSubscribe(){$listener = m::mock("overload:SomeListener", TestListener::class);$listener->shouldReceive('subscribe')->andReturnUsing(function (Event $event) use ($listener) {$listener->shouldReceive('onBar')->once()->andReturnFalse();$event->listenEvents(['SomeListener::onBar' => [[$listener, 'onBar']]]);});$this->event->subscribe('SomeListener');$this->assertTrue($this->event->hasListener('SomeListener::onBar'));$this->event->trigger('SomeListener::onBar');}public function testAutoObserve(){$listener = m::mock("overload:SomeListener", TestListener::class);$listener->shouldReceive('onBar')->once();$this->app->shouldReceive('make')->with('SomeListener')->andReturn($listener);$this->event->observe('SomeListener');$this->event->trigger('bar');}}class TestListener{public function handle(){}public function onBar(){}public function onFoo(){}public function subscribe(){}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。