You are here

abstract class RealIteratorTestCase in Database Sanitize 7

Hierarchy

Expanded class hierarchy of RealIteratorTestCase

File

vendor/symfony/finder/Tests/Iterator/RealIteratorTestCase.php, line 14

Namespace

Symfony\Component\Finder\Tests\Iterator
View source
abstract class RealIteratorTestCase extends IteratorTestCase {
  protected static $tmpDir;
  protected static $files;
  public static function setUpBeforeClass() {
    self::$tmpDir = realpath(sys_get_temp_dir()) . \DIRECTORY_SEPARATOR . 'symfony_finder';
    self::$files = array(
      '.git/',
      '.foo/',
      '.foo/.bar',
      '.foo/bar',
      '.bar',
      'test.py',
      'foo/',
      'foo/bar.tmp',
      'test.php',
      'toto/',
      'toto/.git/',
      'foo bar',
    );
    self::$files = self::toAbsolute(self::$files);
    if (is_dir(self::$tmpDir)) {
      self::tearDownAfterClass();
    }
    else {
      mkdir(self::$tmpDir);
    }
    foreach (self::$files as $file) {
      if (\DIRECTORY_SEPARATOR === $file[\strlen($file) - 1]) {
        mkdir($file);
      }
      else {
        touch($file);
      }
    }
    file_put_contents(self::toAbsolute('test.php'), str_repeat(' ', 800));
    file_put_contents(self::toAbsolute('test.py'), str_repeat(' ', 2000));
    touch(self::toAbsolute('foo/bar.tmp'), strtotime('2005-10-15'));
    touch(self::toAbsolute('test.php'), strtotime('2005-10-15'));
  }
  public static function tearDownAfterClass() {
    $paths = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator(self::$tmpDir, \RecursiveDirectoryIterator::SKIP_DOTS), \RecursiveIteratorIterator::CHILD_FIRST);
    foreach ($paths as $path) {
      if ($path
        ->isDir()) {
        if ($path
          ->isLink()) {
          @unlink($path);
        }
        else {
          @rmdir($path);
        }
      }
      else {
        @unlink($path);
      }
    }
  }
  protected static function toAbsolute($files = null) {

    /*
     * Without the call to setUpBeforeClass() property can be null.
     */
    if (!self::$tmpDir) {
      self::$tmpDir = realpath(sys_get_temp_dir()) . \DIRECTORY_SEPARATOR . 'symfony_finder';
    }
    if (\is_array($files)) {
      $f = array();
      foreach ($files as $file) {
        if (\is_array($file)) {
          $f[] = self::toAbsolute($file);
        }
        else {
          $f[] = self::$tmpDir . \DIRECTORY_SEPARATOR . str_replace('/', \DIRECTORY_SEPARATOR, $file);
        }
      }
      return $f;
    }
    if (\is_string($files)) {
      return self::$tmpDir . \DIRECTORY_SEPARATOR . str_replace('/', \DIRECTORY_SEPARATOR, $files);
    }
    return self::$tmpDir;
  }
  protected static function toAbsoluteFixtures($files) {
    $f = array();
    foreach ($files as $file) {
      $f[] = realpath(__DIR__ . \DIRECTORY_SEPARATOR . '..' . \DIRECTORY_SEPARATOR . 'Fixtures' . \DIRECTORY_SEPARATOR . $file);
    }
    return $f;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
IteratorTestCase::assertIterator protected function
IteratorTestCase::assertIteratorInForeach protected function Same as IteratorTestCase::assertIterator with foreach usage.
IteratorTestCase::assertOrderedIterator protected function
IteratorTestCase::assertOrderedIteratorForGroups protected function Same as assertOrderedIterator, but checks the order of groups of array elements.
IteratorTestCase::assertOrderedIteratorInForeach protected function Same as IteratorTestCase::assertOrderedIterator with foreach usage.
RealIteratorTestCase::$files protected static property
RealIteratorTestCase::$tmpDir protected static property
RealIteratorTestCase::setUpBeforeClass public static function
RealIteratorTestCase::tearDownAfterClass public static function
RealIteratorTestCase::toAbsolute protected static function
RealIteratorTestCase::toAbsoluteFixtures protected static function