class PHP_CodeCoverage_Filter in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/phpunit/php-code-coverage/src/CodeCoverage/Filter.php \PHP_CodeCoverage_Filter
Filter for blacklisting and whitelisting of code coverage information.
@since Class available since Release 1.0.0
Hierarchy
- class \PHP_CodeCoverage_Filter
Expanded class hierarchy of PHP_CodeCoverage_Filter
1 string reference to 'PHP_CodeCoverage_Filter'
- PHP_CodeCoverageTest::testConstructor in vendor/
phpunit/ php-code-coverage/ tests/ PHP/ CodeCoverageTest.php - @covers PHP_CodeCoverage::__construct @covers PHP_CodeCoverage::filter
File
- vendor/
phpunit/ php-code-coverage/ src/ CodeCoverage/ Filter.php, line 16
View source
class PHP_CodeCoverage_Filter {
/**
* Source files that are blacklisted.
*
* @var array
*/
private $blacklistedFiles = array();
/**
* Source files that are whitelisted.
*
* @var array
*/
private $whitelistedFiles = array();
/**
* Adds a directory to the blacklist (recursively).
*
* @param string $directory
* @param string $suffix
* @param string $prefix
*/
public function addDirectoryToBlacklist($directory, $suffix = '.php', $prefix = '') {
$facade = new File_Iterator_Facade();
$files = $facade
->getFilesAsArray($directory, $suffix, $prefix);
foreach ($files as $file) {
$this
->addFileToBlacklist($file);
}
}
/**
* Adds a file to the blacklist.
*
* @param string $filename
*/
public function addFileToBlacklist($filename) {
$this->blacklistedFiles[realpath($filename)] = true;
}
/**
* Adds files to the blacklist.
*
* @param array $files
*/
public function addFilesToBlacklist(array $files) {
foreach ($files as $file) {
$this
->addFileToBlacklist($file);
}
}
/**
* Removes a directory from the blacklist (recursively).
*
* @param string $directory
* @param string $suffix
* @param string $prefix
*/
public function removeDirectoryFromBlacklist($directory, $suffix = '.php', $prefix = '') {
$facade = new File_Iterator_Facade();
$files = $facade
->getFilesAsArray($directory, $suffix, $prefix);
foreach ($files as $file) {
$this
->removeFileFromBlacklist($file);
}
}
/**
* Removes a file from the blacklist.
*
* @param string $filename
*/
public function removeFileFromBlacklist($filename) {
$filename = realpath($filename);
if (isset($this->blacklistedFiles[$filename])) {
unset($this->blacklistedFiles[$filename]);
}
}
/**
* Adds a directory to the whitelist (recursively).
*
* @param string $directory
* @param string $suffix
* @param string $prefix
*/
public function addDirectoryToWhitelist($directory, $suffix = '.php', $prefix = '') {
$facade = new File_Iterator_Facade();
$files = $facade
->getFilesAsArray($directory, $suffix, $prefix);
foreach ($files as $file) {
$this
->addFileToWhitelist($file);
}
}
/**
* Adds a file to the whitelist.
*
* @param string $filename
*/
public function addFileToWhitelist($filename) {
$this->whitelistedFiles[realpath($filename)] = true;
}
/**
* Adds files to the whitelist.
*
* @param array $files
*/
public function addFilesToWhitelist(array $files) {
foreach ($files as $file) {
$this
->addFileToWhitelist($file);
}
}
/**
* Removes a directory from the whitelist (recursively).
*
* @param string $directory
* @param string $suffix
* @param string $prefix
*/
public function removeDirectoryFromWhitelist($directory, $suffix = '.php', $prefix = '') {
$facade = new File_Iterator_Facade();
$files = $facade
->getFilesAsArray($directory, $suffix, $prefix);
foreach ($files as $file) {
$this
->removeFileFromWhitelist($file);
}
}
/**
* Removes a file from the whitelist.
*
* @param string $filename
*/
public function removeFileFromWhitelist($filename) {
$filename = realpath($filename);
if (isset($this->whitelistedFiles[$filename])) {
unset($this->whitelistedFiles[$filename]);
}
}
/**
* Checks whether a filename is a real filename.
*
* @param string $filename
* @return bool
*/
public function isFile($filename) {
if ($filename == '-' || strpos($filename, 'vfs://') === 0 || strpos($filename, 'xdebug://debug-eval') !== false || strpos($filename, 'eval()\'d code') !== false || strpos($filename, 'runtime-created function') !== false || strpos($filename, 'runkit created function') !== false || strpos($filename, 'assert code') !== false || strpos($filename, 'regexp code') !== false) {
return false;
}
return file_exists($filename);
}
/**
* Checks whether or not a file is filtered.
*
* When the whitelist is empty (default), blacklisting is used.
* When the whitelist is not empty, whitelisting is used.
*
* @param string $filename
* @return bool
* @throws PHP_CodeCoverage_Exception
*/
public function isFiltered($filename) {
if (!$this
->isFile($filename)) {
return true;
}
$filename = realpath($filename);
if (!empty($this->whitelistedFiles)) {
return !isset($this->whitelistedFiles[$filename]);
}
return isset($this->blacklistedFiles[$filename]);
}
/**
* Returns the list of blacklisted files.
*
* @return array
*/
public function getBlacklist() {
return array_keys($this->blacklistedFiles);
}
/**
* Returns the list of whitelisted files.
*
* @return array
*/
public function getWhitelist() {
return array_keys($this->whitelistedFiles);
}
/**
* Returns whether this filter has a whitelist.
*
* @return bool
* @since Method available since Release 1.1.0
*/
public function hasWhitelist() {
return !empty($this->whitelistedFiles);
}
/**
* Returns the blacklisted files.
*
* @return array
* @since Method available since Release 2.0.0
*/
public function getBlacklistedFiles() {
return $this->blacklistedFiles;
}
/**
* Sets the blacklisted files.
*
* @param array $blacklistedFiles
* @since Method available since Release 2.0.0
*/
public function setBlacklistedFiles($blacklistedFiles) {
$this->blacklistedFiles = $blacklistedFiles;
}
/**
* Returns the whitelisted files.
*
* @return array
* @since Method available since Release 2.0.0
*/
public function getWhitelistedFiles() {
return $this->whitelistedFiles;
}
/**
* Sets the whitelisted files.
*
* @param array $whitelistedFiles
* @since Method available since Release 2.0.0
*/
public function setWhitelistedFiles($whitelistedFiles) {
$this->whitelistedFiles = $whitelistedFiles;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
PHP_CodeCoverage_Filter:: |
private | property | Source files that are blacklisted. | |
PHP_CodeCoverage_Filter:: |
private | property | Source files that are whitelisted. | |
PHP_CodeCoverage_Filter:: |
public | function | Adds a directory to the blacklist (recursively). | |
PHP_CodeCoverage_Filter:: |
public | function | Adds a directory to the whitelist (recursively). | |
PHP_CodeCoverage_Filter:: |
public | function | Adds files to the blacklist. | |
PHP_CodeCoverage_Filter:: |
public | function | Adds files to the whitelist. | |
PHP_CodeCoverage_Filter:: |
public | function | Adds a file to the blacklist. | |
PHP_CodeCoverage_Filter:: |
public | function | Adds a file to the whitelist. | |
PHP_CodeCoverage_Filter:: |
public | function | Returns the list of blacklisted files. | |
PHP_CodeCoverage_Filter:: |
public | function | Returns the blacklisted files. | |
PHP_CodeCoverage_Filter:: |
public | function | Returns the list of whitelisted files. | |
PHP_CodeCoverage_Filter:: |
public | function | Returns the whitelisted files. | |
PHP_CodeCoverage_Filter:: |
public | function | Returns whether this filter has a whitelist. | |
PHP_CodeCoverage_Filter:: |
public | function | Checks whether a filename is a real filename. | |
PHP_CodeCoverage_Filter:: |
public | function | Checks whether or not a file is filtered. | |
PHP_CodeCoverage_Filter:: |
public | function | Removes a directory from the blacklist (recursively). | |
PHP_CodeCoverage_Filter:: |
public | function | Removes a directory from the whitelist (recursively). | |
PHP_CodeCoverage_Filter:: |
public | function | Removes a file from the blacklist. | |
PHP_CodeCoverage_Filter:: |
public | function | Removes a file from the whitelist. | |
PHP_CodeCoverage_Filter:: |
public | function | Sets the blacklisted files. | |
PHP_CodeCoverage_Filter:: |
public | function | Sets the whitelisted files. |