Classes

Bubble size = executable lines. Hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 20 40 60 80 Line Coverage (%) Cyclomatic Complexity Phpdftk\WptHarness\HarnessRunner — Coverage: 55.1% | Lines: 216 | Complexity: 67 Phpdftk\WptHarness\BrowserOracle — Coverage: 54.8% | Lines: 177 | Complexity: 65 Phpdftk\WptHarness\ConsensusScorer — Coverage: 0.0% | Lines: 107 | Complexity: 25 Phpdftk\WptHarness\Manifest — Coverage: 97.6% | Lines: 85 | Complexity: 39 Phpdftk\WptHarness\Scorer — Coverage: 1.6% | Lines: 64 | Complexity: 13 Phpdftk\WptHarness\CrossBrowserRunner — Coverage: 0.0% | Lines: 52 | Complexity: 15 Phpdftk\WptHarness\DomSettler — Coverage: 38.6% | Lines: 44 | Complexity: 13 Phpdftk\WptHarness\Rasteriser — Coverage: 65.5% | Lines: 29 | Complexity: 8 Phpdftk\WptHarness\ReportPublisher — Coverage: 92.0% | Lines: 25 | Complexity: 10 Phpdftk\WptHarness\TestResult — Coverage: 100.0% | Lines: 1 | Complexity: 1

Methods

Bubble size = executable lines. Hover for details, click to navigate.

