WatchTest   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 63
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 0
Metric Value
wmc 4
lcom 1
cbo 1
dl 0
loc 63
c 0
b 0
f 0
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A _before() 0 22 2
A testMonitorWithOneEvent() 0 14 1
A testMonitorWithTwoEvents() 0 17 1
1
<?php
2
3
namespace Tests\Unit\Task;
4
5
use AspectMock\Test as test;
6
7
class WatchTest extends \Codeception\TestCase\Test
8
{
9
    /**
10
     * @var \AspectMock\Proxy\AnythingClassProxy
11
     */
12
    protected $resourceWatcher;
13
14
    public function _before()
15
    {
16
        if (!class_exists('Lurker\\ResourceWatcher')) {
17
            $this->resourceWatcher = test::spec(
18
                'Lurker\ResourceWatcher',
19
                [
20
                    'start' => true,
21
                    'track' => true,
22
                    'addListener' => true
23
                ]
24
            )->make();
25
        } else {
26
            $this->resourceWatcher = test::double(
27
                'Lurker\ResourceWatcher',
28
                [
29
                    'start' => true,
30
                    'track' => true,
31
                    'addListener' => true
32
                ]
33
            );
34
        }
35
    }
36
37
    public function testMonitorWithOneEvent()
38
    {
39
        $task = new \Robo\Task\Base\Watch($this);
40
41
        $task->monitor(
42
            'src',
43
            function () {
44
                //do nothing
45
            },
46
            1 // CREATE
47
        )->run();
48
49
        $this->resourceWatcher->verifyInvokedOnce('track');
50
    }
51
52
    public function testMonitorWithTwoEvents()
53
    {
54
        $task = new \Robo\Task\Base\Watch($this);
55
56
        $task->monitor(
57
            'src',
58
            function () {
59
                //do nothing
60
            },
61
            [
0 ignored issues
show
Documentation introduced by
array(1, 4) is of type array<integer,integer,{"...nteger","1":"integer"}>, but the function expects a integer.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
62
                1, //CREATE
63
                4, //DELETE
64
            ]
65
        )->run();
66
67
        $this->resourceWatcher->verifyInvokedMultipleTimes('track', 2);
68
    }
69
}
70