Completed
Push — master ( d068c5...99fa9d )
by Antonio
03:22 queued 58s
created

EventTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3
Metric Value
wmc 2
lcom 0
cbo 3
dl 0
loc 37
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testInvalidCallbackArgumentException() 0 4 1
B testEventHandlerTraitMethods() 0 26 1
1
<?php
2
namespace Da\Mailer\Test\Event;
3
4
use Da\Mailer\Event\Event;
5
use Da\Mailer\Event\EventHandlerTrait;
6
use PHPUnit_Framework_TestCase;
7
8
class EventTest extends PHPUnit_Framework_TestCase
9
{
10
    /**
11
     * @expectedException \Da\Mailer\Exception\InvalidCallbackArgumentException
12
     */
13
    public function testInvalidCallbackArgumentException()
14
    {
15
        $event = new Event('not a callback');
0 ignored issues
show
Unused Code introduced by
$event is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
16
    }
17
18
    public function testEventHandlerTraitMethods()
19
    {
20
        $triggered = null;
21
        $data = null;
22
        $handler = function (Event $event) use (&$triggered, &$data) {
23
            $triggered = $event;
24
            $data = $event->getData();
25
        };
26
        $event = new Event($handler);
27
        $eventsTester = new EventsTester();
28
29
        $eventsTester->attach('eventName', $event);
30
31
        $eventsTester->trigger('eventName', ['x-wings']);
32
33
        $this->assertEquals($triggered, $event);
34
        $this->assertEquals($data, ['x-wings']);
35
36
        $triggered = null;
37
        $data = null;
38
        $eventsTester->detach('eventName');
39
        $eventsTester->trigger('eventName');
40
41
        $this->assertNull($triggered);
42
        $this->assertNull($data);
43
    }
44
}
45
46
class EventsTester
47
{
48
    use EventHandlerTrait;
49
}
50