Passed
Pull Request — master (#5)
by ANTHONIUS
02:41
created

LocalListener::getSubscribedEvents()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1.2963

Importance

Changes 0
Metric Value
cc 1
eloc 4
nc 1
nop 0
dl 0
loc 6
ccs 2
cts 6
cp 0.3333
crap 1.2963
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Doyo\Bridge\CodeCoverage\Listener;
4
5
use Doyo\Bridge\CodeCoverage\Event\CoverageEvent;
6
7
class LocalListener extends AbstractSessionListener
8
{
9 1
    public static function getSubscribedEvents()
10
    {
11
        return [
12 1
            CoverageEvent::refresh => 'refresh',
13
            CoverageEvent::start => 'start',
14
            CoverageEvent::complete => 'complete'
15
        ];
16
    }
17
18 1
    public function refresh()
19
    {
20 1
        $this->session->reset();
21
    }
22
23 1
    public function start(CoverageEvent $event)
24
    {
25 1
        $session = $this->session;
26 1
        $testCase = $event->getProcessor()->getCurrentTestCase();
27
28 1
        $session->setTestCase($testCase);
29 1
        $session->save();
30
    }
31
32 1
    public function complete(CoverageEvent $event)
33
    {
34 1
        $session = $this->session;
35 1
        $processor = $event->getProcessor();
36 1
        $consoleIO = $event->getConsoleIO();
37
38
        // need to refresh session first
39 1
        $session->refresh();
40
41 1
        $processor->merge($session->getProcessor());
42
43 1
        if($session->hasExceptions()){
44
45 1
            foreach($session->getExceptions() as $exception){
46 1
                $consoleIO->coverageInfo($exception->getMessage());
47
            }
48
        }
49
    }
50
}
51