Skip to content

Commit

Permalink
Import namespace in tests
Browse files Browse the repository at this point in the history
  • Loading branch information
mleko committed Nov 26, 2016
1 parent 403d192 commit 25578b8
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 25 deletions.
27 changes: 16 additions & 11 deletions tests/BasicEventBusTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,18 @@
namespace Mleko\Narrator\Tests;


use Mleko\Narrator\BasicEventBus;
use Mleko\Narrator\EventNameExtractor\ClassNameExtractor;
use Mleko\Narrator\Listener;
use Mleko\Narrator\Meta;

class BasicEventBusTest extends \PHPUnit\Framework\TestCase
{
public function testEmitterMutation()
{
$eventBus = new \Mleko\Narrator\BasicEventBus(new \Mleko\Narrator\EventNameExtractor\ClassNameExtractor());
/** @var \PHPUnit_Framework_MockObject_MockObject|\Mleko\Narrator\Listener $listener */
$listener = $this->getMockBuilder(\Mleko\Narrator\Listener::class)->getMockForAbstractClass();
$eventBus = new BasicEventBus(new ClassNameExtractor());
/** @var \PHPUnit_Framework_MockObject_MockObject|Listener $listener */
$listener = $this->getMockBuilder(Listener::class)->getMockForAbstractClass();

$this->assertFalse($eventBus->unsubscribe('ArrayObject', $listener));

Expand All @@ -23,7 +28,7 @@ public function testEmitterMutation()
$eventToEmit = new \ArrayObject();
$listener->expects($this->once())
->method('handle')
->with($this->equalTo($eventToEmit), $this->callback(function (\Mleko\Narrator\Meta $meta) use ($eventBus, $eventToEmit) {
->with($this->equalTo($eventToEmit), $this->callback(function (Meta $meta) use ($eventBus, $eventToEmit) {
$this->assertSame($eventBus, $meta->getEventSource());
$this->assertEquals('ArrayObject', $meta->getEventName());
$this->assertEquals('ArrayObject', $meta->getMatchedName());
Expand All @@ -43,10 +48,10 @@ public function testEmitterMutation()

public function testSubscription()
{
$eventBus = new \Mleko\Narrator\BasicEventBus(new \Mleko\Narrator\EventNameExtractor\ClassNameExtractor());
$eventBus = new BasicEventBus(new ClassNameExtractor());

/** @var \PHPUnit_Framework_MockObject_MockObject|\Mleko\Narrator\Listener $listener */
$listener = $this->getMockBuilder(\Mleko\Narrator\Listener::class)->getMockForAbstractClass();
/** @var \PHPUnit_Framework_MockObject_MockObject|Listener $listener */
$listener = $this->getMockBuilder(Listener::class)->getMockForAbstractClass();
$subscription = $eventBus->subscribe('ArrayObject', $listener);
$this->assertNotNull($subscription);

Expand All @@ -62,11 +67,11 @@ public function testSubscription()

public function testConstructor()
{
/** @var \PHPUnit_Framework_MockObject_MockObject|\Mleko\Narrator\Listener $listener */
$listener = $this->getMockBuilder(\Mleko\Narrator\Listener::class)->getMockForAbstractClass();
/** @var \PHPUnit_Framework_MockObject_MockObject|Listener $listener */
$listener = $this->getMockBuilder(Listener::class)->getMockForAbstractClass();

$eventBus = new \Mleko\Narrator\BasicEventBus(
new \Mleko\Narrator\EventNameExtractor\ClassNameExtractor(),
$eventBus = new BasicEventBus(
new ClassNameExtractor(),
[
'ArrayObject' => [$listener],
'Exception' => [$listener]
Expand Down
13 changes: 9 additions & 4 deletions tests/Listener/CallableListenerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,21 @@
namespace Mleko\Narrator\Tests\Listener;


use Mleko\Narrator\BasicEventBus;
use Mleko\Narrator\EventNameExtractor\ClassNameExtractor;
use Mleko\Narrator\Listener\CallableListener;
use Mleko\Narrator\Meta;

class CallableListenerTest extends \PHPUnit_Framework_TestCase
{
public function testClosure()
{
$eventBus = new \Mleko\Narrator\BasicEventBus(new \Mleko\Narrator\EventNameExtractor\ClassNameExtractor());
$eventBus = new BasicEventBus(new ClassNameExtractor());

$eventToEmit = new \ArrayObject();

$called = false;
$eventBus->subscribe('ArrayObject', new \Mleko\Narrator\Listener\CallableListener(function ($event, \Mleko\Narrator\Meta $meta) use ($eventToEmit, &$called) {
$eventBus->subscribe('ArrayObject', new CallableListener(function ($event, Meta $meta) use ($eventToEmit, &$called) {
$this->assertSame($eventToEmit, $event);
$called = true;
}));
Expand All @@ -28,10 +33,10 @@ public function testClosure()

public function testObjectMethod()
{
$eventBus = new \Mleko\Narrator\BasicEventBus(new \Mleko\Narrator\EventNameExtractor\ClassNameExtractor());
$eventBus = new BasicEventBus(new ClassNameExtractor());

$mock = $this->getMockBuilder('stdClass')->setMethods(['method'])->getMock();
$eventBus->subscribe('ArrayObject', new \Mleko\Narrator\Listener\CallableListener([$mock, 'method']));
$eventBus->subscribe('ArrayObject', new CallableListener([$mock, 'method']));

$eventToEmit = new \ArrayObject();
$mock->expects($this->once())->method('method')->with($eventToEmit);
Expand Down
16 changes: 10 additions & 6 deletions tests/Listener/EventTrapTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,17 @@
namespace Mleko\Narrator\Tests\Listener;


use Mleko\Narrator\BasicEventBus;
use Mleko\Narrator\EventNameExtractor\ClassNameExtractor;
use Mleko\Narrator\Listener\EventTrap;

class EventTrapTest extends \PHPUnit_Framework_TestCase
{
public function testMultipleEvents()
{
$eventBus = new \Mleko\Narrator\BasicEventBus(new \Mleko\Narrator\EventNameExtractor\ClassNameExtractor());
$eventBus = new BasicEventBus(new ClassNameExtractor());

$eventBus->subscribe('ArrayObject', $trap = new \Mleko\Narrator\Listener\EventTrap(false));
$eventBus->subscribe('ArrayObject', $trap = new EventTrap(false));

$eventBus->emit($event1 = new \ArrayObject());
$eventBus->emit($event2 = new \ArrayObject());
Expand All @@ -25,9 +29,9 @@ public function testMultipleEvents()

public function testOneTimeTrap()
{
$eventBus = new \Mleko\Narrator\BasicEventBus(new \Mleko\Narrator\EventNameExtractor\ClassNameExtractor());
$eventBus = new BasicEventBus(new ClassNameExtractor());

$eventBus->subscribe('ArrayObject', $trap = new \Mleko\Narrator\Listener\EventTrap());
$eventBus->subscribe('ArrayObject', $trap = new EventTrap());

$eventBus->emit($event1 = new \ArrayObject());
$eventBus->emit($event2 = new \ArrayObject());
Expand All @@ -39,9 +43,9 @@ public function testOneTimeTrap()

public function testOneTimeTrapReRegistered()
{
$eventBus = new \Mleko\Narrator\BasicEventBus(new \Mleko\Narrator\EventNameExtractor\ClassNameExtractor());
$eventBus = new BasicEventBus(new ClassNameExtractor());

$eventBus->subscribe('ArrayObject', $trap = new \Mleko\Narrator\Listener\EventTrap());
$eventBus->subscribe('ArrayObject', $trap = new EventTrap());
$eventBus->subscribe('ArrayObject', $trap);

$eventBus->emit($event1 = new \ArrayObject());
Expand Down
13 changes: 9 additions & 4 deletions tests/Listener/OneTimeListenerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,16 +7,21 @@
namespace Mleko\Narrator\Tests\Listener;


use Mleko\Narrator\BasicEventBus;
use Mleko\Narrator\EventNameExtractor\ClassNameExtractor;
use Mleko\Narrator\Listener;
use Mleko\Narrator\Listener\OneTimeListener;

class OneTimeListenerTest extends \PHPUnit_Framework_TestCase
{
public function testOneTimeListener()
{
$eventBus = new \Mleko\Narrator\BasicEventBus(new \Mleko\Narrator\EventNameExtractor\ClassNameExtractor());
$eventBus = new BasicEventBus(new ClassNameExtractor());

/** @var \PHPUnit_Framework_MockObject_MockObject|\Mleko\Narrator\Listener $listener */
$listener = $this->getMockBuilder(\Mleko\Narrator\Listener::class)->getMockForAbstractClass();
/** @var \PHPUnit_Framework_MockObject_MockObject|Listener $listener */
$listener = $this->getMockBuilder(Listener::class)->getMockForAbstractClass();

$subscription = $eventBus->subscribe('ArrayObject', new \Mleko\Narrator\Listener\OneTimeListener($listener));
$subscription = $eventBus->subscribe('ArrayObject', new OneTimeListener($listener));
$this->assertNotNull($subscription);

$event = new \ArrayObject();
Expand Down

0 comments on commit 25578b8

Please sign in to comment.