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

LocalListener   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 40
Duplicated Lines 0 %

Test Coverage

Coverage 62.07%

Importance

Changes 0
Metric Value
eloc 18
dl 0
loc 40
ccs 18
cts 29
cp 0.6207
rs 10
c 0
b 0
f 0
wmc 6

4 Methods

Rating   Name   Duplication   Size   Complexity  
A complete() 0 15 3
A refresh() 0 3 1
A getSubscribedEvents() 0 6 1
A start() 0 7 1
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