You are here

SizeRangeFilterIteratorTest.php in Database Sanitize 7

File

vendor/symfony/finder/Tests/Iterator/SizeRangeFilterIteratorTest.php
View source
<?php

/*
 * This file is part of the Symfony package.
 *
 * (c) Fabien Potencier <fabien@symfony.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */
namespace Symfony\Component\Finder\Tests\Iterator;

use Symfony\Component\Finder\Comparator\NumberComparator;
use Symfony\Component\Finder\Iterator\SizeRangeFilterIterator;
class SizeRangeFilterIteratorTest extends RealIteratorTestCase {

  /**
   * @dataProvider getAcceptData
   */
  public function testAccept($size, $expected) {
    $inner = new InnerSizeIterator(self::$files);
    $iterator = new SizeRangeFilterIterator($inner, $size);
    $this
      ->assertIterator($expected, $iterator);
  }
  public function getAcceptData() {
    $lessThan1KGreaterThan05K = array(
      '.foo',
      '.git',
      'foo',
      'test.php',
      'toto',
      'toto/.git',
    );
    return array(
      array(
        array(
          new NumberComparator('< 1K'),
          new NumberComparator('> 0.5K'),
        ),
        $this
          ->toAbsolute($lessThan1KGreaterThan05K),
      ),
    );
  }

}
class InnerSizeIterator extends \ArrayIterator {
  public function current() {
    return new \SplFileInfo(parent::current());
  }
  public function getFilename() {
    return parent::current();
  }
  public function isFile() {
    return $this
      ->current()
      ->isFile();
  }
  public function getSize() {
    return $this
      ->current()
      ->getSize();
  }

}