Вход Регистрация
Файл: gapps/vendor/phpunit/phpunit/src/Runner/Filter/Factory.php
Строк: 36
<?php
/*
 * This file is part of PHPUnit.
 *
 * (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.
 */

/**
 * @since Class available since Release 4.0.0
 */
class PHPUnit_Runner_Filter_Factory
{
    
/**
     * @var array
     */
    
private $filters = array();

    
/**
     * @param ReflectionClass $filter
     * @param mixed           $args
     */
    
public function addFilter(ReflectionClass $filter$args)
    {
        if (!
$filter->isSubclassOf('RecursiveFilterIterator')) {
            throw new 
InvalidArgumentException(
                
sprintf(
                    
'Class "%s" does not extend RecursiveFilterIterator',
                    
$filter->name
                
)
            );
        }

        
$this->filters[] = array($filter$args);
    }

    
/**
     * @return FilterIterator
     */
    
public function factory(Iterator $iteratorPHPUnit_Framework_TestSuite $suite)
    {
        foreach (
$this->filters as $filter) {
            list(
$class$args) = $filter;
            
$iterator           $class->newInstance($iterator$args$suite);
        }

        return 
$iterator;
    }
}
Онлайн: 0
Реклама