8000 TraceableEventDispatcher test for Closures · scp/symfony@0b5499e · GitHub
[go: up one dir, main page]

Skip to content

Commit 0b5499e

Browse files
committed
TraceableEventDispatcher test for Closures
1 parent f7fb34a commit 0b5499e

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

src/Symfony/Bundle/FrameworkBundle/Tests/Debug/TraceableEventDispatcherTest.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,24 @@ public function testThrowsAnExceptionWhenAListenerMethodIsNotCallable()
2727
$dispatcher = new TraceableEventDispatcher($container, new Stopwatch());
2828
$dispatcher->addListener('onFooEvent', new \stdClass());
2929
}
30+
31+
public function testClosureDoesNotTriggerErrorNotice()
32+
{
33+
$container = $this->getMock('Symfony\Component\DependencyInjection\ContainerInterface');
34+
$dispatcher = new TraceableEventDispatcher($container, new StopWatch());
35+
$triggered = false;
36+
37+
$dispatcher->addListener('onFooEvent', function() use (&$triggered) {
38+
$triggered = true;
39+
});
40+
41+
try {
42+
$dispatcher->dispatch('onFooEvent');
43+
} catch (\PHPUnit_Framework_Error_Notice $e) {
44+
$this->fail($e->getMessage());
45+
}
46+
47+
$this->assertTrue($triggered, 'Closure should have been executed upon dispatch');
48+
}
49+
3050
}

0 commit comments

Comments
 (0)
0