MultirunRunner   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 4
lcom 1
cbo 1
dl 0
loc 26
rs 10
c 2
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getTest() 0 11 2
A getCacheKey() 0 5 2
1
<?php
2
3
namespace PHPRealCoverage\TestRunner;
4
5
class MultirunRunner extends \PHPUnit_TextUI_TestRunner
6
{
7
    private static $loaderCache = array();
8
9
    public function getTest($suiteClassName, $suiteClassFile = '', $suffixes = '')
10
    {
11
        $cacheKey = $this->getCacheKey($suiteClassName, $suiteClassFile, $suffixes);
12
        if (isset(self::$loaderCache[$cacheKey])) {
13
            return self::$loaderCache[$cacheKey];
14
        }
15
16
        $cacheContent = parent::getTest($suiteClassName, $suiteClassFile, $suffixes);
17
        self::$loaderCache[$cacheKey] = $cacheContent;
18
        return $cacheContent;
19
    }
20
21
    /**
22
     * @param string $suiteClassFile
23
     * @param string $suffixes
24
     */
25
    private function getCacheKey($suiteClassName, $suiteClassFile, $suffixes)
26
    {
27
        $suffixString = is_array($suffixes) ? join(' ', $suffixes) : $suffixes;
28
        return $suiteClassName . ' ' . $suiteClassFile . ' ' . $suffixString;
29
    }
30
}
31