Server : Apache System : Linux indy02.toastserver.com 3.10.0-962.3.2.lve1.5.85.el7.x86_64 #1 SMP Thu Apr 18 15:18:36 UTC 2024 x86_64 User : palandch ( 1163) PHP Version : 7.1.33 Disable Function : NONE Directory : /opt/alt/php53/usr/share/pear/PHPUnit/Extensions/SeleniumCommon/ |
<?php class PHPUnit_Extensions_SeleniumCommon_RemoteCoverage { public function __construct($coverageScriptUrl, $testId) { $this->coverageScriptUrl = $coverageScriptUrl; $this->testId = $testId; } public function get() { if (!empty($this->coverageScriptUrl)) { $url = sprintf( '%s?PHPUNIT_SELENIUM_TEST_ID=%s', $this->coverageScriptUrl, $this->testId ); $buffer = @file_get_contents($url); if ($buffer !== FALSE) { $coverageData = unserialize($buffer); if (is_array($coverageData)) { return $this->matchLocalAndRemotePaths($coverageData); } else { throw new Exception('Empty or invalid code coverage data received from url "' . $url . '"'); } } } return array(); } /** * @param array $coverage * @return array * @author Mattis Stordalen Flister <mattis@xait.no> */ protected function matchLocalAndRemotePaths(array $coverage) { $coverageWithLocalPaths = array(); foreach ($coverage as $originalRemotePath => $data) { $remotePath = $originalRemotePath; $separator = $this->findDirectorySeparator($remotePath); while (!($localpath = stream_resolve_include_path($remotePath)) && strpos($remotePath, $separator) !== FALSE) { $remotePath = substr($remotePath, strpos($remotePath, $separator) + 1); } if ($localpath && md5_file($localpath) == $data['md5']) { $coverageWithLocalPaths[$localpath] = $data['coverage']; } } return $coverageWithLocalPaths; } /** * @param string $path * @return string * @author Mattis Stordalen Flister <mattis@xait.no> */ protected function findDirectorySeparator($path) { if (strpos($path, '/') !== FALSE) { return '/'; } return '\\'; } }