0% 20% 40% 60% 80% 100% 0 5 10 15 Line Coverage (%) Cyclomatic Complexity Phpdftk\WptHarness\HarnessRunner::runRendered — Coverage: 36.8% | Lines: 68 | Complexity: 9 Phpdftk\WptHarness\ConsensusScorer::score — Coverage: 0.0% | Lines: 66 | Complexity: 9 Phpdftk\WptHarness\Scorer::diff — Coverage: 0.0% | Lines: 51 | Complexity: 7 Phpdftk\WptHarness\BrowserOracle::dispatch — Coverage: 6.5% | Lines: 46 | Complexity: 8 Phpdftk\WptHarness\BrowserOracle::dispatchDaemon — Coverage: 92.7% | Lines: 41 | Complexity: 10 Phpdftk\WptHarness\CrossBrowserRunner::runOne — Coverage: 0.0% | Lines: 32 | Complexity: 5 Phpdftk\WptHarness\DomSettler::settle — Coverage: 7.4% | Lines: 27 | Complexity: 6 Phpdftk\WptHarness\Manifest::loadFromDirectory — Coverage: 100.0% | Lines: 27 | Complexity: 12 Phpdftk\WptHarness\ReportPublisher::aggregate — Coverage: 100.0% | Lines: 23 | Complexity: 9 Phpdftk\WptHarness\HarnessRunner::renderHtmlToPdf — Coverage: 76.2% | Lines: 21 | Complexity: 5 Phpdftk\WptHarness\Rasteriser::rasterise — Coverage: 90.0% | Lines: 20 | Complexity: 4 Phpdftk\WptHarness\ConsensusScorer::pickConsensus — Coverage: 0.0% | Lines: 18 | Complexity: 8 Phpdftk\WptHarness\ConsensusScorer::describeDisagreement — Coverage: 0.0% | Lines: 18 | Complexity: 4 Phpdftk\WptHarness\HarnessRunner::locateLinkRelMatchReference — Coverage: 50.0% | Lines: 18 | Complexity: 9 Phpdftk\WptHarness\BrowserOracle::render — Coverage: 88.2% | Lines: 17 | Complexity: 7 Phpdftk\WptHarness\BrowserOracle::daemonReady — Coverage: 100.0% | Lines: 17 | Complexity: 5 Phpdftk\WptHarness\HarnessRunner::parseFuzzyMeta — Coverage: 0.0% | Lines: 16 | Complexity: 7 Phpdftk\WptHarness\Manifest::classify — Coverage: 100.0% | Lines: 16 | Complexity: 6 Phpdftk\WptHarness\Manifest::globToRegex — Coverage: 100.0% | Lines: 16 | Complexity: 5 Phpdftk\WptHarness\HarnessRunner::discoverTests — Coverage: 85.7% | Lines: 14 | Complexity: 6 Phpdftk\WptHarness\Manifest::normaliseRules — Coverage: 100.0% | Lines: 14 | Complexity: 9 Phpdftk\WptHarness\HarnessRunner::locateReference — Coverage: 100.0% | Lines: 13 | Complexity: 3 Phpdftk\WptHarness\HarnessRunner::renderSvgToPdf — Coverage: 0.0% | Lines: 13 | Complexity: 5 Phpdftk\WptHarness\HarnessRunner::testIdFromPath — Coverage: 84.6% | Lines: 13 | Complexity: 5 Phpdftk\WptHarness\DomSettler::maybeSettle — Coverage: 81.8% | Lines: 11 | Complexity: 4 Phpdftk\WptHarness\HarnessRunner::run — Coverage: 90.9% | Lines: 11 | Complexity: 6 Phpdftk\WptHarness\HarnessRunner::runOne — Coverage: 100.0% | Lines: 11 | Complexity: 2 Phpdftk\WptHarness\CrossBrowserRunner::renderOurs — Coverage: 0.0% | Lines: 10 | Complexity: 2 Phpdftk\WptHarness\BrowserOracle::isAvailable — Coverage: 22.2% | Lines: 9 | Complexity: 7 Phpdftk\WptHarness\HarnessRunner::renderToPng — Coverage: 87.5% | Lines: 8 | Complexity: 2 Phpdftk\WptHarness\BrowserOracle::macFirefoxPath — Coverage: 0.0% | Lines: 7 | Complexity: 6 Phpdftk\WptHarness\BrowserOracle::translateFixturePath — Coverage: 71.4% | Lines: 7 | Complexity: 5 Phpdftk\WptHarness\CrossBrowserRunner::__construct — Coverage: 0.0% | Lines: 7 | Complexity: 4 Phpdftk\WptHarness\Manifest::loadJsonFile — Coverage: 71.4% | Lines: 7 | Complexity: 3 Phpdftk\WptHarness\BrowserOracle::daemonUrlFor — Coverage: 83.3% | Lines: 6 | Complexity: 3 Phpdftk\WptHarness\Rasteriser::isAvailable — Coverage: 0.0% | Lines: 6 | Complexity: 1 Phpdftk\WptHarness\Scorer::isAvailable — Coverage: 0.0% | Lines: 6 | Complexity: 1 Phpdftk\WptHarness\BrowserOracle::clearCache — Coverage: 0.0% | Lines: 5 | Complexity: 4 Phpdftk\WptHarness\HarnessRunner::resolveTestFile — Coverage: 80.0% | Lines: 5 | Complexity: 3 Phpdftk\WptHarness\BrowserOracle::firefoxAvailable — Coverage: 0.0% | Lines: 4 | Complexity: 3 Phpdftk\WptHarness\BrowserOracle::cachedPath — Coverage: 100.0% | Lines: 4 | Complexity: 1 Phpdftk\WptHarness\BrowserOracle::cacheKey — Coverage: 100.0% | Lines: 4 | Complexity: 1 Phpdftk\WptHarness\ConsensusScorer::compareScore — Coverage: 0.0% | Lines: 4 | Complexity: 3 Phpdftk\WptHarness\DomSettler::needsSettling — Coverage: 100.0% | Lines: 4 | Complexity: 1 Phpdftk\WptHarness\Scorer::dimensions — Coverage: 0.0% | Lines: 4 | Complexity: 2 Phpdftk\WptHarness\BrowserOracle::binaryAvailable — Coverage: 0.0% | Lines: 3 | Complexity: 1 Phpdftk\WptHarness\BrowserOracle::dockerDaemonRunning — Coverage: 0.0% | Lines: 3 | Complexity: 1 Phpdftk\WptHarness\BrowserOracle::ensureCacheDir — Coverage: 100.0% | Lines: 3 | Complexity: 2 Phpdftk\WptHarness\CrossBrowserRunner::cleanupResult — Coverage: 0.0% | Lines: 3 | Complexity: 4 Phpdftk\WptHarness\Manifest::matches — Coverage: 100.0% | Lines: 2 | Complexity: 1 Phpdftk\WptHarness\ReportPublisher::publish — Coverage: 0.0% | Lines: 2 | Complexity: 1 Phpdftk\WptHarness\BrowserOracle::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\WptHarness\ConsensusScorer::__construct — Coverage: 0.0% | Lines: 1 | Complexity: 1 Phpdftk\WptHarness\DomSettler::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\WptHarness\DomSettler::cacheKeyFor — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\WptHarness\HarnessRunner::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\WptHarness\HarnessRunner::manifest — Coverage: 0.0% | Lines: 1 | Complexity: 1 Phpdftk\WptHarness\HarnessRunner::rasteriser — Coverage: 0.0% | Lines: 1 | Complexity: 1 Phpdftk\WptHarness\HarnessRunner::scorer — Coverage: 0.0% | Lines: 1 | Complexity: 1 Phpdftk\WptHarness\HarnessRunner::wptRoot — Coverage: 0.0% | Lines: 1 | Complexity: 1 Phpdftk\WptHarness\Manifest::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\WptHarness\Manifest::outOfScopeRules — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\WptHarness\Manifest::pendingSubstrateRules — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\WptHarness\Rasteriser::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\WptHarness\Rasteriser::dpi — Coverage: 0.0% | Lines: 1 | Complexity: 1 Phpdftk\WptHarness\Rasteriser::ghostscriptBinary — Coverage: 0.0% | Lines: 1 | Complexity: 1 Phpdftk\WptHarness\Scorer::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1 Phpdftk\WptHarness\Scorer::passThreshold — Coverage: 0.0% | Lines: 1 | Complexity: 1 Phpdftk\WptHarness\Scorer::compareBinary — Coverage: 0.0% | Lines: 1 | Complexity: 1 Phpdftk\WptHarness\TestResult::__construct — Coverage: 100.0% | Lines: 1 | Complexity: 1

 

