unit test to verify fix of Resque_Event::stopListening

This commit is contained in:
ebernhardson 2012-04-04 18:27:08 -07:00
parent fab92ef114
commit 010384b296

View File

@ -101,6 +101,24 @@ class Resque_Tests_EventTest extends Resque_Tests_TestCase
)); ));
$this->assertContains($callback, $this->callbacksHit, $event . ' callback (' . $callback .') was not called'); $this->assertContains($callback, $this->callbacksHit, $event . ' callback (' . $callback .') was not called');
} }
public function testStopListeningRemovesListener()
{
$callback = 'beforePerformEventCallback';
$event = 'beforePerform';
Resque_Event::listen($event, array($this, $callback));
Resque_Event::stopListening($event, array($this, $callback));
$job = $this->getEventTestJob();
$this->worker->perform($job);
$this->worker->work(0);
$this->assertNotContains($callback, $this->callbacksHit,
$event . ' callback (' . $callback .') was called though Resque_Event::stopListening was called'
);
}
public function beforePerformEventDontPerformCallback($instance) public function beforePerformEventDontPerformCallback($instance)
{ {
@ -146,4 +164,4 @@ class Resque_Tests_EventTest extends Resque_Tests_TestCase
{ {
$this->assertValidEventCallback(__FUNCTION__, $job); $this->assertValidEventCallback(__FUNCTION__, $job);
} }
} }