Filter.php in Zircon Profile 8.0
Same filename in this branch
- 8.0 vendor/twig/twig/lib/Twig/Filter.php
- 8.0 vendor/phpunit/phpunit/src/Util/Filter.php
- 8.0 vendor/phpunit/php-code-coverage/src/CodeCoverage/Filter.php
- 8.0 core/modules/filter/src/Annotation/Filter.php
- 8.0 vendor/twig/twig/lib/Twig/TokenParser/Filter.php
- 8.0 vendor/twig/twig/lib/Twig/Node/Expression/Filter.php
Same filename and directory in other branches
File
vendor/phpunit/php-code-coverage/src/CodeCoverage/Filter.phpView source
<?php
/*
* This file is part of the PHP_CodeCoverage package.
*
* (c) Sebastian Bergmann <sebastian@phpunit.de>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
/**
* Filter for blacklisting and whitelisting of code coverage information.
*
* @since Class available since Release 1.0.0
*/
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;
}
}
Classes
Name | Description |
---|---|
PHP_CodeCoverage_Filter | Filter for blacklisting and whitelisting of code coverage information. |