lithium\test\Report::filters PHP Method

filters() public method

public filters ( array $filters = [] )
$filters array
    public function filters(array $filters = array())
    {
        if ($this->_filters && !$filters) {
            return $this->_filters;
        }
        $filters += (array) $this->_config['filters'];
        $results = array();
        foreach ($filters as $filter => $options) {
            if (!($class = Libraries::locate('test.filter', $filter))) {
                throw new ClassNotFoundException("`{$class}` is not a valid test filter.");
            }
            $options['name'] = strtolower(join('', array_slice(explode("\\", $class), -1)));
            $results[$class] = $options + array('apply' => array(), 'analyze' => array());
        }
        return $this->_filters = $results;
    }

Usage Example

Example #1
0
 public function testSingleTestWithMultipleFilters()
 {
     $all = array('Coverage', 'Complexity', 'Profiler', 'Affected');
     $permutations = $this->_powerPerms($all);
     foreach ($permutations as $filters) {
         $filters = array_flip($filters);
         $filters = array_map(function ($v) {
             return "";
         }, $filters);
         $report = new Report(array('title' => 'lithium\\tests\\mocks\\test\\MockFilterTest', 'group' => new Group(array('data' => array('lithium\\tests\\mocks\\test\\MockFilterClassTest')))));
         $report->filters($filters);
         $report->run();
         if (array_key_exists("Coverage", $filters)) {
             $expected = 66.67;
             $result = $report->results['filters'];
             $message = "Filter(s): '" . join(array_keys($filters), ", ") . "'";
             $message .= "returned no Coverage results.";
             $this->assertTrue(isset($result['lithium\\test\\filter\\Coverage']), $message);
             $percentage = $result['lithium\\test\\filter\\Coverage'];
             $percentage = $percentage['lithium\\tests\\mocks\\test\\MockFilterClass'];
             $percentage = $percentage['percentage'];
             $this->assertEqual($expected, $percentage);
         }
     }
 }
All Usage Examples Of lithium\test\Report::filters