/** * @test * @expectedException \ThisPageCannotBeFound\Signals\Exception\CannotAddListenerException */ public function addThenAddOnceSameShouldThrow() { $listener = Listeners::_closureIncrementsCalled(); $this->signal->add($listener); $this->signal->addOnce($listener); }
/** * @test * @expectedException \ThisPageCannotBeFound\Signals\Exception\ResolverNotCallableException */ public function setResolverInvalidCallableShouldThrow() { $this->resolveListener(Listeners::_stringCallback(), 'foo-bar-baz'); }
/** * @test */ public function removeAllShouldRemoveAllListeners() { $calledA = 0; $calledB = 0; $listenerA = Listeners::_closureIncrementsCalled($calledA); $listenerB = Listeners::_closureIncrementsCalled($calledB); $this->signal->addOnce($listenerA); $this->signal->addOnce($listenerB); $this->signal->removeAll(); $this->signal->dispatch(); $this->assertEquals(0, $calledA); $this->assertEquals(0, $calledB); }