Expanded class hierarchy of ContainerAwareTraceableEventDispatcherTest
class ContainerAwareTraceableEventDispatcherTest extends \PHPUnit_Framework_TestCase {
protected function setUp() {
if (!class_exists('Symfony\\Component\\DependencyInjection\\Container')) {
$this
->markTestSkipped('The "DependencyInjection" component is not available');
}
if (!class_exists('Symfony\\Component\\HttpKernel\\HttpKernel')) {
$this
->markTestSkipped('The "HttpKernel" component is not available');
}
}
/**
* @expectedException \RuntimeException
*/
public function testThrowsAnExceptionWhenAListenerMethodIsNotCallable() {
$container = $this
->getMock('Symfony\\Component\\DependencyInjection\\ContainerInterface');
$dispatcher = new ContainerAwareTraceableEventDispatcher($container, new Stopwatch());
$dispatcher
->addListener('onFooEvent', new \stdClass());
}
public function testClosureDoesNotTriggerErrorNotice() {
$container = $this
->getMock('Symfony\\Component\\DependencyInjection\\ContainerInterface');
$dispatcher = new ContainerAwareTraceableEventDispatcher($container, new StopWatch());
$triggered = false;
$dispatcher
->addListener('onFooEvent', function () use (&$triggered) {
$triggered = true;
});
try {
$dispatcher
->dispatch('onFooEvent');
} catch (\PHPUnit_Framework_Error_Notice $e) {
$this
->fail($e
->getMessage());
}
$this
->assertTrue($triggered, 'Closure should have been executed upon dispatch');
}
public function testStaticCallable() {
$container = $this
->getMock('Symfony\\Component\\DependencyInjection\\ContainerInterface');
$dispatcher = new ContainerAwareTraceableEventDispatcher($container, new StopWatch());
$dispatcher
->addListener('onFooEvent', array(
__NAMESPACE__ . '\\StaticClassFixture',
'staticListener',
));
$dispatcher
->dispatch('onFooEvent');
$this
->assertTrue(StaticClassFixture::$called);
}
}
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ContainerAwareTraceableEventDispatcherTest:: |
protected | function | ||
ContainerAwareTraceableEventDispatcherTest:: |
public | function | ||
ContainerAwareTraceableEventDispatcherTest:: |
public | function | ||
ContainerAwareTraceableEventDispatcherTest:: |
public | function | @expectedException \RuntimeException |