You are here

class GlobTest in Database Sanitize 7

Hierarchy

  • class \Symfony\Component\Finder\Tests\GlobTest extends \PHPUnit\Framework\TestCase

Expanded class hierarchy of GlobTest

File

vendor/symfony/finder/Tests/GlobTest.php, line 18

Namespace

Symfony\Component\Finder\Tests
View source
class GlobTest extends TestCase {
  public function testGlobToRegexDelimiters() {
    $this
      ->assertEquals('#^(?=[^\\.])\\#$#', Glob::toRegex('#'));
    $this
      ->assertEquals('#^\\.[^/]*$#', Glob::toRegex('.*'));
    $this
      ->assertEquals('^\\.[^/]*$', Glob::toRegex('.*', true, true, ''));
    $this
      ->assertEquals('/^\\.[^/]*$/', Glob::toRegex('.*', true, true, '/'));
  }
  public function testGlobToRegexDoubleStarStrictDots() {
    $finder = new Finder();
    $finder
      ->ignoreDotFiles(false);
    $regex = Glob::toRegex('/**/*.neon');
    foreach ($finder
      ->in(__DIR__) as $k => $v) {
      $k = str_replace(\DIRECTORY_SEPARATOR, '/', $k);
      if (preg_match($regex, substr($k, \strlen(__DIR__)))) {
        $match[] = substr($k, 10 + \strlen(__DIR__));
      }
    }
    sort($match);
    $this
      ->assertSame(array(
      'one/b/c.neon',
      'one/b/d.neon',
    ), $match);
  }
  public function testGlobToRegexDoubleStarNonStrictDots() {
    $finder = new Finder();
    $finder
      ->ignoreDotFiles(false);
    $regex = Glob::toRegex('/**/*.neon', false);
    foreach ($finder
      ->in(__DIR__) as $k => $v) {
      $k = str_replace(\DIRECTORY_SEPARATOR, '/', $k);
      if (preg_match($regex, substr($k, \strlen(__DIR__)))) {
        $match[] = substr($k, 10 + \strlen(__DIR__));
      }
    }
    sort($match);
    $this
      ->assertSame(array(
      '.dot/b/c.neon',
      '.dot/b/d.neon',
      'one/b/c.neon',
      'one/b/d.neon',
    ), $match);
  }
  public function testGlobToRegexDoubleStarWithoutLeadingSlash() {
    $finder = new Finder();
    $finder
      ->ignoreDotFiles(false);
    $regex = Glob::toRegex('/Fixtures/one/**');
    foreach ($finder
      ->in(__DIR__) as $k => $v) {
      $k = str_replace(\DIRECTORY_SEPARATOR, '/', $k);
      if (preg_match($regex, substr($k, \strlen(__DIR__)))) {
        $match[] = substr($k, 10 + \strlen(__DIR__));
      }
    }
    sort($match);
    $this
      ->assertSame(array(
      'one/a',
      'one/b',
      'one/b/c.neon',
      'one/b/d.neon',
    ), $match);
  }
  public function testGlobToRegexDoubleStarWithoutLeadingSlashNotStrictLeadingDot() {
    $finder = new Finder();
    $finder
      ->ignoreDotFiles(false);
    $regex = Glob::toRegex('/Fixtures/one/**', false);
    foreach ($finder
      ->in(__DIR__) as $k => $v) {
      $k = str_replace(\DIRECTORY_SEPARATOR, '/', $k);
      if (preg_match($regex, substr($k, \strlen(__DIR__)))) {
        $match[] = substr($k, 10 + \strlen(__DIR__));
      }
    }
    sort($match);
    $this
      ->assertSame(array(
      'one/.dot',
      'one/a',
      'one/b',
      'one/b/c.neon',
      'one/b/d.neon',
    ), $match);
  }

}

Members