Sorted by descending CRAP (Change Risk Anti-Patterns) index.

Method CRAP Coverage
Phpdftk\WptHarness\ConsensusScorer::score900.0%
Phpdftk\WptHarness\ConsensusScorer::pickConsensus720.0%
Phpdftk\WptHarness\BrowserOracle::dispatch60.286.5%
Phpdftk\WptHarness\HarnessRunner::parseFuzzyMeta560.0%
Phpdftk\WptHarness\Scorer::diff560.0%
Phpdftk\WptHarness\BrowserOracle::macFirefoxPath420.0%
Phpdftk\WptHarness\DomSettler::settle34.587.4%
Phpdftk\WptHarness\BrowserOracle::isAvailable30.0522.2%
Phpdftk\WptHarness\CrossBrowserRunner::runOne300.0%
Phpdftk\WptHarness\HarnessRunner::renderSvgToPdf300.0%
Phpdftk\WptHarness\HarnessRunner::runRendered29.4836.8%
Phpdftk\WptHarness\BrowserOracle::clearCache200.0%
Phpdftk\WptHarness\ConsensusScorer::describeDisagreement200.0%
Phpdftk\WptHarness\CrossBrowserRunner::__construct200.0%
Phpdftk\WptHarness\CrossBrowserRunner::cleanupResult200.0%
Phpdftk\WptHarness\HarnessRunner::locateLinkRelMatchReference19.1250.0%
Phpdftk\WptHarness\BrowserOracle::firefoxAvailable120.0%
Phpdftk\WptHarness\ConsensusScorer::compareScore120.0%
Phpdftk\WptHarness\Manifest::loadFromDirectory12100.0%
Phpdftk\WptHarness\BrowserOracle::dispatchDaemon10.0492.7%
Phpdftk\WptHarness\Manifest::normaliseRules9100.0%
Phpdftk\WptHarness\ReportPublisher::aggregate9100.0%
Phpdftk\WptHarness\BrowserOracle::render7.0888.2%
Phpdftk\WptHarness\HarnessRunner::discoverTests6.1085.7%
Phpdftk\WptHarness\HarnessRunner::run6.0390.9%
Phpdftk\WptHarness\CrossBrowserRunner::renderOurs60.0%
Phpdftk\WptHarness\Manifest::classify6100.0%
Phpdftk\WptHarness\Scorer::dimensions60.0%
Phpdftk\WptHarness\BrowserOracle::translateFixturePath5.5871.4%
Phpdftk\WptHarness\HarnessRunner::renderHtmlToPdf5.3476.2%
Phpdftk\WptHarness\HarnessRunner::testIdFromPath5.0984.6%
Phpdftk\WptHarness\BrowserOracle::daemonReady5100.0%
Phpdftk\WptHarness\Manifest::globToRegex5100.0%
Phpdftk\WptHarness\DomSettler::maybeSettle4.1081.8%
Phpdftk\WptHarness\Rasteriser::rasterise4.0290.0%
Phpdftk\WptHarness\Manifest::loadJsonFile3.2171.4%
Phpdftk\WptHarness\HarnessRunner::resolveTestFile3.0780.0%
Phpdftk\WptHarness\BrowserOracle::daemonUrlFor3.0483.3%
Phpdftk\WptHarness\HarnessRunner::locateReference3100.0%
Phpdftk\WptHarness\HarnessRunner::renderToPng2.0187.5%
Phpdftk\WptHarness\BrowserOracle::binaryAvailable20.0%
Phpdftk\WptHarness\BrowserOracle::dockerDaemonRunning20.0%
Phpdftk\WptHarness\BrowserOracle::ensureCacheDir2100.0%
Phpdftk\WptHarness\ConsensusScorer::__construct20.0%
Phpdftk\WptHarness\HarnessRunner::runOne2100.0%
Phpdftk\WptHarness\HarnessRunner::manifest20.0%
Phpdftk\WptHarness\HarnessRunner::rasteriser20.0%
Phpdftk\WptHarness\HarnessRunner::scorer20.0%
Phpdftk\WptHarness\HarnessRunner::wptRoot20.0%
Phpdftk\WptHarness\Rasteriser::dpi20.0%
Phpdftk\WptHarness\Rasteriser::ghostscriptBinary20.0%
Phpdftk\WptHarness\Rasteriser::isAvailable20.0%
Phpdftk\WptHarness\ReportPublisher::publish20.0%
Phpdftk\WptHarness\Scorer::passThreshold20.0%
Phpdftk\WptHarness\Scorer::compareBinary20.0%
Phpdftk\WptHarness\Scorer::isAvailable20.0%
Phpdftk\WptHarness\BrowserOracle::__construct1100.0%
Phpdftk\WptHarness\BrowserOracle::cachedPath1100.0%
Phpdftk\WptHarness\BrowserOracle::cacheKey1100.0%
Phpdftk\WptHarness\DomSettler::__construct1100.0%
Phpdftk\WptHarness\DomSettler::needsSettling1100.0%
Phpdftk\WptHarness\DomSettler::cacheKeyFor1100.0%
Phpdftk\WptHarness\HarnessRunner::__construct1100.0%
Phpdftk\WptHarness\Manifest::__construct1100.0%
Phpdftk\WptHarness\Manifest::outOfScopeRules1100.0%
Phpdftk\WptHarness\Manifest::pendingSubstrateRules1100.0%
Phpdftk\WptHarness\Manifest::matches1100.0%
Phpdftk\WptHarness\Rasteriser::__construct1100.0%
Phpdftk\WptHarness\Scorer::__construct1100.0%
Phpdftk\WptHarness\TestResult::__construct1100.0%