From a7e17cb70e9306f8887bd2b5ca1a37edcbe3ea0f Mon Sep 17 00:00:00 2001 From: Stefan Suhren Date: Mon, 11 May 2015 15:02:33 +0200 Subject: Let composer manage its own files --- .../finder/Symfony/Component/Finder/.gitignore | 3 - .../Component/Finder/Adapter/AbstractAdapter.php | 236 ------ .../Finder/Adapter/AbstractFindAdapter.php | 327 -------- .../Component/Finder/Adapter/AdapterInterface.php | 144 ---- .../Component/Finder/Adapter/BsdFindAdapter.php | 103 --- .../Component/Finder/Adapter/GnuFindAdapter.php | 104 --- .../Component/Finder/Adapter/PhpAdapter.php | 98 --- .../finder/Symfony/Component/Finder/CHANGELOG.md | 34 - .../Component/Finder/Comparator/Comparator.php | 98 --- .../Component/Finder/Comparator/DateComparator.php | 53 -- .../Finder/Comparator/NumberComparator.php | 81 -- .../Finder/Exception/AccessDeniedException.php | 19 - .../Finder/Exception/AdapterFailureException.php | 46 -- .../Finder/Exception/ExceptionInterface.php | 23 - .../Exception/OperationNotPermitedException.php | 19 - .../Exception/ShellCommandFailureException.php | 45 -- .../Component/Finder/Expression/Expression.php | 146 ---- .../Symfony/Component/Finder/Expression/Glob.php | 157 ---- .../Symfony/Component/Finder/Expression/Regex.php | 321 -------- .../Component/Finder/Expression/ValueInterface.php | 60 -- .../finder/Symfony/Component/Finder/Finder.php | 840 -------------------- .../finder/Symfony/Component/Finder/Glob.php | 103 --- .../Finder/Iterator/CustomFilterIterator.php | 63 -- .../Finder/Iterator/DateRangeFilterIterator.php | 60 -- .../Finder/Iterator/DepthRangeFilterIterator.php | 47 -- .../Iterator/ExcludeDirectoryFilterIterator.php | 55 -- .../Finder/Iterator/FilePathsIterator.php | 131 ---- .../Finder/Iterator/FileTypeFilterIterator.php | 55 -- .../Finder/Iterator/FilecontentFilterIterator.php | 76 -- .../Finder/Iterator/FilenameFilterIterator.php | 67 -- .../Component/Finder/Iterator/FilterIterator.php | 49 -- .../Finder/Iterator/MultiplePcreFilterIterator.php | 66 -- .../Finder/Iterator/PathFilterIterator.php | 74 -- .../Finder/Iterator/RecursiveDirectoryIterator.php | 126 --- .../Finder/Iterator/SizeRangeFilterIterator.php | 59 -- .../Component/Finder/Iterator/SortableIterator.php | 82 -- .../finder/Symfony/Component/Finder/LICENSE | 19 - .../finder/Symfony/Component/Finder/README.md | 53 -- .../Symfony/Component/Finder/Shell/Command.php | 294 ------- .../Symfony/Component/Finder/Shell/Shell.php | 97 --- .../Symfony/Component/Finder/SplFileInfo.php | 77 -- .../Finder/Tests/Comparator/ComparatorTest.php | 64 -- .../Finder/Tests/Comparator/DateComparatorTest.php | 63 -- .../Tests/Comparator/NumberComparatorTest.php | 107 --- .../Finder/Tests/Expression/ExpressionTest.php | 68 -- .../Component/Finder/Tests/Expression/GlobTest.php | 47 -- .../Finder/Tests/Expression/RegexTest.php | 143 ---- .../Finder/Tests/FakeAdapter/DummyAdapter.php | 57 -- .../Finder/Tests/FakeAdapter/FailingAdapter.php | 45 -- .../Finder/Tests/FakeAdapter/NamedAdapter.php | 57 -- .../Tests/FakeAdapter/UnsupportedAdapter.php | 44 -- .../Symfony/Component/Finder/Tests/FinderTest.php | 869 --------------------- .../Component/Finder/Tests/Fixtures/A/B/C/abc.dat | 0 .../Component/Finder/Tests/Fixtures/A/B/ab.dat | 0 .../Component/Finder/Tests/Fixtures/A/a.dat | 0 .../Finder/Tests/Fixtures/copy/A/B/C/abc.dat.copy | 0 .../Finder/Tests/Fixtures/copy/A/B/ab.dat.copy | 0 .../Finder/Tests/Fixtures/copy/A/a.dat.copy | 0 .../Component/Finder/Tests/Fixtures/dolor.txt | 2 - .../Component/Finder/Tests/Fixtures/ipsum.txt | 2 - .../Component/Finder/Tests/Fixtures/lorem.txt | 2 - .../Symfony/Component/Finder/Tests/Fixtures/one/a | 0 .../Component/Finder/Tests/Fixtures/one/b/c.neon | 0 .../Component/Finder/Tests/Fixtures/one/b/d.neon | 0 .../Tests/Fixtures/r+e.gex[c]a(r)s/dir/bar.dat | 0 .../Finder/Tests/Fixtures/with space/foo.txt | 0 .../Tests/Iterator/CustomFilterIteratorTest.php | 46 -- .../Tests/Iterator/DateRangeFilterIteratorTest.php | 72 -- .../Iterator/DepthRangeFilterIteratorTest.php | 80 -- .../ExcludeDirectoryFilterIteratorTest.php | 64 -- .../Tests/Iterator/FilePathsIteratorTest.php | 69 -- .../Tests/Iterator/FileTypeFilterIteratorTest.php | 72 -- .../Iterator/FilecontentFilterIteratorTest.php | 86 -- .../Tests/Iterator/FilenameFilterIteratorTest.php | 54 -- .../Finder/Tests/Iterator/FilterIteratorTest.php | 50 -- .../Component/Finder/Tests/Iterator/Iterator.php | 55 -- .../Finder/Tests/Iterator/IteratorTestCase.php | 98 --- .../Finder/Tests/Iterator/MockFileListIterator.php | 21 - .../Finder/Tests/Iterator/MockSplFileInfo.php | 134 ---- .../Iterator/MultiplePcreFilterIteratorTest.php | 67 -- .../Tests/Iterator/PathFilterIteratorTest.php | 83 -- .../Finder/Tests/Iterator/RealIteratorTestCase.php | 109 --- .../Iterator/RecursiveDirectoryIteratorTest.php | 83 -- .../Tests/Iterator/SizeRangeFilterIteratorTest.php | 68 -- .../Finder/Tests/Iterator/SortableIteratorTest.php | 169 ---- .../finder/Symfony/Component/Finder/composer.json | 34 - .../Symfony/Component/Finder/phpunit.xml.dist | 27 - 87 files changed, 7721 deletions(-) delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/.gitignore delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Adapter/AbstractAdapter.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Adapter/AbstractFindAdapter.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Adapter/AdapterInterface.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Adapter/BsdFindAdapter.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Adapter/GnuFindAdapter.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Adapter/PhpAdapter.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/CHANGELOG.md delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Comparator/Comparator.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Comparator/DateComparator.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Comparator/NumberComparator.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Exception/AccessDeniedException.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Exception/AdapterFailureException.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Exception/ExceptionInterface.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Exception/OperationNotPermitedException.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Exception/ShellCommandFailureException.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Expression/Expression.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Expression/Glob.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Expression/Regex.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Expression/ValueInterface.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Finder.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Glob.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/CustomFilterIterator.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/DateRangeFilterIterator.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/DepthRangeFilterIterator.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/ExcludeDirectoryFilterIterator.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/FilePathsIterator.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/FileTypeFilterIterator.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/FilecontentFilterIterator.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/FilenameFilterIterator.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/FilterIterator.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/MultiplePcreFilterIterator.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/PathFilterIterator.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/RecursiveDirectoryIterator.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/SizeRangeFilterIterator.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/SortableIterator.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/LICENSE delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/README.md delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Shell/Command.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Shell/Shell.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/SplFileInfo.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Comparator/ComparatorTest.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Comparator/DateComparatorTest.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Comparator/NumberComparatorTest.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Expression/ExpressionTest.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Expression/GlobTest.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Expression/RegexTest.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/FakeAdapter/DummyAdapter.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/FakeAdapter/FailingAdapter.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/FakeAdapter/NamedAdapter.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/FakeAdapter/UnsupportedAdapter.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/FinderTest.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/A/B/C/abc.dat delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/A/B/ab.dat delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/A/a.dat delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/copy/A/B/C/abc.dat.copy delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/copy/A/B/ab.dat.copy delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/copy/A/a.dat.copy delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/dolor.txt delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/ipsum.txt delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/lorem.txt delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/one/a delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/one/b/c.neon delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/one/b/d.neon delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/r+e.gex[c]a(r)s/dir/bar.dat delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/with space/foo.txt delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/CustomFilterIteratorTest.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/DateRangeFilterIteratorTest.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/DepthRangeFilterIteratorTest.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/ExcludeDirectoryFilterIteratorTest.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/FilePathsIteratorTest.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/FileTypeFilterIteratorTest.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/FilecontentFilterIteratorTest.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/FilenameFilterIteratorTest.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/FilterIteratorTest.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/Iterator.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/IteratorTestCase.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/MockFileListIterator.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/MockSplFileInfo.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/MultiplePcreFilterIteratorTest.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/PathFilterIteratorTest.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/RealIteratorTestCase.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/RecursiveDirectoryIteratorTest.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/SizeRangeFilterIteratorTest.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/SortableIteratorTest.php delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/composer.json delete mode 100644 Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/phpunit.xml.dist (limited to 'Aufgabe06/vendor/symfony/finder/Symfony/Component') diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/.gitignore b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/.gitignore deleted file mode 100644 index c49a5d8..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -vendor/ -composer.lock -phpunit.xml diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Adapter/AbstractAdapter.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Adapter/AbstractAdapter.php deleted file mode 100644 index 4ddd913..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Adapter/AbstractAdapter.php +++ /dev/null @@ -1,236 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Adapter; - -/** - * Interface for finder engine implementations. - * - * @author Jean-François Simon - */ -abstract class AbstractAdapter implements AdapterInterface -{ - protected $followLinks = false; - protected $mode = 0; - protected $minDepth = 0; - protected $maxDepth = PHP_INT_MAX; - protected $exclude = array(); - protected $names = array(); - protected $notNames = array(); - protected $contains = array(); - protected $notContains = array(); - protected $sizes = array(); - protected $dates = array(); - protected $filters = array(); - protected $sort = false; - protected $paths = array(); - protected $notPaths = array(); - protected $ignoreUnreadableDirs = false; - - private static $areSupported = array(); - - /** - * {@inheritdoc} - */ - public function isSupported() - { - $name = $this->getName(); - - if (!array_key_exists($name, self::$areSupported)) { - self::$areSupported[$name] = $this->canBeUsed(); - } - - return self::$areSupported[$name]; - } - - /** - * {@inheritdoc} - */ - public function setFollowLinks($followLinks) - { - $this->followLinks = $followLinks; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function setMode($mode) - { - $this->mode = $mode; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function setDepths(array $depths) - { - $this->minDepth = 0; - $this->maxDepth = PHP_INT_MAX; - - foreach ($depths as $comparator) { - switch ($comparator->getOperator()) { - case '>': - $this->minDepth = $comparator->getTarget() + 1; - break; - case '>=': - $this->minDepth = $comparator->getTarget(); - break; - case '<': - $this->maxDepth = $comparator->getTarget() - 1; - break; - case '<=': - $this->maxDepth = $comparator->getTarget(); - break; - default: - $this->minDepth = $this->maxDepth = $comparator->getTarget(); - } - } - - return $this; - } - - /** - * {@inheritdoc} - */ - public function setExclude(array $exclude) - { - $this->exclude = $exclude; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function setNames(array $names) - { - $this->names = $names; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function setNotNames(array $notNames) - { - $this->notNames = $notNames; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function setContains(array $contains) - { - $this->contains = $contains; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function setNotContains(array $notContains) - { - $this->notContains = $notContains; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function setSizes(array $sizes) - { - $this->sizes = $sizes; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function setDates(array $dates) - { - $this->dates = $dates; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function setFilters(array $filters) - { - $this->filters = $filters; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function setSort($sort) - { - $this->sort = $sort; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function setPath(array $paths) - { - $this->paths = $paths; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function setNotPath(array $notPaths) - { - $this->notPaths = $notPaths; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function ignoreUnreadableDirs($ignore = true) - { - $this->ignoreUnreadableDirs = (bool) $ignore; - - return $this; - } - - /** - * Returns whether the adapter is supported in the current environment. - * - * This method should be implemented in all adapters. Do not implement - * isSupported in the adapters as the generic implementation provides a cache - * layer. - * - * @see isSupported() - * - * @return bool Whether the adapter is supported - */ - abstract protected function canBeUsed(); -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Adapter/AbstractFindAdapter.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Adapter/AbstractFindAdapter.php deleted file mode 100644 index 244301a..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Adapter/AbstractFindAdapter.php +++ /dev/null @@ -1,327 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Adapter; - -use Symfony\Component\Finder\Exception\AccessDeniedException; -use Symfony\Component\Finder\Iterator; -use Symfony\Component\Finder\Shell\Shell; -use Symfony\Component\Finder\Expression\Expression; -use Symfony\Component\Finder\Shell\Command; -use Symfony\Component\Finder\Comparator\NumberComparator; -use Symfony\Component\Finder\Comparator\DateComparator; - -/** - * Shell engine implementation using GNU find command. - * - * @author Jean-François Simon - */ -abstract class AbstractFindAdapter extends AbstractAdapter -{ - /** - * @var Shell - */ - protected $shell; - - /** - * Constructor. - */ - public function __construct() - { - $this->shell = new Shell(); - } - - /** - * {@inheritdoc} - */ - public function searchInDirectory($dir) - { - // having "/../" in path make find fail - $dir = realpath($dir); - - // searching directories containing or not containing strings leads to no result - if (Iterator\FileTypeFilterIterator::ONLY_DIRECTORIES === $this->mode && ($this->contains || $this->notContains)) { - return new Iterator\FilePathsIterator(array(), $dir); - } - - $command = Command::create(); - $find = $this->buildFindCommand($command, $dir); - - if ($this->followLinks) { - $find->add('-follow'); - } - - $find->add('-mindepth')->add($this->minDepth + 1); - - if (PHP_INT_MAX !== $this->maxDepth) { - $find->add('-maxdepth')->add($this->maxDepth + 1); - } - - if (Iterator\FileTypeFilterIterator::ONLY_DIRECTORIES === $this->mode) { - $find->add('-type d'); - } elseif (Iterator\FileTypeFilterIterator::ONLY_FILES === $this->mode) { - $find->add('-type f'); - } - - $this->buildNamesFiltering($find, $this->names); - $this->buildNamesFiltering($find, $this->notNames, true); - $this->buildPathsFiltering($find, $dir, $this->paths); - $this->buildPathsFiltering($find, $dir, $this->notPaths, true); - $this->buildSizesFiltering($find, $this->sizes); - $this->buildDatesFiltering($find, $this->dates); - - $useGrep = $this->shell->testCommand('grep') && $this->shell->testCommand('xargs'); - $useSort = is_int($this->sort) && $this->shell->testCommand('sort') && $this->shell->testCommand('cut'); - - if ($useGrep && ($this->contains || $this->notContains)) { - $grep = $command->ins('grep'); - $this->buildContentFiltering($grep, $this->contains); - $this->buildContentFiltering($grep, $this->notContains, true); - } - - if ($useSort) { - $this->buildSorting($command, $this->sort); - } - - $command->setErrorHandler( - $this->ignoreUnreadableDirs - // If directory is unreadable and finder is set to ignore it, `stderr` is ignored. - ? function ($stderr) { return; } - : function ($stderr) { throw new AccessDeniedException($stderr); } - ); - - $paths = $this->shell->testCommand('uniq') ? $command->add('| uniq')->execute() : array_unique($command->execute()); - $iterator = new Iterator\FilePathsIterator($paths, $dir); - - if ($this->exclude) { - $iterator = new Iterator\ExcludeDirectoryFilterIterator($iterator, $this->exclude); - } - - if (!$useGrep && ($this->contains || $this->notContains)) { - $iterator = new Iterator\FilecontentFilterIterator($iterator, $this->contains, $this->notContains); - } - - if ($this->filters) { - $iterator = new Iterator\CustomFilterIterator($iterator, $this->filters); - } - - if (!$useSort && $this->sort) { - $iteratorAggregate = new Iterator\SortableIterator($iterator, $this->sort); - $iterator = $iteratorAggregate->getIterator(); - } - - return $iterator; - } - - /** - * {@inheritdoc} - */ - protected function canBeUsed() - { - return $this->shell->testCommand('find'); - } - - /** - * @param Command $command - * @param string $dir - * - * @return Command - */ - protected function buildFindCommand(Command $command, $dir) - { - return $command - ->ins('find') - ->add('find ') - ->arg($dir) - ->add('-noleaf'); // the -noleaf option is required for filesystems that don't follow the '.' and '..' conventions - } - - /** - * @param Command $command - * @param string[] $names - * @param bool $not - */ - private function buildNamesFiltering(Command $command, array $names, $not = false) - { - if (0 === count($names)) { - return; - } - - $command->add($not ? '-not' : null)->cmd('('); - - foreach ($names as $i => $name) { - $expr = Expression::create($name); - - // Find does not support expandable globs ("*.{a,b}" syntax). - if ($expr->isGlob() && $expr->getGlob()->isExpandable()) { - $expr = Expression::create($expr->getGlob()->toRegex(false)); - } - - // Fixes 'not search' and 'full path matching' regex problems. - // - Jokers '.' are replaced by [^/]. - // - We add '[^/]*' before and after regex (if no ^|$ flags are present). - if ($expr->isRegex()) { - $regex = $expr->getRegex(); - $regex->prepend($regex->hasStartFlag() ? '/' : '/[^/]*') - ->setStartFlag(false) - ->setStartJoker(true) - ->replaceJokers('[^/]'); - if (!$regex->hasEndFlag() || $regex->hasEndJoker()) { - $regex->setEndJoker(false)->append('[^/]*'); - } - } - - $command - ->add($i > 0 ? '-or' : null) - ->add($expr->isRegex() - ? ($expr->isCaseSensitive() ? '-regex' : '-iregex') - : ($expr->isCaseSensitive() ? '-name' : '-iname') - ) - ->arg($expr->renderPattern()); - } - - $command->cmd(')'); - } - - /** - * @param Command $command - * @param string $dir - * @param string[] $paths - * @param bool $not - */ - private function buildPathsFiltering(Command $command, $dir, array $paths, $not = false) - { - if (0 === count($paths)) { - return; - } - - $command->add($not ? '-not' : null)->cmd('('); - - foreach ($paths as $i => $path) { - $expr = Expression::create($path); - - // Find does not support expandable globs ("*.{a,b}" syntax). - if ($expr->isGlob() && $expr->getGlob()->isExpandable()) { - $expr = Expression::create($expr->getGlob()->toRegex(false)); - } - - // Fixes 'not search' regex problems. - if ($expr->isRegex()) { - $regex = $expr->getRegex(); - $regex->prepend($regex->hasStartFlag() ? preg_quote($dir).DIRECTORY_SEPARATOR : '.*')->setEndJoker(!$regex->hasEndFlag()); - } else { - $expr->prepend('*')->append('*'); - } - - $command - ->add($i > 0 ? '-or' : null) - ->add($expr->isRegex() - ? ($expr->isCaseSensitive() ? '-regex' : '-iregex') - : ($expr->isCaseSensitive() ? '-path' : '-ipath') - ) - ->arg($expr->renderPattern()); - } - - $command->cmd(')'); - } - - /** - * @param Command $command - * @param NumberComparator[] $sizes - */ - private function buildSizesFiltering(Command $command, array $sizes) - { - foreach ($sizes as $i => $size) { - $command->add($i > 0 ? '-and' : null); - - switch ($size->getOperator()) { - case '<=': - $command->add('-size -'.($size->getTarget() + 1).'c'); - break; - case '>=': - $command->add('-size +'.($size->getTarget() - 1).'c'); - break; - case '>': - $command->add('-size +'.$size->getTarget().'c'); - break; - case '!=': - $command->add('-size -'.$size->getTarget().'c'); - $command->add('-size +'.$size->getTarget().'c'); - break; - case '<': - default: - $command->add('-size -'.$size->getTarget().'c'); - } - } - } - - /** - * @param Command $command - * @param DateComparator[] $dates - */ - private function buildDatesFiltering(Command $command, array $dates) - { - foreach ($dates as $i => $date) { - $command->add($i > 0 ? '-and' : null); - - $mins = (int) round((time() - $date->getTarget()) / 60); - - if (0 > $mins) { - // mtime is in the future - $command->add(' -mmin -0'); - // we will have no result so we don't need to continue - return; - } - - switch ($date->getOperator()) { - case '<=': - $command->add('-mmin +'.($mins - 1)); - break; - case '>=': - $command->add('-mmin -'.($mins + 1)); - break; - case '>': - $command->add('-mmin -'.$mins); - break; - case '!=': - $command->add('-mmin +'.$mins.' -or -mmin -'.$mins); - break; - case '<': - default: - $command->add('-mmin +'.$mins); - } - } - } - - /** - * @param Command $command - * @param string $sort - * - * @throws \InvalidArgumentException - */ - private function buildSorting(Command $command, $sort) - { - $this->buildFormatSorting($command, $sort); - } - - /** - * @param Command $command - * @param string $sort - */ - abstract protected function buildFormatSorting(Command $command, $sort); - - /** - * @param Command $command - * @param array $contains - * @param bool $not - */ - abstract protected function buildContentFiltering(Command $command, array $contains, $not = false); -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Adapter/AdapterInterface.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Adapter/AdapterInterface.php deleted file mode 100644 index bdc3a93..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Adapter/AdapterInterface.php +++ /dev/null @@ -1,144 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Adapter; - -/** - * @author Jean-François Simon - */ -interface AdapterInterface -{ - /** - * @param bool $followLinks - * - * @return AdapterInterface Current instance - */ - public function setFollowLinks($followLinks); - - /** - * @param int $mode - * - * @return AdapterInterface Current instance - */ - public function setMode($mode); - - /** - * @param array $exclude - * - * @return AdapterInterface Current instance - */ - public function setExclude(array $exclude); - - /** - * @param array $depths - * - * @return AdapterInterface Current instance - */ - public function setDepths(array $depths); - - /** - * @param array $names - * - * @return AdapterInterface Current instance - */ - public function setNames(array $names); - - /** - * @param array $notNames - * - * @return AdapterInterface Current instance - */ - public function setNotNames(array $notNames); - - /** - * @param array $contains - * - * @return AdapterInterface Current instance - */ - public function setContains(array $contains); - - /** - * @param array $notContains - * - * @return AdapterInterface Current instance - */ - public function setNotContains(array $notContains); - - /** - * @param array $sizes - * - * @return AdapterInterface Current instance - */ - public function setSizes(array $sizes); - - /** - * @param array $dates - * - * @return AdapterInterface Current instance - */ - public function setDates(array $dates); - - /** - * @param array $filters - * - * @return AdapterInterface Current instance - */ - public function setFilters(array $filters); - - /** - * @param \Closure|int $sort - * - * @return AdapterInterface Current instance - */ - public function setSort($sort); - - /** - * @param array $paths - * - * @return AdapterInterface Current instance - */ - public function setPath(array $paths); - - /** - * @param array $notPaths - * - * @return AdapterInterface Current instance - */ - public function setNotPath(array $notPaths); - - /** - * @param bool $ignore - * - * @return AdapterInterface Current instance - */ - public function ignoreUnreadableDirs($ignore = true); - - /** - * @param string $dir - * - * @return \Iterator Result iterator - */ - public function searchInDirectory($dir); - - /** - * Tests adapter support for current platform. - * - * @return bool - */ - public function isSupported(); - - /** - * Returns adapter name. - * - * @return string - */ - public function getName(); -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Adapter/BsdFindAdapter.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Adapter/BsdFindAdapter.php deleted file mode 100644 index 4a25bae..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Adapter/BsdFindAdapter.php +++ /dev/null @@ -1,103 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Adapter; - -use Symfony\Component\Finder\Shell\Shell; -use Symfony\Component\Finder\Shell\Command; -use Symfony\Component\Finder\Iterator\SortableIterator; -use Symfony\Component\Finder\Expression\Expression; - -/** - * Shell engine implementation using BSD find command. - * - * @author Jean-François Simon - */ -class BsdFindAdapter extends AbstractFindAdapter -{ - /** - * {@inheritdoc} - */ - public function getName() - { - return 'bsd_find'; - } - - /** - * {@inheritdoc} - */ - protected function canBeUsed() - { - return in_array($this->shell->getType(), array(Shell::TYPE_BSD, Shell::TYPE_DARWIN)) && parent::canBeUsed(); - } - - /** - * {@inheritdoc} - */ - protected function buildFormatSorting(Command $command, $sort) - { - switch ($sort) { - case SortableIterator::SORT_BY_NAME: - $command->ins('sort')->add('| sort'); - - return; - case SortableIterator::SORT_BY_TYPE: - $format = '%HT'; - break; - case SortableIterator::SORT_BY_ACCESSED_TIME: - $format = '%a'; - break; - case SortableIterator::SORT_BY_CHANGED_TIME: - $format = '%c'; - break; - case SortableIterator::SORT_BY_MODIFIED_TIME: - $format = '%m'; - break; - default: - throw new \InvalidArgumentException(sprintf('Unknown sort options: %s.', $sort)); - } - - $command - ->add('-print0 | xargs -0 stat -f') - ->arg($format.'%t%N') - ->add('| sort | cut -f 2'); - } - - /** - * {@inheritdoc} - */ - protected function buildFindCommand(Command $command, $dir) - { - parent::buildFindCommand($command, $dir)->addAtIndex('-E', 1); - - return $command; - } - - /** - * {@inheritdoc} - */ - protected function buildContentFiltering(Command $command, array $contains, $not = false) - { - foreach ($contains as $contain) { - $expr = Expression::create($contain); - - // todo: avoid forking process for each $pattern by using multiple -e options - $command - ->add('| grep -v \'^$\'') - ->add('| xargs -I{} grep -I') - ->add($expr->isCaseSensitive() ? null : '-i') - ->add($not ? '-L' : '-l') - ->add('-Ee')->arg($expr->renderPattern()) - ->add('{}') - ; - } - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Adapter/GnuFindAdapter.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Adapter/GnuFindAdapter.php deleted file mode 100644 index 0fbf48f..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Adapter/GnuFindAdapter.php +++ /dev/null @@ -1,104 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Adapter; - -use Symfony\Component\Finder\Shell\Shell; -use Symfony\Component\Finder\Shell\Command; -use Symfony\Component\Finder\Iterator\SortableIterator; -use Symfony\Component\Finder\Expression\Expression; - -/** - * Shell engine implementation using GNU find command. - * - * @author Jean-François Simon - */ -class GnuFindAdapter extends AbstractFindAdapter -{ - /** - * {@inheritdoc} - */ - public function getName() - { - return 'gnu_find'; - } - - /** - * {@inheritdoc} - */ - protected function buildFormatSorting(Command $command, $sort) - { - switch ($sort) { - case SortableIterator::SORT_BY_NAME: - $command->ins('sort')->add('| sort'); - - return; - case SortableIterator::SORT_BY_TYPE: - $format = '%y'; - break; - case SortableIterator::SORT_BY_ACCESSED_TIME: - $format = '%A@'; - break; - case SortableIterator::SORT_BY_CHANGED_TIME: - $format = '%C@'; - break; - case SortableIterator::SORT_BY_MODIFIED_TIME: - $format = '%T@'; - break; - default: - throw new \InvalidArgumentException(sprintf('Unknown sort options: %s.', $sort)); - } - - $command - ->get('find') - ->add('-printf') - ->arg($format.' %h/%f\\n') - ->add('| sort | cut') - ->arg('-d ') - ->arg('-f2-') - ; - } - - /** - * {@inheritdoc} - */ - protected function canBeUsed() - { - return $this->shell->getType() === Shell::TYPE_UNIX && parent::canBeUsed(); - } - - /** - * {@inheritdoc} - */ - protected function buildFindCommand(Command $command, $dir) - { - return parent::buildFindCommand($command, $dir)->add('-regextype posix-extended'); - } - - /** - * {@inheritdoc} - */ - protected function buildContentFiltering(Command $command, array $contains, $not = false) - { - foreach ($contains as $contain) { - $expr = Expression::create($contain); - - // todo: avoid forking process for each $pattern by using multiple -e options - $command - ->add('| xargs -I{} -r grep -I') - ->add($expr->isCaseSensitive() ? null : '-i') - ->add($not ? '-L' : '-l') - ->add('-Ee')->arg($expr->renderPattern()) - ->add('{}') - ; - } - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Adapter/PhpAdapter.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Adapter/PhpAdapter.php deleted file mode 100644 index 378a26a..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Adapter/PhpAdapter.php +++ /dev/null @@ -1,98 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Adapter; - -use Symfony\Component\Finder\Iterator; - -/** - * PHP finder engine implementation. - * - * @author Jean-François Simon - */ -class PhpAdapter extends AbstractAdapter -{ - /** - * {@inheritdoc} - */ - public function searchInDirectory($dir) - { - $flags = \RecursiveDirectoryIterator::SKIP_DOTS; - - if ($this->followLinks) { - $flags |= \RecursiveDirectoryIterator::FOLLOW_SYMLINKS; - } - - $iterator = new \RecursiveIteratorIterator( - new Iterator\RecursiveDirectoryIterator($dir, $flags, $this->ignoreUnreadableDirs), - \RecursiveIteratorIterator::SELF_FIRST - ); - - if ($this->minDepth > 0 || $this->maxDepth < PHP_INT_MAX) { - $iterator = new Iterator\DepthRangeFilterIterator($iterator, $this->minDepth, $this->maxDepth); - } - - if ($this->mode) { - $iterator = new Iterator\FileTypeFilterIterator($iterator, $this->mode); - } - - if ($this->exclude) { - $iterator = new Iterator\ExcludeDirectoryFilterIterator($iterator, $this->exclude); - } - - if ($this->names || $this->notNames) { - $iterator = new Iterator\FilenameFilterIterator($iterator, $this->names, $this->notNames); - } - - if ($this->contains || $this->notContains) { - $iterator = new Iterator\FilecontentFilterIterator($iterator, $this->contains, $this->notContains); - } - - if ($this->sizes) { - $iterator = new Iterator\SizeRangeFilterIterator($iterator, $this->sizes); - } - - if ($this->dates) { - $iterator = new Iterator\DateRangeFilterIterator($iterator, $this->dates); - } - - if ($this->filters) { - $iterator = new Iterator\CustomFilterIterator($iterator, $this->filters); - } - - if ($this->sort) { - $iteratorAggregate = new Iterator\SortableIterator($iterator, $this->sort); - $iterator = $iteratorAggregate->getIterator(); - } - - if ($this->paths || $this->notPaths) { - $iterator = new Iterator\PathFilterIterator($iterator, $this->paths, $this->notPaths); - } - - return $iterator; - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'php'; - } - - /** - * {@inheritdoc} - */ - protected function canBeUsed() - { - return true; - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/CHANGELOG.md b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/CHANGELOG.md deleted file mode 100644 index f1dd7d5..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/CHANGELOG.md +++ /dev/null @@ -1,34 +0,0 @@ -CHANGELOG -========= - -2.5.0 ------ - * added support for GLOB_BRACE in the paths passed to Finder::in() - -2.3.0 ------ - - * added a way to ignore unreadable directories (via Finder::ignoreUnreadableDirs()) - * unified the way subfolders that are not executable are handled by always throwing an AccessDeniedException exception - -2.2.0 ------ - - * added Finder::path() and Finder::notPath() methods - * added finder adapters to improve performance on specific platforms - * added support for wildcard characters (glob patterns) in the paths passed - to Finder::in() - -2.1.0 ------ - - * added Finder::sortByAccessedTime(), Finder::sortByChangedTime(), and - Finder::sortByModifiedTime() - * added Countable to Finder - * added support for an array of directories as an argument to - Finder::exclude() - * added searching based on the file content via Finder::contains() and - Finder::notContains() - * added support for the != operator in the Comparator - * [BC BREAK] filter expressions (used for file name and content) are no more - considered as regexps but glob patterns when they are enclosed in '*' or '?' diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Comparator/Comparator.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Comparator/Comparator.php deleted file mode 100644 index 4f5e1ff..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Comparator/Comparator.php +++ /dev/null @@ -1,98 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Comparator; - -/** - * Comparator. - * - * @author Fabien Potencier - */ -class Comparator -{ - private $target; - private $operator = '=='; - - /** - * Gets the target value. - * - * @return string The target value - */ - public function getTarget() - { - return $this->target; - } - - /** - * Sets the target value. - * - * @param string $target The target value - */ - public function setTarget($target) - { - $this->target = $target; - } - - /** - * Gets the comparison operator. - * - * @return string The operator - */ - public function getOperator() - { - return $this->operator; - } - - /** - * Sets the comparison operator. - * - * @param string $operator A valid operator - * - * @throws \InvalidArgumentException - */ - public function setOperator($operator) - { - if (!$operator) { - $operator = '=='; - } - - if (!in_array($operator, array('>', '<', '>=', '<=', '==', '!='))) { - throw new \InvalidArgumentException(sprintf('Invalid operator "%s".', $operator)); - } - - $this->operator = $operator; - } - - /** - * Tests against the target. - * - * @param mixed $test A test value - * - * @return bool - */ - public function test($test) - { - switch ($this->operator) { - case '>': - return $test > $this->target; - case '>=': - return $test >= $this->target; - case '<': - return $test < $this->target; - case '<=': - return $test <= $this->target; - case '!=': - return $test != $this->target; - } - - return $test == $this->target; - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Comparator/DateComparator.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Comparator/DateComparator.php deleted file mode 100644 index 8b7746b..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Comparator/DateComparator.php +++ /dev/null @@ -1,53 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Comparator; - -/** - * DateCompare compiles date comparisons. - * - * @author Fabien Potencier - */ -class DateComparator extends Comparator -{ - /** - * Constructor. - * - * @param string $test A comparison string - * - * @throws \InvalidArgumentException If the test is not understood - */ - public function __construct($test) - { - if (!preg_match('#^\s*(==|!=|[<>]=?|after|since|before|until)?\s*(.+?)\s*$#i', $test, $matches)) { - throw new \InvalidArgumentException(sprintf('Don\'t understand "%s" as a date test.', $test)); - } - - try { - $date = new \DateTime($matches[2]); - $target = $date->format('U'); - } catch (\Exception $e) { - throw new \InvalidArgumentException(sprintf('"%s" is not a valid date.', $matches[2])); - } - - $operator = isset($matches[1]) ? $matches[1] : '=='; - if ('since' === $operator || 'after' === $operator) { - $operator = '>'; - } - - if ('until' === $operator || 'before' === $operator) { - $operator = '<'; - } - - $this->setOperator($operator); - $this->setTarget($target); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Comparator/NumberComparator.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Comparator/NumberComparator.php deleted file mode 100644 index 4b5b5ba..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Comparator/NumberComparator.php +++ /dev/null @@ -1,81 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Comparator; - -/** - * NumberComparator compiles a simple comparison to an anonymous - * subroutine, which you can call with a value to be tested again. - * - * Now this would be very pointless, if NumberCompare didn't understand - * magnitudes. - * - * The target value may use magnitudes of kilobytes (k, ki), - * megabytes (m, mi), or gigabytes (g, gi). Those suffixed - * with an i use the appropriate 2**n version in accordance with the - * IEC standard: http://physics.nist.gov/cuu/Units/binary.html - * - * Based on the Perl Number::Compare module. - * - * @author Fabien Potencier PHP port - * @author Richard Clamp Perl version - * @copyright 2004-2005 Fabien Potencier - * @copyright 2002 Richard Clamp - * - * @see http://physics.nist.gov/cuu/Units/binary.html - */ -class NumberComparator extends Comparator -{ - /** - * Constructor. - * - * @param string $test A comparison string - * - * @throws \InvalidArgumentException If the test is not understood - */ - public function __construct($test) - { - if (!preg_match('#^\s*(==|!=|[<>]=?)?\s*([0-9\.]+)\s*([kmg]i?)?\s*$#i', $test, $matches)) { - throw new \InvalidArgumentException(sprintf('Don\'t understand "%s" as a number test.', $test)); - } - - $target = $matches[2]; - if (!is_numeric($target)) { - throw new \InvalidArgumentException(sprintf('Invalid number "%s".', $target)); - } - if (isset($matches[3])) { - // magnitude - switch (strtolower($matches[3])) { - case 'k': - $target *= 1000; - break; - case 'ki': - $target *= 1024; - break; - case 'm': - $target *= 1000000; - break; - case 'mi': - $target *= 1024 * 1024; - break; - case 'g': - $target *= 1000000000; - break; - case 'gi': - $target *= 1024 * 1024 * 1024; - break; - } - } - - $this->setTarget($target); - $this->setOperator(isset($matches[1]) ? $matches[1] : '=='); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Exception/AccessDeniedException.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Exception/AccessDeniedException.php deleted file mode 100644 index ee195ea..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Exception/AccessDeniedException.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Exception; - -/** - * @author Jean-François Simon - */ -class AccessDeniedException extends \UnexpectedValueException -{ -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Exception/AdapterFailureException.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Exception/AdapterFailureException.php deleted file mode 100644 index 15fa221..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Exception/AdapterFailureException.php +++ /dev/null @@ -1,46 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Exception; - -use Symfony\Component\Finder\Adapter\AdapterInterface; - -/** - * Base exception for all adapter failures. - * - * @author Jean-François Simon - */ -class AdapterFailureException extends \RuntimeException implements ExceptionInterface -{ - /** - * @var \Symfony\Component\Finder\Adapter\AdapterInterface - */ - private $adapter; - - /** - * @param AdapterInterface $adapter - * @param string|null $message - * @param \Exception|null $previous - */ - public function __construct(AdapterInterface $adapter, $message = null, \Exception $previous = null) - { - $this->adapter = $adapter; - parent::__construct($message ?: 'Search failed with "'.$adapter->getName().'" adapter.', $previous); - } - - /** - * {@inheritdoc} - */ - public function getAdapter() - { - return $this->adapter; - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Exception/ExceptionInterface.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Exception/ExceptionInterface.php deleted file mode 100644 index bff0214..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Exception/ExceptionInterface.php +++ /dev/null @@ -1,23 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Exception; - -/** - * @author Jean-François Simon - */ -interface ExceptionInterface -{ - /** - * @return \Symfony\Component\Finder\Adapter\AdapterInterface - */ - public function getAdapter(); -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Exception/OperationNotPermitedException.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Exception/OperationNotPermitedException.php deleted file mode 100644 index 3663112..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Exception/OperationNotPermitedException.php +++ /dev/null @@ -1,19 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Exception; - -/** - * @author Jean-François Simon - */ -class OperationNotPermitedException extends AdapterFailureException -{ -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Exception/ShellCommandFailureException.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Exception/ShellCommandFailureException.php deleted file mode 100644 index 2658f6a..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Exception/ShellCommandFailureException.php +++ /dev/null @@ -1,45 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Exception; - -use Symfony\Component\Finder\Adapter\AdapterInterface; -use Symfony\Component\Finder\Shell\Command; - -/** - * @author Jean-François Simon - */ -class ShellCommandFailureException extends AdapterFailureException -{ - /** - * @var Command - */ - private $command; - - /** - * @param AdapterInterface $adapter - * @param Command $command - * @param \Exception|null $previous - */ - public function __construct(AdapterInterface $adapter, Command $command, \Exception $previous = null) - { - $this->command = $command; - parent::__construct($adapter, 'Shell command failed: "'.$command->join().'".', $previous); - } - - /** - * @return Command - */ - public function getCommand() - { - return $this->command; - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Expression/Expression.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Expression/Expression.php deleted file mode 100644 index 9002607..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Expression/Expression.php +++ /dev/null @@ -1,146 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Expression; - -/** - * @author Jean-François Simon - */ -class Expression implements ValueInterface -{ - const TYPE_REGEX = 1; - const TYPE_GLOB = 2; - - /** - * @var ValueInterface - */ - private $value; - - /** - * @param string $expr - * - * @return Expression - */ - public static function create($expr) - { - return new self($expr); - } - - /** - * @param string $expr - */ - public function __construct($expr) - { - try { - $this->value = Regex::create($expr); - } catch (\InvalidArgumentException $e) { - $this->value = new Glob($expr); - } - } - - /** - * @return string - */ - public function __toString() - { - return $this->render(); - } - - /** - * {@inheritdoc} - */ - public function render() - { - return $this->value->render(); - } - - /** - * {@inheritdoc} - */ - public function renderPattern() - { - return $this->value->renderPattern(); - } - - /** - * @return bool - */ - public function isCaseSensitive() - { - return $this->value->isCaseSensitive(); - } - - /** - * @return int - */ - public function getType() - { - return $this->value->getType(); - } - - /** - * {@inheritdoc} - */ - public function prepend($expr) - { - $this->value->prepend($expr); - - return $this; - } - - /** - * {@inheritdoc} - */ - public function append($expr) - { - $this->value->append($expr); - - return $this; - } - - /** - * @return bool - */ - public function isRegex() - { - return self::TYPE_REGEX === $this->value->getType(); - } - - /** - * @return bool - */ - public function isGlob() - { - return self::TYPE_GLOB === $this->value->getType(); - } - - /** - * @throws \LogicException - * - * @return Glob - */ - public function getGlob() - { - if (self::TYPE_GLOB !== $this->value->getType()) { - throw new \LogicException('Regex can\'t be transformed to glob.'); - } - - return $this->value; - } - - /** - * @return Regex - */ - public function getRegex() - { - return self::TYPE_REGEX === $this->value->getType() ? $this->value : $this->value->toRegex(); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Expression/Glob.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Expression/Glob.php deleted file mode 100644 index 3023cee..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Expression/Glob.php +++ /dev/null @@ -1,157 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Expression; - -/** - * @author Jean-François Simon - */ -class Glob implements ValueInterface -{ - /** - * @var string - */ - private $pattern; - - /** - * @param string $pattern - */ - public function __construct($pattern) - { - $this->pattern = $pattern; - } - - /** - * {@inheritdoc} - */ - public function render() - { - return $this->pattern; - } - - /** - * {@inheritdoc} - */ - public function renderPattern() - { - return $this->pattern; - } - - /** - * {@inheritdoc} - */ - public function getType() - { - return Expression::TYPE_GLOB; - } - - /** - * {@inheritdoc} - */ - public function isCaseSensitive() - { - return true; - } - - /** - * {@inheritdoc} - */ - public function prepend($expr) - { - $this->pattern = $expr.$this->pattern; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function append($expr) - { - $this->pattern .= $expr; - - return $this; - } - - /** - * Tests if glob is expandable ("*.{a,b}" syntax). - * - * @return bool - */ - public function isExpandable() - { - return false !== strpos($this->pattern, '{') - && false !== strpos($this->pattern, '}'); - } - - /** - * @param bool $strictLeadingDot - * @param bool $strictWildcardSlash - * - * @return Regex - */ - public function toRegex($strictLeadingDot = true, $strictWildcardSlash = true) - { - $firstByte = true; - $escaping = false; - $inCurlies = 0; - $regex = ''; - $sizeGlob = strlen($this->pattern); - for ($i = 0; $i < $sizeGlob; $i++) { - $car = $this->pattern[$i]; - if ($firstByte) { - if ($strictLeadingDot && '.' !== $car) { - $regex .= '(?=[^\.])'; - } - - $firstByte = false; - } - - if ('/' === $car) { - $firstByte = true; - } - - if ('.' === $car || '(' === $car || ')' === $car || '|' === $car || '+' === $car || '^' === $car || '$' === $car) { - $regex .= "\\$car"; - } elseif ('*' === $car) { - $regex .= $escaping ? '\\*' : ($strictWildcardSlash ? '[^/]*' : '.*'); - } elseif ('?' === $car) { - $regex .= $escaping ? '\\?' : ($strictWildcardSlash ? '[^/]' : '.'); - } elseif ('{' === $car) { - $regex .= $escaping ? '\\{' : '('; - if (!$escaping) { - ++$inCurlies; - } - } elseif ('}' === $car && $inCurlies) { - $regex .= $escaping ? '}' : ')'; - if (!$escaping) { - --$inCurlies; - } - } elseif (',' === $car && $inCurlies) { - $regex .= $escaping ? ',' : '|'; - } elseif ('\\' === $car) { - if ($escaping) { - $regex .= '\\\\'; - $escaping = false; - } else { - $escaping = true; - } - - continue; - } else { - $regex .= $car; - } - $escaping = false; - } - - return new Regex('^'.$regex.'$'); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Expression/Regex.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Expression/Regex.php deleted file mode 100644 index a249fc2..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Expression/Regex.php +++ /dev/null @@ -1,321 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Expression; - -/** - * @author Jean-François Simon - */ -class Regex implements ValueInterface -{ - const START_FLAG = '^'; - const END_FLAG = '$'; - const BOUNDARY = '~'; - const JOKER = '.*'; - const ESCAPING = '\\'; - - /** - * @var string - */ - private $pattern; - - /** - * @var array - */ - private $options; - - /** - * @var bool - */ - private $startFlag; - - /** - * @var bool - */ - private $endFlag; - - /** - * @var bool - */ - private $startJoker; - - /** - * @var bool - */ - private $endJoker; - - /** - * @param string $expr - * - * @return Regex - * - * @throws \InvalidArgumentException - */ - public static function create($expr) - { - if (preg_match('/^(.{3,}?)([imsxuADU]*)$/', $expr, $m)) { - $start = substr($m[1], 0, 1); - $end = substr($m[1], -1); - - if ( - ($start === $end && !preg_match('/[*?[:alnum:] \\\\]/', $start)) - || ($start === '{' && $end === '}') - || ($start === '(' && $end === ')') - ) { - return new self(substr($m[1], 1, -1), $m[2], $end); - } - } - - throw new \InvalidArgumentException('Given expression is not a regex.'); - } - - /** - * @param string $pattern - * @param string $options - * @param string $delimiter - */ - public function __construct($pattern, $options = '', $delimiter = null) - { - if (null !== $delimiter) { - // removes delimiter escaping - $pattern = str_replace('\\'.$delimiter, $delimiter, $pattern); - } - - $this->parsePattern($pattern); - $this->options = $options; - } - - /** - * @return string - */ - public function __toString() - { - return $this->render(); - } - - /** - * {@inheritdoc} - */ - public function render() - { - return self::BOUNDARY - .$this->renderPattern() - .self::BOUNDARY - .$this->options; - } - - /** - * {@inheritdoc} - */ - public function renderPattern() - { - return ($this->startFlag ? self::START_FLAG : '') - .($this->startJoker ? self::JOKER : '') - .str_replace(self::BOUNDARY, '\\'.self::BOUNDARY, $this->pattern) - .($this->endJoker ? self::JOKER : '') - .($this->endFlag ? self::END_FLAG : ''); - } - - /** - * {@inheritdoc} - */ - public function isCaseSensitive() - { - return !$this->hasOption('i'); - } - - /** - * {@inheritdoc} - */ - public function getType() - { - return Expression::TYPE_REGEX; - } - - /** - * {@inheritdoc} - */ - public function prepend($expr) - { - $this->pattern = $expr.$this->pattern; - - return $this; - } - - /** - * {@inheritdoc} - */ - public function append($expr) - { - $this->pattern .= $expr; - - return $this; - } - - /** - * @param string $option - * - * @return bool - */ - public function hasOption($option) - { - return false !== strpos($this->options, $option); - } - - /** - * @param string $option - * - * @return Regex - */ - public function addOption($option) - { - if (!$this->hasOption($option)) { - $this->options .= $option; - } - - return $this; - } - - /** - * @param string $option - * - * @return Regex - */ - public function removeOption($option) - { - $this->options = str_replace($option, '', $this->options); - - return $this; - } - - /** - * @param bool $startFlag - * - * @return Regex - */ - public function setStartFlag($startFlag) - { - $this->startFlag = $startFlag; - - return $this; - } - - /** - * @return bool - */ - public function hasStartFlag() - { - return $this->startFlag; - } - - /** - * @param bool $endFlag - * - * @return Regex - */ - public function setEndFlag($endFlag) - { - $this->endFlag = (bool) $endFlag; - - return $this; - } - - /** - * @return bool - */ - public function hasEndFlag() - { - return $this->endFlag; - } - - /** - * @param bool $startJoker - * - * @return Regex - */ - public function setStartJoker($startJoker) - { - $this->startJoker = $startJoker; - - return $this; - } - - /** - * @return bool - */ - public function hasStartJoker() - { - return $this->startJoker; - } - - /** - * @param bool $endJoker - * - * @return Regex - */ - public function setEndJoker($endJoker) - { - $this->endJoker = (bool) $endJoker; - - return $this; - } - - /** - * @return bool - */ - public function hasEndJoker() - { - return $this->endJoker; - } - - /** - * @param array $replacement - * - * @return Regex - */ - public function replaceJokers($replacement) - { - $replace = function ($subject) use ($replacement) { - $subject = $subject[0]; - $replace = 0 === substr_count($subject, '\\') % 2; - - return $replace ? str_replace('.', $replacement, $subject) : $subject; - }; - - $this->pattern = preg_replace_callback('~[\\\\]*\\.~', $replace, $this->pattern); - - return $this; - } - - /** - * @param string $pattern - */ - private function parsePattern($pattern) - { - if ($this->startFlag = self::START_FLAG === substr($pattern, 0, 1)) { - $pattern = substr($pattern, 1); - } - - if ($this->startJoker = self::JOKER === substr($pattern, 0, 2)) { - $pattern = substr($pattern, 2); - } - - if ($this->endFlag = (self::END_FLAG === substr($pattern, -1) && self::ESCAPING !== substr($pattern, -2, -1))) { - $pattern = substr($pattern, 0, -1); - } - - if ($this->endJoker = (self::JOKER === substr($pattern, -2) && self::ESCAPING !== substr($pattern, -3, -2))) { - $pattern = substr($pattern, 0, -2); - } - - $this->pattern = $pattern; - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Expression/ValueInterface.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Expression/ValueInterface.php deleted file mode 100644 index 34ce0e7..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Expression/ValueInterface.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Expression; - -/** - * @author Jean-François Simon - */ -interface ValueInterface -{ - /** - * Renders string representation of expression. - * - * @return string - */ - public function render(); - - /** - * Renders string representation of pattern. - * - * @return string - */ - public function renderPattern(); - - /** - * Returns value case sensitivity. - * - * @return bool - */ - public function isCaseSensitive(); - - /** - * Returns expression type. - * - * @return int - */ - public function getType(); - - /** - * @param string $expr - * - * @return ValueInterface - */ - public function prepend($expr); - - /** - * @param string $expr - * - * @return ValueInterface - */ - public function append($expr); -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Finder.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Finder.php deleted file mode 100644 index d3829a2..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Finder.php +++ /dev/null @@ -1,840 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder; - -use Symfony\Component\Finder\Adapter\AdapterInterface; -use Symfony\Component\Finder\Adapter\GnuFindAdapter; -use Symfony\Component\Finder\Adapter\BsdFindAdapter; -use Symfony\Component\Finder\Adapter\PhpAdapter; -use Symfony\Component\Finder\Comparator\DateComparator; -use Symfony\Component\Finder\Comparator\NumberComparator; -use Symfony\Component\Finder\Exception\ExceptionInterface; -use Symfony\Component\Finder\Iterator\CustomFilterIterator; -use Symfony\Component\Finder\Iterator\DateRangeFilterIterator; -use Symfony\Component\Finder\Iterator\DepthRangeFilterIterator; -use Symfony\Component\Finder\Iterator\ExcludeDirectoryFilterIterator; -use Symfony\Component\Finder\Iterator\FilecontentFilterIterator; -use Symfony\Component\Finder\Iterator\FilenameFilterIterator; -use Symfony\Component\Finder\Iterator\SizeRangeFilterIterator; -use Symfony\Component\Finder\Iterator\SortableIterator; - -/** - * Finder allows to build rules to find files and directories. - * - * It is a thin wrapper around several specialized iterator classes. - * - * All rules may be invoked several times. - * - * All methods return the current Finder object to allow easy chaining: - * - * $finder = Finder::create()->files()->name('*.php')->in(__DIR__); - * - * @author Fabien Potencier - * - * @api - */ -class Finder implements \IteratorAggregate, \Countable -{ - const IGNORE_VCS_FILES = 1; - const IGNORE_DOT_FILES = 2; - - private $mode = 0; - private $names = array(); - private $notNames = array(); - private $exclude = array(); - private $filters = array(); - private $depths = array(); - private $sizes = array(); - private $followLinks = false; - private $sort = false; - private $ignore = 0; - private $dirs = array(); - private $dates = array(); - private $iterators = array(); - private $contains = array(); - private $notContains = array(); - private $adapters = array(); - private $paths = array(); - private $notPaths = array(); - private $ignoreUnreadableDirs = false; - - private static $vcsPatterns = array('.svn', '_svn', 'CVS', '_darcs', '.arch-params', '.monotone', '.bzr', '.git', '.hg'); - - /** - * Constructor. - */ - public function __construct() - { - $this->ignore = static::IGNORE_VCS_FILES | static::IGNORE_DOT_FILES; - - $this - ->addAdapter(new GnuFindAdapter()) - ->addAdapter(new BsdFindAdapter()) - ->addAdapter(new PhpAdapter(), -50) - ->setAdapter('php') - ; - } - - /** - * Creates a new Finder. - * - * @return Finder A new Finder instance - * - * @api - */ - public static function create() - { - return new static(); - } - - /** - * Registers a finder engine implementation. - * - * @param AdapterInterface $adapter An adapter instance - * @param int $priority Highest is selected first - * - * @return Finder The current Finder instance - */ - public function addAdapter(AdapterInterface $adapter, $priority = 0) - { - $this->adapters[$adapter->getName()] = array( - 'adapter' => $adapter, - 'priority' => $priority, - 'selected' => false, - ); - - return $this->sortAdapters(); - } - - /** - * Sets the selected adapter to the best one according to the current platform the code is run on. - * - * @return Finder The current Finder instance - */ - public function useBestAdapter() - { - $this->resetAdapterSelection(); - - return $this->sortAdapters(); - } - - /** - * Selects the adapter to use. - * - * @param string $name - * - * @throws \InvalidArgumentException - * - * @return Finder The current Finder instance - */ - public function setAdapter($name) - { - if (!isset($this->adapters[$name])) { - throw new \InvalidArgumentException(sprintf('Adapter "%s" does not exist.', $name)); - } - - $this->resetAdapterSelection(); - $this->adapters[$name]['selected'] = true; - - return $this->sortAdapters(); - } - - /** - * Removes all adapters registered in the finder. - * - * @return Finder The current Finder instance - */ - public function removeAdapters() - { - $this->adapters = array(); - - return $this; - } - - /** - * Returns registered adapters ordered by priority without extra information. - * - * @return AdapterInterface[] - */ - public function getAdapters() - { - return array_values(array_map(function (array $adapter) { - return $adapter['adapter']; - }, $this->adapters)); - } - - /** - * Restricts the matching to directories only. - * - * @return Finder The current Finder instance - * - * @api - */ - public function directories() - { - $this->mode = Iterator\FileTypeFilterIterator::ONLY_DIRECTORIES; - - return $this; - } - - /** - * Restricts the matching to files only. - * - * @return Finder The current Finder instance - * - * @api - */ - public function files() - { - $this->mode = Iterator\FileTypeFilterIterator::ONLY_FILES; - - return $this; - } - - /** - * Adds tests for the directory depth. - * - * Usage: - * - * $finder->depth('> 1') // the Finder will start matching at level 1. - * $finder->depth('< 3') // the Finder will descend at most 3 levels of directories below the starting point. - * - * @param int $level The depth level expression - * - * @return Finder The current Finder instance - * - * @see DepthRangeFilterIterator - * @see NumberComparator - * - * @api - */ - public function depth($level) - { - $this->depths[] = new Comparator\NumberComparator($level); - - return $this; - } - - /** - * Adds tests for file dates (last modified). - * - * The date must be something that strtotime() is able to parse: - * - * $finder->date('since yesterday'); - * $finder->date('until 2 days ago'); - * $finder->date('> now - 2 hours'); - * $finder->date('>= 2005-10-15'); - * - * @param string $date A date range string - * - * @return Finder The current Finder instance - * - * @see strtotime - * @see DateRangeFilterIterator - * @see DateComparator - * - * @api - */ - public function date($date) - { - $this->dates[] = new Comparator\DateComparator($date); - - return $this; - } - - /** - * Adds rules that files must match. - * - * You can use patterns (delimited with / sign), globs or simple strings. - * - * $finder->name('*.php') - * $finder->name('/\.php$/') // same as above - * $finder->name('test.php') - * - * @param string $pattern A pattern (a regexp, a glob, or a string) - * - * @return Finder The current Finder instance - * - * @see FilenameFilterIterator - * - * @api - */ - public function name($pattern) - { - $this->names[] = $pattern; - - return $this; - } - - /** - * Adds rules that files must not match. - * - * @param string $pattern A pattern (a regexp, a glob, or a string) - * - * @return Finder The current Finder instance - * - * @see FilenameFilterIterator - * - * @api - */ - public function notName($pattern) - { - $this->notNames[] = $pattern; - - return $this; - } - - /** - * Adds tests that file contents must match. - * - * Strings or PCRE patterns can be used: - * - * $finder->contains('Lorem ipsum') - * $finder->contains('/Lorem ipsum/i') - * - * @param string $pattern A pattern (string or regexp) - * - * @return Finder The current Finder instance - * - * @see FilecontentFilterIterator - */ - public function contains($pattern) - { - $this->contains[] = $pattern; - - return $this; - } - - /** - * Adds tests that file contents must not match. - * - * Strings or PCRE patterns can be used: - * - * $finder->notContains('Lorem ipsum') - * $finder->notContains('/Lorem ipsum/i') - * - * @param string $pattern A pattern (string or regexp) - * - * @return Finder The current Finder instance - * - * @see FilecontentFilterIterator - */ - public function notContains($pattern) - { - $this->notContains[] = $pattern; - - return $this; - } - - /** - * Adds rules that filenames must match. - * - * You can use patterns (delimited with / sign) or simple strings. - * - * $finder->path('some/special/dir') - * $finder->path('/some\/special\/dir/') // same as above - * - * Use only / as dirname separator. - * - * @param string $pattern A pattern (a regexp or a string) - * - * @return Finder The current Finder instance - * - * @see FilenameFilterIterator - */ - public function path($pattern) - { - $this->paths[] = $pattern; - - return $this; - } - - /** - * Adds rules that filenames must not match. - * - * You can use patterns (delimited with / sign) or simple strings. - * - * $finder->notPath('some/special/dir') - * $finder->notPath('/some\/special\/dir/') // same as above - * - * Use only / as dirname separator. - * - * @param string $pattern A pattern (a regexp or a string) - * - * @return Finder The current Finder instance - * - * @see FilenameFilterIterator - */ - public function notPath($pattern) - { - $this->notPaths[] = $pattern; - - return $this; - } - - /** - * Adds tests for file sizes. - * - * $finder->size('> 10K'); - * $finder->size('<= 1Ki'); - * $finder->size(4); - * - * @param string $size A size range string - * - * @return Finder The current Finder instance - * - * @see SizeRangeFilterIterator - * @see NumberComparator - * - * @api - */ - public function size($size) - { - $this->sizes[] = new Comparator\NumberComparator($size); - - return $this; - } - - /** - * Excludes directories. - * - * @param string|array $dirs A directory path or an array of directories - * - * @return Finder The current Finder instance - * - * @see ExcludeDirectoryFilterIterator - * - * @api - */ - public function exclude($dirs) - { - $this->exclude = array_merge($this->exclude, (array) $dirs); - - return $this; - } - - /** - * Excludes "hidden" directories and files (starting with a dot). - * - * @param bool $ignoreDotFiles Whether to exclude "hidden" files or not - * - * @return Finder The current Finder instance - * - * @see ExcludeDirectoryFilterIterator - * - * @api - */ - public function ignoreDotFiles($ignoreDotFiles) - { - if ($ignoreDotFiles) { - $this->ignore |= static::IGNORE_DOT_FILES; - } else { - $this->ignore &= ~static::IGNORE_DOT_FILES; - } - - return $this; - } - - /** - * Forces the finder to ignore version control directories. - * - * @param bool $ignoreVCS Whether to exclude VCS files or not - * - * @return Finder The current Finder instance - * - * @see ExcludeDirectoryFilterIterator - * - * @api - */ - public function ignoreVCS($ignoreVCS) - { - if ($ignoreVCS) { - $this->ignore |= static::IGNORE_VCS_FILES; - } else { - $this->ignore &= ~static::IGNORE_VCS_FILES; - } - - return $this; - } - - /** - * Adds VCS patterns. - * - * @see ignoreVCS() - * - * @param string|string[] $pattern VCS patterns to ignore - */ - public static function addVCSPattern($pattern) - { - foreach ((array) $pattern as $p) { - self::$vcsPatterns[] = $p; - } - - self::$vcsPatterns = array_unique(self::$vcsPatterns); - } - - /** - * Sorts files and directories by an anonymous function. - * - * The anonymous function receives two \SplFileInfo instances to compare. - * - * This can be slow as all the matching files and directories must be retrieved for comparison. - * - * @param \Closure $closure An anonymous function - * - * @return Finder The current Finder instance - * - * @see SortableIterator - * - * @api - */ - public function sort(\Closure $closure) - { - $this->sort = $closure; - - return $this; - } - - /** - * Sorts files and directories by name. - * - * This can be slow as all the matching files and directories must be retrieved for comparison. - * - * @return Finder The current Finder instance - * - * @see SortableIterator - * - * @api - */ - public function sortByName() - { - $this->sort = Iterator\SortableIterator::SORT_BY_NAME; - - return $this; - } - - /** - * Sorts files and directories by type (directories before files), then by name. - * - * This can be slow as all the matching files and directories must be retrieved for comparison. - * - * @return Finder The current Finder instance - * - * @see SortableIterator - * - * @api - */ - public function sortByType() - { - $this->sort = Iterator\SortableIterator::SORT_BY_TYPE; - - return $this; - } - - /** - * Sorts files and directories by the last accessed time. - * - * This is the time that the file was last accessed, read or written to. - * - * This can be slow as all the matching files and directories must be retrieved for comparison. - * - * @return Finder The current Finder instance - * - * @see SortableIterator - * - * @api - */ - public function sortByAccessedTime() - { - $this->sort = Iterator\SortableIterator::SORT_BY_ACCESSED_TIME; - - return $this; - } - - /** - * Sorts files and directories by the last inode changed time. - * - * This is the time that the inode information was last modified (permissions, owner, group or other metadata). - * - * On Windows, since inode is not available, changed time is actually the file creation time. - * - * This can be slow as all the matching files and directories must be retrieved for comparison. - * - * @return Finder The current Finder instance - * - * @see SortableIterator - * - * @api - */ - public function sortByChangedTime() - { - $this->sort = Iterator\SortableIterator::SORT_BY_CHANGED_TIME; - - return $this; - } - - /** - * Sorts files and directories by the last modified time. - * - * This is the last time the actual contents of the file were last modified. - * - * This can be slow as all the matching files and directories must be retrieved for comparison. - * - * @return Finder The current Finder instance - * - * @see SortableIterator - * - * @api - */ - public function sortByModifiedTime() - { - $this->sort = Iterator\SortableIterator::SORT_BY_MODIFIED_TIME; - - return $this; - } - - /** - * Filters the iterator with an anonymous function. - * - * The anonymous function receives a \SplFileInfo and must return false - * to remove files. - * - * @param \Closure $closure An anonymous function - * - * @return Finder The current Finder instance - * - * @see CustomFilterIterator - * - * @api - */ - public function filter(\Closure $closure) - { - $this->filters[] = $closure; - - return $this; - } - - /** - * Forces the following of symlinks. - * - * @return Finder The current Finder instance - * - * @api - */ - public function followLinks() - { - $this->followLinks = true; - - return $this; - } - - /** - * Tells finder to ignore unreadable directories. - * - * By default, scanning unreadable directories content throws an AccessDeniedException. - * - * @param bool $ignore - * - * @return Finder The current Finder instance - */ - public function ignoreUnreadableDirs($ignore = true) - { - $this->ignoreUnreadableDirs = (bool) $ignore; - - return $this; - } - - /** - * Searches files and directories which match defined rules. - * - * @param string|array $dirs A directory path or an array of directories - * - * @return Finder The current Finder instance - * - * @throws \InvalidArgumentException if one of the directories does not exist - * - * @api - */ - public function in($dirs) - { - $resolvedDirs = array(); - - foreach ((array) $dirs as $dir) { - if (is_dir($dir)) { - $resolvedDirs[] = $dir; - } elseif ($glob = glob($dir, GLOB_BRACE | GLOB_ONLYDIR)) { - $resolvedDirs = array_merge($resolvedDirs, $glob); - } else { - throw new \InvalidArgumentException(sprintf('The "%s" directory does not exist.', $dir)); - } - } - - $this->dirs = array_merge($this->dirs, $resolvedDirs); - - return $this; - } - - /** - * Returns an Iterator for the current Finder configuration. - * - * This method implements the IteratorAggregate interface. - * - * @return \Iterator An iterator - * - * @throws \LogicException if the in() method has not been called - */ - public function getIterator() - { - if (0 === count($this->dirs) && 0 === count($this->iterators)) { - throw new \LogicException('You must call one of in() or append() methods before iterating over a Finder.'); - } - - if (1 === count($this->dirs) && 0 === count($this->iterators)) { - return $this->searchInDirectory($this->dirs[0]); - } - - $iterator = new \AppendIterator(); - foreach ($this->dirs as $dir) { - $iterator->append($this->searchInDirectory($dir)); - } - - foreach ($this->iterators as $it) { - $iterator->append($it); - } - - return $iterator; - } - - /** - * Appends an existing set of files/directories to the finder. - * - * The set can be another Finder, an Iterator, an IteratorAggregate, or even a plain array. - * - * @param mixed $iterator - * - * @return Finder The finder - * - * @throws \InvalidArgumentException When the given argument is not iterable. - */ - public function append($iterator) - { - if ($iterator instanceof \IteratorAggregate) { - $this->iterators[] = $iterator->getIterator(); - } elseif ($iterator instanceof \Iterator) { - $this->iterators[] = $iterator; - } elseif ($iterator instanceof \Traversable || is_array($iterator)) { - $it = new \ArrayIterator(); - foreach ($iterator as $file) { - $it->append($file instanceof \SplFileInfo ? $file : new \SplFileInfo($file)); - } - $this->iterators[] = $it; - } else { - throw new \InvalidArgumentException('Finder::append() method wrong argument type.'); - } - - return $this; - } - - /** - * Counts all the results collected by the iterators. - * - * @return int - */ - public function count() - { - return iterator_count($this->getIterator()); - } - - /** - * @return Finder The current Finder instance - */ - private function sortAdapters() - { - uasort($this->adapters, function (array $a, array $b) { - if ($a['selected'] || $b['selected']) { - return $a['selected'] ? -1 : 1; - } - - return $a['priority'] > $b['priority'] ? -1 : 1; - }); - - return $this; - } - - /** - * @param $dir - * - * @return \Iterator - * - * @throws \RuntimeException When none of the adapters are supported - */ - private function searchInDirectory($dir) - { - if (static::IGNORE_VCS_FILES === (static::IGNORE_VCS_FILES & $this->ignore)) { - $this->exclude = array_merge($this->exclude, self::$vcsPatterns); - } - - if (static::IGNORE_DOT_FILES === (static::IGNORE_DOT_FILES & $this->ignore)) { - $this->notPaths[] = '#(^|/)\..+(/|$)#'; - } - - foreach ($this->adapters as $adapter) { - if ($adapter['adapter']->isSupported()) { - try { - return $this - ->buildAdapter($adapter['adapter']) - ->searchInDirectory($dir); - } catch (ExceptionInterface $e) { - } - } - } - - throw new \RuntimeException('No supported adapter found.'); - } - - /** - * @param AdapterInterface $adapter - * - * @return AdapterInterface - */ - private function buildAdapter(AdapterInterface $adapter) - { - return $adapter - ->setFollowLinks($this->followLinks) - ->setDepths($this->depths) - ->setMode($this->mode) - ->setExclude($this->exclude) - ->setNames($this->names) - ->setNotNames($this->notNames) - ->setContains($this->contains) - ->setNotContains($this->notContains) - ->setSizes($this->sizes) - ->setDates($this->dates) - ->setFilters($this->filters) - ->setSort($this->sort) - ->setPath($this->paths) - ->setNotPath($this->notPaths) - ->ignoreUnreadableDirs($this->ignoreUnreadableDirs); - } - - /** - * Unselects all adapters. - */ - private function resetAdapterSelection() - { - $this->adapters = array_map(function (array $properties) { - $properties['selected'] = false; - - return $properties; - }, $this->adapters); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Glob.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Glob.php deleted file mode 100644 index c2030c9..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Glob.php +++ /dev/null @@ -1,103 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder; - -/** - * Glob matches globbing patterns against text. - * - * if match_glob("foo.*", "foo.bar") echo "matched\n"; - * - * // prints foo.bar and foo.baz - * $regex = glob_to_regex("foo.*"); - * for (array('foo.bar', 'foo.baz', 'foo', 'bar') as $t) - * { - * if (/$regex/) echo "matched: $car\n"; - * } - * - * Glob implements glob(3) style matching that can be used to match - * against text, rather than fetching names from a filesystem. - * - * Based on the Perl Text::Glob module. - * - * @author Fabien Potencier PHP port - * @author Richard Clamp Perl version - * @copyright 2004-2005 Fabien Potencier - * @copyright 2002 Richard Clamp - */ -class Glob -{ - /** - * Returns a regexp which is the equivalent of the glob pattern. - * - * @param string $glob The glob pattern - * @param bool $strictLeadingDot - * @param bool $strictWildcardSlash - * - * @return string regex The regexp - */ - public static function toRegex($glob, $strictLeadingDot = true, $strictWildcardSlash = true) - { - $firstByte = true; - $escaping = false; - $inCurlies = 0; - $regex = ''; - $sizeGlob = strlen($glob); - for ($i = 0; $i < $sizeGlob; $i++) { - $car = $glob[$i]; - if ($firstByte) { - if ($strictLeadingDot && '.' !== $car) { - $regex .= '(?=[^\.])'; - } - - $firstByte = false; - } - - if ('/' === $car) { - $firstByte = true; - } - - if ('.' === $car || '(' === $car || ')' === $car || '|' === $car || '+' === $car || '^' === $car || '$' === $car) { - $regex .= "\\$car"; - } elseif ('*' === $car) { - $regex .= $escaping ? '\\*' : ($strictWildcardSlash ? '[^/]*' : '.*'); - } elseif ('?' === $car) { - $regex .= $escaping ? '\\?' : ($strictWildcardSlash ? '[^/]' : '.'); - } elseif ('{' === $car) { - $regex .= $escaping ? '\\{' : '('; - if (!$escaping) { - ++$inCurlies; - } - } elseif ('}' === $car && $inCurlies) { - $regex .= $escaping ? '}' : ')'; - if (!$escaping) { - --$inCurlies; - } - } elseif (',' === $car && $inCurlies) { - $regex .= $escaping ? ',' : '|'; - } elseif ('\\' === $car) { - if ($escaping) { - $regex .= '\\\\'; - $escaping = false; - } else { - $escaping = true; - } - - continue; - } else { - $regex .= $car; - } - $escaping = false; - } - - return '#^'.$regex.'$#'; - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/CustomFilterIterator.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/CustomFilterIterator.php deleted file mode 100644 index 24b15d9..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/CustomFilterIterator.php +++ /dev/null @@ -1,63 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Iterator; - -/** - * CustomFilterIterator filters files by applying anonymous functions. - * - * The anonymous function receives a \SplFileInfo and must return false - * to remove files. - * - * @author Fabien Potencier - */ -class CustomFilterIterator extends FilterIterator -{ - private $filters = array(); - - /** - * Constructor. - * - * @param \Iterator $iterator The Iterator to filter - * @param array $filters An array of PHP callbacks - * - * @throws \InvalidArgumentException - */ - public function __construct(\Iterator $iterator, array $filters) - { - foreach ($filters as $filter) { - if (!is_callable($filter)) { - throw new \InvalidArgumentException('Invalid PHP callback.'); - } - } - $this->filters = $filters; - - parent::__construct($iterator); - } - - /** - * Filters the iterator values. - * - * @return bool true if the value should be kept, false otherwise - */ - public function accept() - { - $fileinfo = $this->current(); - - foreach ($this->filters as $filter) { - if (false === call_user_func($filter, $fileinfo)) { - return false; - } - } - - return true; - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/DateRangeFilterIterator.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/DateRangeFilterIterator.php deleted file mode 100644 index 4d5ef9a..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/DateRangeFilterIterator.php +++ /dev/null @@ -1,60 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Iterator; - -use Symfony\Component\Finder\Comparator\DateComparator; - -/** - * DateRangeFilterIterator filters out files that are not in the given date range (last modified dates). - * - * @author Fabien Potencier - */ -class DateRangeFilterIterator extends FilterIterator -{ - private $comparators = array(); - - /** - * Constructor. - * - * @param \Iterator $iterator The Iterator to filter - * @param DateComparator[] $comparators An array of DateComparator instances - */ - public function __construct(\Iterator $iterator, array $comparators) - { - $this->comparators = $comparators; - - parent::__construct($iterator); - } - - /** - * Filters the iterator values. - * - * @return bool true if the value should be kept, false otherwise - */ - public function accept() - { - $fileinfo = $this->current(); - - if (!file_exists($fileinfo->getRealPath())) { - return false; - } - - $filedate = $fileinfo->getMTime(); - foreach ($this->comparators as $compare) { - if (!$compare->test($filedate)) { - return false; - } - } - - return true; - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/DepthRangeFilterIterator.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/DepthRangeFilterIterator.php deleted file mode 100644 index f78c71e..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/DepthRangeFilterIterator.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Iterator; - -/** - * DepthRangeFilterIterator limits the directory depth. - * - * @author Fabien Potencier - */ -class DepthRangeFilterIterator extends FilterIterator -{ - private $minDepth = 0; - - /** - * Constructor. - * - * @param \RecursiveIteratorIterator $iterator The Iterator to filter - * @param int $minDepth The min depth - * @param int $maxDepth The max depth - */ - public function __construct(\RecursiveIteratorIterator $iterator, $minDepth = 0, $maxDepth = PHP_INT_MAX) - { - $this->minDepth = $minDepth; - $iterator->setMaxDepth(PHP_INT_MAX === $maxDepth ? -1 : $maxDepth); - - parent::__construct($iterator); - } - - /** - * Filters the iterator values. - * - * @return bool true if the value should be kept, false otherwise - */ - public function accept() - { - return $this->getInnerIterator()->getDepth() >= $this->minDepth; - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/ExcludeDirectoryFilterIterator.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/ExcludeDirectoryFilterIterator.php deleted file mode 100644 index 1ddde85..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/ExcludeDirectoryFilterIterator.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Iterator; - -/** - * ExcludeDirectoryFilterIterator filters out directories. - * - * @author Fabien Potencier - */ -class ExcludeDirectoryFilterIterator extends FilterIterator -{ - private $patterns = array(); - - /** - * Constructor. - * - * @param \Iterator $iterator The Iterator to filter - * @param array $directories An array of directories to exclude - */ - public function __construct(\Iterator $iterator, array $directories) - { - foreach ($directories as $directory) { - $this->patterns[] = '#(^|/)'.preg_quote($directory, '#').'(/|$)#'; - } - - parent::__construct($iterator); - } - - /** - * Filters the iterator values. - * - * @return bool true if the value should be kept, false otherwise - */ - public function accept() - { - $path = $this->isDir() ? $this->current()->getRelativePathname() : $this->current()->getRelativePath(); - $path = strtr($path, '\\', '/'); - foreach ($this->patterns as $pattern) { - if (preg_match($pattern, $path)) { - return false; - } - } - - return true; - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/FilePathsIterator.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/FilePathsIterator.php deleted file mode 100644 index 4da2f5b..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/FilePathsIterator.php +++ /dev/null @@ -1,131 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Iterator; - -use Symfony\Component\Finder\SplFileInfo; - -/** - * Iterate over shell command result. - * - * @author Jean-François Simon - */ -class FilePathsIterator extends \ArrayIterator -{ - /** - * @var string - */ - private $baseDir; - - /** - * @var int - */ - private $baseDirLength; - - /** - * @var string - */ - private $subPath; - - /** - * @var string - */ - private $subPathname; - - /** - * @var SplFileInfo - */ - private $current; - - /** - * @param array $paths List of paths returned by shell command - * @param string $baseDir Base dir for relative path building - */ - public function __construct(array $paths, $baseDir) - { - $this->baseDir = $baseDir; - $this->baseDirLength = strlen($baseDir); - - parent::__construct($paths); - } - - /** - * @param string $name - * @param array $arguments - * - * @return mixed - */ - public function __call($name, array $arguments) - { - return call_user_func_array(array($this->current(), $name), $arguments); - } - - /** - * Return an instance of SplFileInfo with support for relative paths. - * - * @return SplFileInfo File information - */ - public function current() - { - return $this->current; - } - - /** - * @return string - */ - public function key() - { - return $this->current->getPathname(); - } - - public function next() - { - parent::next(); - $this->buildProperties(); - } - - public function rewind() - { - parent::rewind(); - $this->buildProperties(); - } - - /** - * @return string - */ - public function getSubPath() - { - return $this->subPath; - } - - /** - * @return string - */ - public function getSubPathname() - { - return $this->subPathname; - } - - private function buildProperties() - { - $absolutePath = parent::current(); - - if ($this->baseDir === substr($absolutePath, 0, $this->baseDirLength)) { - $this->subPathname = ltrim(substr($absolutePath, $this->baseDirLength), '/\\'); - $dir = dirname($this->subPathname); - $this->subPath = '.' === $dir ? '' : $dir; - } else { - $this->subPath = $this->subPathname = ''; - } - - $this->current = new SplFileInfo(parent::current(), $this->subPath, $this->subPathname); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/FileTypeFilterIterator.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/FileTypeFilterIterator.php deleted file mode 100644 index f50fd82..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/FileTypeFilterIterator.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Iterator; - -/** - * FileTypeFilterIterator only keeps files, directories, or both. - * - * @author Fabien Potencier - */ -class FileTypeFilterIterator extends FilterIterator -{ - const ONLY_FILES = 1; - const ONLY_DIRECTORIES = 2; - - private $mode; - - /** - * Constructor. - * - * @param \Iterator $iterator The Iterator to filter - * @param int $mode The mode (self::ONLY_FILES or self::ONLY_DIRECTORIES) - */ - public function __construct(\Iterator $iterator, $mode) - { - $this->mode = $mode; - - parent::__construct($iterator); - } - - /** - * Filters the iterator values. - * - * @return bool true if the value should be kept, false otherwise - */ - public function accept() - { - $fileinfo = $this->current(); - if (self::ONLY_DIRECTORIES === (self::ONLY_DIRECTORIES & $this->mode) && $fileinfo->isFile()) { - return false; - } elseif (self::ONLY_FILES === (self::ONLY_FILES & $this->mode) && $fileinfo->isDir()) { - return false; - } - - return true; - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/FilecontentFilterIterator.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/FilecontentFilterIterator.php deleted file mode 100644 index 28cf770..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/FilecontentFilterIterator.php +++ /dev/null @@ -1,76 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Iterator; - -/** - * FilecontentFilterIterator filters files by their contents using patterns (regexps or strings). - * - * @author Fabien Potencier - * @author Włodzimierz Gajda - */ -class FilecontentFilterIterator extends MultiplePcreFilterIterator -{ - /** - * Filters the iterator values. - * - * @return bool true if the value should be kept, false otherwise - */ - public function accept() - { - if (!$this->matchRegexps && !$this->noMatchRegexps) { - return true; - } - - $fileinfo = $this->current(); - - if ($fileinfo->isDir() || !$fileinfo->isReadable()) { - return false; - } - - $content = $fileinfo->getContents(); - if (!$content) { - return false; - } - - // should at least not match one rule to exclude - foreach ($this->noMatchRegexps as $regex) { - if (preg_match($regex, $content)) { - return false; - } - } - - // should at least match one rule - $match = true; - if ($this->matchRegexps) { - $match = false; - foreach ($this->matchRegexps as $regex) { - if (preg_match($regex, $content)) { - return true; - } - } - } - - return $match; - } - - /** - * Converts string to regexp if necessary. - * - * @param string $str Pattern: string or regexp - * - * @return string regexp corresponding to a given string or regexp - */ - protected function toRegex($str) - { - return $this->isRegex($str) ? $str : '/'.preg_quote($str, '/').'/'; - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/FilenameFilterIterator.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/FilenameFilterIterator.php deleted file mode 100644 index f1cd391..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/FilenameFilterIterator.php +++ /dev/null @@ -1,67 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Iterator; - -use Symfony\Component\Finder\Expression\Expression; - -/** - * FilenameFilterIterator filters files by patterns (a regexp, a glob, or a string). - * - * @author Fabien Potencier - */ -class FilenameFilterIterator extends MultiplePcreFilterIterator -{ - /** - * Filters the iterator values. - * - * @return bool true if the value should be kept, false otherwise - */ - public function accept() - { - $filename = $this->current()->getFilename(); - - // should at least not match one rule to exclude - foreach ($this->noMatchRegexps as $regex) { - if (preg_match($regex, $filename)) { - return false; - } - } - - // should at least match one rule - $match = true; - if ($this->matchRegexps) { - $match = false; - foreach ($this->matchRegexps as $regex) { - if (preg_match($regex, $filename)) { - return true; - } - } - } - - return $match; - } - - /** - * Converts glob to regexp. - * - * PCRE patterns are left unchanged. - * Glob strings are transformed with Glob::toRegex(). - * - * @param string $str Pattern: glob or regexp - * - * @return string regexp corresponding to a given glob or regexp - */ - protected function toRegex($str) - { - return Expression::create($str)->getRegex()->render(); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/FilterIterator.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/FilterIterator.php deleted file mode 100644 index f4da44c..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/FilterIterator.php +++ /dev/null @@ -1,49 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Iterator; - -/** - * This iterator just overrides the rewind method in order to correct a PHP bug. - * - * @see https://bugs.php.net/bug.php?id=49104 - * - * @author Alex Bogomazov - */ -abstract class FilterIterator extends \FilterIterator -{ - /** - * This is a workaround for the problem with \FilterIterator leaving inner \FilesystemIterator in wrong state after - * rewind in some cases. - * - * @see FilterIterator::rewind() - */ - public function rewind() - { - $iterator = $this; - while ($iterator instanceof \OuterIterator) { - $innerIterator = $iterator->getInnerIterator(); - - if ($innerIterator instanceof RecursiveDirectoryIterator) { - if ($innerIterator->isRewindable()) { - $innerIterator->next(); - $innerIterator->rewind(); - } - } elseif ($iterator->getInnerIterator() instanceof \FilesystemIterator) { - $iterator->getInnerIterator()->next(); - $iterator->getInnerIterator()->rewind(); - } - $iterator = $iterator->getInnerIterator(); - } - - parent::rewind(); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/MultiplePcreFilterIterator.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/MultiplePcreFilterIterator.php deleted file mode 100644 index 068a7ef..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/MultiplePcreFilterIterator.php +++ /dev/null @@ -1,66 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Iterator; - -use Symfony\Component\Finder\Expression\Expression; - -/** - * MultiplePcreFilterIterator filters files using patterns (regexps, globs or strings). - * - * @author Fabien Potencier - */ -abstract class MultiplePcreFilterIterator extends FilterIterator -{ - protected $matchRegexps = array(); - protected $noMatchRegexps = array(); - - /** - * Constructor. - * - * @param \Iterator $iterator The Iterator to filter - * @param array $matchPatterns An array of patterns that need to match - * @param array $noMatchPatterns An array of patterns that need to not match - */ - public function __construct(\Iterator $iterator, array $matchPatterns, array $noMatchPatterns) - { - foreach ($matchPatterns as $pattern) { - $this->matchRegexps[] = $this->toRegex($pattern); - } - - foreach ($noMatchPatterns as $pattern) { - $this->noMatchRegexps[] = $this->toRegex($pattern); - } - - parent::__construct($iterator); - } - - /** - * Checks whether the string is a regex. - * - * @param string $str - * - * @return bool Whether the given string is a regex - */ - protected function isRegex($str) - { - return Expression::create($str)->isRegex(); - } - - /** - * Converts string into regexp. - * - * @param string $str Pattern - * - * @return string regexp corresponding to a given string - */ - abstract protected function toRegex($str); -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/PathFilterIterator.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/PathFilterIterator.php deleted file mode 100644 index 2bb8ebd..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/PathFilterIterator.php +++ /dev/null @@ -1,74 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Iterator; - -/** - * PathFilterIterator filters files by path patterns (e.g. some/special/dir). - * - * @author Fabien Potencier - * @author Włodzimierz Gajda - */ -class PathFilterIterator extends MultiplePcreFilterIterator -{ - /** - * Filters the iterator values. - * - * @return bool true if the value should be kept, false otherwise - */ - public function accept() - { - $filename = $this->current()->getRelativePathname(); - - if ('\\' === DIRECTORY_SEPARATOR) { - $filename = strtr($filename, '\\', '/'); - } - - // should at least not match one rule to exclude - foreach ($this->noMatchRegexps as $regex) { - if (preg_match($regex, $filename)) { - return false; - } - } - - // should at least match one rule - $match = true; - if ($this->matchRegexps) { - $match = false; - foreach ($this->matchRegexps as $regex) { - if (preg_match($regex, $filename)) { - return true; - } - } - } - - return $match; - } - - /** - * Converts strings to regexp. - * - * PCRE patterns are left unchanged. - * - * Default conversion: - * 'lorem/ipsum/dolor' ==> 'lorem\/ipsum\/dolor/' - * - * Use only / as directory separator (on Windows also). - * - * @param string $str Pattern: regexp or dirname. - * - * @return string regexp corresponding to a given string or regexp - */ - protected function toRegex($str) - { - return $this->isRegex($str) ? $str : '/'.preg_quote($str, '/').'/'; - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/RecursiveDirectoryIterator.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/RecursiveDirectoryIterator.php deleted file mode 100644 index af824d0..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/RecursiveDirectoryIterator.php +++ /dev/null @@ -1,126 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Iterator; - -use Symfony\Component\Finder\Exception\AccessDeniedException; -use Symfony\Component\Finder\SplFileInfo; - -/** - * Extends the \RecursiveDirectoryIterator to support relative paths. - * - * @author Victor Berchet - */ -class RecursiveDirectoryIterator extends \RecursiveDirectoryIterator -{ - /** - * @var bool - */ - private $ignoreUnreadableDirs; - - /** - * @var bool - */ - private $rewindable; - - /** - * Constructor. - * - * @param string $path - * @param int $flags - * @param bool $ignoreUnreadableDirs - * - * @throws \RuntimeException - */ - public function __construct($path, $flags, $ignoreUnreadableDirs = false) - { - if ($flags & (self::CURRENT_AS_PATHNAME | self::CURRENT_AS_SELF)) { - throw new \RuntimeException('This iterator only support returning current as fileinfo.'); - } - - parent::__construct($path, $flags); - $this->ignoreUnreadableDirs = $ignoreUnreadableDirs; - } - - /** - * Return an instance of SplFileInfo with support for relative paths. - * - * @return SplFileInfo File information - */ - public function current() - { - return new SplFileInfo(parent::current()->getPathname(), $this->getSubPath(), $this->getSubPathname()); - } - - /** - * @return \RecursiveIterator - * - * @throws AccessDeniedException - */ - public function getChildren() - { - try { - $children = parent::getChildren(); - - if ($children instanceof self) { - // parent method will call the constructor with default arguments, so unreadable dirs won't be ignored anymore - $children->ignoreUnreadableDirs = $this->ignoreUnreadableDirs; - } - - return $children; - } catch (\UnexpectedValueException $e) { - if ($this->ignoreUnreadableDirs) { - // If directory is unreadable and finder is set to ignore it, a fake empty content is returned. - return new \RecursiveArrayIterator(array()); - } else { - throw new AccessDeniedException($e->getMessage(), $e->getCode(), $e); - } - } - } - - /** - * Do nothing for non rewindable stream. - */ - public function rewind() - { - if (false === $this->isRewindable()) { - return; - } - - // @see https://bugs.php.net/bug.php?id=49104 - parent::next(); - - parent::rewind(); - } - - /** - * Checks if the stream is rewindable. - * - * @return bool true when the stream is rewindable, false otherwise - */ - public function isRewindable() - { - if (null !== $this->rewindable) { - return $this->rewindable; - } - - if (false !== $stream = @opendir($this->getPath())) { - $infos = stream_get_meta_data($stream); - closedir($stream); - - if ($infos['seekable']) { - return $this->rewindable = true; - } - } - - return $this->rewindable = false; - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/SizeRangeFilterIterator.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/SizeRangeFilterIterator.php deleted file mode 100644 index 3d3140a..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/SizeRangeFilterIterator.php +++ /dev/null @@ -1,59 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Iterator; - -use Symfony\Component\Finder\Comparator\NumberComparator; - -/** - * SizeRangeFilterIterator filters out files that are not in the given size range. - * - * @author Fabien Potencier - */ -class SizeRangeFilterIterator extends FilterIterator -{ - private $comparators = array(); - - /** - * Constructor. - * - * @param \Iterator $iterator The Iterator to filter - * @param NumberComparator[] $comparators An array of NumberComparator instances - */ - public function __construct(\Iterator $iterator, array $comparators) - { - $this->comparators = $comparators; - - parent::__construct($iterator); - } - - /** - * Filters the iterator values. - * - * @return bool true if the value should be kept, false otherwise - */ - public function accept() - { - $fileinfo = $this->current(); - if (!$fileinfo->isFile()) { - return true; - } - - $filesize = $fileinfo->getSize(); - foreach ($this->comparators as $compare) { - if (!$compare->test($filesize)) { - return false; - } - } - - return true; - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/SortableIterator.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/SortableIterator.php deleted file mode 100644 index b32ac8d..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Iterator/SortableIterator.php +++ /dev/null @@ -1,82 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Iterator; - -/** - * SortableIterator applies a sort on a given Iterator. - * - * @author Fabien Potencier - */ -class SortableIterator implements \IteratorAggregate -{ - const SORT_BY_NAME = 1; - const SORT_BY_TYPE = 2; - const SORT_BY_ACCESSED_TIME = 3; - const SORT_BY_CHANGED_TIME = 4; - const SORT_BY_MODIFIED_TIME = 5; - - private $iterator; - private $sort; - - /** - * Constructor. - * - * @param \Traversable $iterator The Iterator to filter - * @param int|callable $sort The sort type (SORT_BY_NAME, SORT_BY_TYPE, or a PHP callback) - * - * @throws \InvalidArgumentException - */ - public function __construct(\Traversable $iterator, $sort) - { - $this->iterator = $iterator; - - if (self::SORT_BY_NAME === $sort) { - $this->sort = function ($a, $b) { - return strcmp($a->getRealpath(), $b->getRealpath()); - }; - } elseif (self::SORT_BY_TYPE === $sort) { - $this->sort = function ($a, $b) { - if ($a->isDir() && $b->isFile()) { - return -1; - } elseif ($a->isFile() && $b->isDir()) { - return 1; - } - - return strcmp($a->getRealpath(), $b->getRealpath()); - }; - } elseif (self::SORT_BY_ACCESSED_TIME === $sort) { - $this->sort = function ($a, $b) { - return ($a->getATime() - $b->getATime()); - }; - } elseif (self::SORT_BY_CHANGED_TIME === $sort) { - $this->sort = function ($a, $b) { - return ($a->getCTime() - $b->getCTime()); - }; - } elseif (self::SORT_BY_MODIFIED_TIME === $sort) { - $this->sort = function ($a, $b) { - return ($a->getMTime() - $b->getMTime()); - }; - } elseif (is_callable($sort)) { - $this->sort = $sort; - } else { - throw new \InvalidArgumentException('The SortableIterator takes a PHP callable or a valid built-in sort algorithm as an argument.'); - } - } - - public function getIterator() - { - $array = iterator_to_array($this->iterator, true); - uasort($array, $this->sort); - - return new \ArrayIterator($array); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/LICENSE b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/LICENSE deleted file mode 100644 index 43028bc..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/LICENSE +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2004-2015 Fabien Potencier - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is furnished -to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/README.md b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/README.md deleted file mode 100644 index 413cdf5..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/README.md +++ /dev/null @@ -1,53 +0,0 @@ -Finder Component -================ - -Finder finds files and directories via an intuitive fluent interface. - -```php -use Symfony\Component\Finder\Finder; - -$finder = new Finder(); - -$iterator = $finder - ->files() - ->name('*.php') - ->depth(0) - ->size('>= 1K') - ->in(__DIR__); - -foreach ($iterator as $file) { - print $file->getRealpath()."\n"; -} -``` - -The iterator returns instances of [Symfony\Component\Finder\SplFileInfo\SplFileInfo][1]. -Besides the build-in methods inherited from [\SplFileInfo][2] (`getPerms()`, `getSize()`, ...), -you can also use `getRelativePath()` and `getRelativePathname()`. Read the -[official documentation][3] for more information. - -But you can also use it to find files stored remotely like in this example where -we are looking for files on Amazon S3: - -```php -$s3 = new \Zend_Service_Amazon_S3($key, $secret); -$s3->registerStreamWrapper("s3"); - -$finder = new Finder(); -$finder->name('photos*')->size('< 100K')->date('since 1 hour ago'); -foreach ($finder->in('s3://bucket-name') as $file) { - print $file->getFilename()."\n"; -} -``` - -Resources ---------- - -You can run the unit tests with the following command: - - $ cd path/to/Symfony/Component/Finder/ - $ composer install - $ phpunit - -[1]: http://api.symfony.com/2.5/Symfony/Component/Finder/SplFileInfo.html -[2]: http://php.net/splfileinfo -[3]: http://symfony.com/doc/current/components/finder.html#usage diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Shell/Command.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Shell/Command.php deleted file mode 100644 index 2f0c450..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Shell/Command.php +++ /dev/null @@ -1,294 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Shell; - -/** - * @author Jean-François Simon - */ -class Command -{ - /** - * @var Command|null - */ - private $parent; - - /** - * @var array - */ - private $bits = array(); - - /** - * @var array - */ - private $labels = array(); - - /** - * @var \Closure|null - */ - private $errorHandler; - - /** - * Constructor. - * - * @param Command|null $parent Parent command - */ - public function __construct(Command $parent = null) - { - $this->parent = $parent; - } - - /** - * Returns command as string. - * - * @return string - */ - public function __toString() - { - return $this->join(); - } - - /** - * Creates a new Command instance. - * - * @param Command|null $parent Parent command - * - * @return Command New Command instance - */ - public static function create(Command $parent = null) - { - return new self($parent); - } - - /** - * Escapes special chars from input. - * - * @param string $input A string to escape - * - * @return string The escaped string - */ - public static function escape($input) - { - return escapeshellcmd($input); - } - - /** - * Quotes input. - * - * @param string $input An argument string - * - * @return string The quoted string - */ - public static function quote($input) - { - return escapeshellarg($input); - } - - /** - * Appends a string or a Command instance. - * - * @param string|Command $bit - * - * @return Command The current Command instance - */ - public function add($bit) - { - $this->bits[] = $bit; - - return $this; - } - - /** - * Prepends a string or a command instance. - * - * @param string|Command $bit - * - * @return Command The current Command instance - */ - public function top($bit) - { - array_unshift($this->bits, $bit); - - foreach ($this->labels as $label => $index) { - $this->labels[$label] += 1; - } - - return $this; - } - - /** - * Appends an argument, will be quoted. - * - * @param string $arg - * - * @return Command The current Command instance - */ - public function arg($arg) - { - $this->bits[] = self::quote($arg); - - return $this; - } - - /** - * Appends escaped special command chars. - * - * @param string $esc - * - * @return Command The current Command instance - */ - public function cmd($esc) - { - $this->bits[] = self::escape($esc); - - return $this; - } - - /** - * Inserts a labeled command to feed later. - * - * @param string $label The unique label - * - * @return Command The current Command instance - * - * @throws \RuntimeException If label already exists - */ - public function ins($label) - { - if (isset($this->labels[$label])) { - throw new \RuntimeException(sprintf('Label "%s" already exists.', $label)); - } - - $this->bits[] = self::create($this); - $this->labels[$label] = count($this->bits) - 1; - - return $this->bits[$this->labels[$label]]; - } - - /** - * Retrieves a previously labeled command. - * - * @param string $label - * - * @return Command The labeled command - * - * @throws \RuntimeException - */ - public function get($label) - { - if (!isset($this->labels[$label])) { - throw new \RuntimeException(sprintf('Label "%s" does not exist.', $label)); - } - - return $this->bits[$this->labels[$label]]; - } - - /** - * Returns parent command (if any). - * - * @return Command Parent command - * - * @throws \RuntimeException If command has no parent - */ - public function end() - { - if (null === $this->parent) { - throw new \RuntimeException('Calling end on root command doesn\'t make sense.'); - } - - return $this->parent; - } - - /** - * Counts bits stored in command. - * - * @return int The bits count - */ - public function length() - { - return count($this->bits); - } - - /** - * @param \Closure $errorHandler - * - * @return Command - */ - public function setErrorHandler(\Closure $errorHandler) - { - $this->errorHandler = $errorHandler; - - return $this; - } - - /** - * @return \Closure|null - */ - public function getErrorHandler() - { - return $this->errorHandler; - } - - /** - * Executes current command. - * - * @return array The command result - * - * @throws \RuntimeException - */ - public function execute() - { - if (null === $errorHandler = $this->errorHandler) { - exec($this->join(), $output); - } else { - $process = proc_open($this->join(), array(0 => array('pipe', 'r'), 1 => array('pipe', 'w'), 2 => array('pipe', 'w')), $pipes); - $output = preg_split('~(\r\n|\r|\n)~', stream_get_contents($pipes[1]), -1, PREG_SPLIT_NO_EMPTY); - - if ($error = stream_get_contents($pipes[2])) { - $errorHandler($error); - } - - proc_close($process); - } - - return $output ?: array(); - } - - /** - * Joins bits. - * - * @return string - */ - public function join() - { - return implode(' ', array_filter( - array_map(function ($bit) { - return $bit instanceof Command ? $bit->join() : ($bit ?: null); - }, $this->bits), - function ($bit) { return null !== $bit; } - )); - } - - /** - * Insert a string or a Command instance before the bit at given position $index (index starts from 0). - * - * @param string|Command $bit - * @param int $index - * - * @return Command The current Command instance - */ - public function addAtIndex($bit, $index) - { - array_splice($this->bits, $index, 0, $bit); - - return $this; - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Shell/Shell.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Shell/Shell.php deleted file mode 100644 index 6d7bff3..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Shell/Shell.php +++ /dev/null @@ -1,97 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Shell; - -/** - * @author Jean-François Simon - */ -class Shell -{ - const TYPE_UNIX = 1; - const TYPE_DARWIN = 2; - const TYPE_CYGWIN = 3; - const TYPE_WINDOWS = 4; - const TYPE_BSD = 5; - - /** - * @var string|null - */ - private $type; - - /** - * Returns guessed OS type. - * - * @return int - */ - public function getType() - { - if (null === $this->type) { - $this->type = $this->guessType(); - } - - return $this->type; - } - - /** - * Tests if a command is available. - * - * @param string $command - * - * @return bool - */ - public function testCommand($command) - { - if (!function_exists('exec')) { - return false; - } - - // todo: find a better way (command could not be available) - $testCommand = 'which '; - if (self::TYPE_WINDOWS === $this->type) { - $testCommand = 'where '; - } - - $command = escapeshellcmd($command); - - exec($testCommand.$command, $output, $code); - - return 0 === $code && count($output) > 0; - } - - /** - * Guesses OS type. - * - * @return int - */ - private function guessType() - { - $os = strtolower(PHP_OS); - - if (false !== strpos($os, 'cygwin')) { - return self::TYPE_CYGWIN; - } - - if (false !== strpos($os, 'darwin')) { - return self::TYPE_DARWIN; - } - - if (false !== strpos($os, 'bsd')) { - return self::TYPE_BSD; - } - - if (0 === strpos($os, 'win')) { - return self::TYPE_WINDOWS; - } - - return self::TYPE_UNIX; - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/SplFileInfo.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/SplFileInfo.php deleted file mode 100644 index c7fbe02..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/SplFileInfo.php +++ /dev/null @@ -1,77 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder; - -/** - * Extends \SplFileInfo to support relative paths. - * - * @author Fabien Potencier - */ -class SplFileInfo extends \SplFileInfo -{ - private $relativePath; - private $relativePathname; - - /** - * Constructor. - * - * @param string $file The file name - * @param string $relativePath The relative path - * @param string $relativePathname The relative path name - */ - public function __construct($file, $relativePath, $relativePathname) - { - parent::__construct($file); - $this->relativePath = $relativePath; - $this->relativePathname = $relativePathname; - } - - /** - * Returns the relative path. - * - * @return string the relative path - */ - public function getRelativePath() - { - return $this->relativePath; - } - - /** - * Returns the relative path name. - * - * @return string the relative path name - */ - public function getRelativePathname() - { - return $this->relativePathname; - } - - /** - * Returns the contents of the file. - * - * @return string the contents of the file - * - * @throws \RuntimeException - */ - public function getContents() - { - $level = error_reporting(0); - $content = file_get_contents($this->getPathname()); - error_reporting($level); - if (false === $content) { - $error = error_get_last(); - throw new \RuntimeException($error['message']); - } - - return $content; - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Comparator/ComparatorTest.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Comparator/ComparatorTest.php deleted file mode 100644 index bf59844..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Comparator/ComparatorTest.php +++ /dev/null @@ -1,64 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Tests\Comparator; - -use Symfony\Component\Finder\Comparator\Comparator; - -class ComparatorTest extends \PHPUnit_Framework_TestCase -{ - public function testGetSetOperator() - { - $comparator = new Comparator(); - try { - $comparator->setOperator('foo'); - $this->fail('->setOperator() throws an \InvalidArgumentException if the operator is not valid.'); - } catch (\Exception $e) { - $this->assertInstanceOf('InvalidArgumentException', $e, '->setOperator() throws an \InvalidArgumentException if the operator is not valid.'); - } - - $comparator = new Comparator(); - $comparator->setOperator('>'); - $this->assertEquals('>', $comparator->getOperator(), '->getOperator() returns the current operator'); - } - - public function testGetSetTarget() - { - $comparator = new Comparator(); - $comparator->setTarget(8); - $this->assertEquals(8, $comparator->getTarget(), '->getTarget() returns the target'); - } - - /** - * @dataProvider getTestData - */ - public function testTest($operator, $target, $match, $noMatch) - { - $c = new Comparator(); - $c->setOperator($operator); - $c->setTarget($target); - - foreach ($match as $m) { - $this->assertTrue($c->test($m), '->test() tests a string against the expression'); - } - - foreach ($noMatch as $m) { - $this->assertFalse($c->test($m), '->test() tests a string against the expression'); - } - } - - public function getTestData() - { - return array( - array('<', '1000', array('500', '999'), array('1000', '1500')), - ); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Comparator/DateComparatorTest.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Comparator/DateComparatorTest.php deleted file mode 100644 index 2739126..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Comparator/DateComparatorTest.php +++ /dev/null @@ -1,63 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Tests\Comparator; - -use Symfony\Component\Finder\Comparator\DateComparator; - -class DateComparatorTest extends \PHPUnit_Framework_TestCase -{ - public function testConstructor() - { - try { - new DateComparator('foobar'); - $this->fail('__construct() throws an \InvalidArgumentException if the test expression is not valid.'); - } catch (\Exception $e) { - $this->assertInstanceOf('InvalidArgumentException', $e, '__construct() throws an \InvalidArgumentException if the test expression is not valid.'); - } - - try { - new DateComparator(''); - $this->fail('__construct() throws an \InvalidArgumentException if the test expression is not valid.'); - } catch (\Exception $e) { - $this->assertInstanceOf('InvalidArgumentException', $e, '__construct() throws an \InvalidArgumentException if the test expression is not valid.'); - } - } - - /** - * @dataProvider getTestData - */ - public function testTest($test, $match, $noMatch) - { - $c = new DateComparator($test); - - foreach ($match as $m) { - $this->assertTrue($c->test($m), '->test() tests a string against the expression'); - } - - foreach ($noMatch as $m) { - $this->assertFalse($c->test($m), '->test() tests a string against the expression'); - } - } - - public function getTestData() - { - return array( - array('< 2005-10-10', array(strtotime('2005-10-09')), array(strtotime('2005-10-15'))), - array('until 2005-10-10', array(strtotime('2005-10-09')), array(strtotime('2005-10-15'))), - array('before 2005-10-10', array(strtotime('2005-10-09')), array(strtotime('2005-10-15'))), - array('> 2005-10-10', array(strtotime('2005-10-15')), array(strtotime('2005-10-09'))), - array('after 2005-10-10', array(strtotime('2005-10-15')), array(strtotime('2005-10-09'))), - array('since 2005-10-10', array(strtotime('2005-10-15')), array(strtotime('2005-10-09'))), - array('!= 2005-10-10', array(strtotime('2005-10-11')), array(strtotime('2005-10-10'))), - ); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Comparator/NumberComparatorTest.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Comparator/NumberComparatorTest.php deleted file mode 100644 index 8284d07..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Comparator/NumberComparatorTest.php +++ /dev/null @@ -1,107 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Tests\Comparator; - -use Symfony\Component\Finder\Comparator\NumberComparator; - -class NumberComparatorTest extends \PHPUnit_Framework_TestCase -{ - /** - * @dataProvider getConstructorTestData - */ - public function testConstructor($successes, $failures) - { - foreach ($successes as $s) { - new NumberComparator($s); - } - - foreach ($failures as $f) { - try { - new NumberComparator($f); - $this->fail('__construct() throws an \InvalidArgumentException if the test expression is not valid.'); - } catch (\Exception $e) { - $this->assertInstanceOf('InvalidArgumentException', $e, '__construct() throws an \InvalidArgumentException if the test expression is not valid.'); - } - } - } - - /** - * @dataProvider getTestData - */ - public function testTest($test, $match, $noMatch) - { - $c = new NumberComparator($test); - - foreach ($match as $m) { - $this->assertTrue($c->test($m), '->test() tests a string against the expression'); - } - - foreach ($noMatch as $m) { - $this->assertFalse($c->test($m), '->test() tests a string against the expression'); - } - } - - public function getTestData() - { - return array( - array('< 1000', array('500', '999'), array('1000', '1500')), - - array('< 1K', array('500', '999'), array('1000', '1500')), - array('<1k', array('500', '999'), array('1000', '1500')), - array(' < 1 K ', array('500', '999'), array('1000', '1500')), - array('<= 1K', array('1000'), array('1001')), - array('> 1K', array('1001'), array('1000')), - array('>= 1K', array('1000'), array('999')), - - array('< 1KI', array('500', '1023'), array('1024', '1500')), - array('<= 1KI', array('1024'), array('1025')), - array('> 1KI', array('1025'), array('1024')), - array('>= 1KI', array('1024'), array('1023')), - - array('1KI', array('1024'), array('1023', '1025')), - array('==1KI', array('1024'), array('1023', '1025')), - - array('==1m', array('1000000'), array('999999', '1000001')), - array('==1mi', array(1024 * 1024), array(1024 * 1024 - 1, 1024 * 1024 + 1)), - - array('==1g', array('1000000000'), array('999999999', '1000000001')), - array('==1gi', array(1024 * 1024 * 1024), array(1024 * 1024 * 1024 - 1, 1024 * 1024 * 1024 + 1)), - - array('!= 1000', array('500', '999'), array('1000')), - ); - } - - public function getConstructorTestData() - { - return array( - array( - array( - '1', '0', - '3.5', '33.55', '123.456', '123456.78', - '.1', '.123', - '.0', '0.0', - '1.', '0.', '123.', - '==1', '!=1', '<1', '>1', '<=1', '>=1', - '==1k', '==1ki', '==1m', '==1mi', '==1g', '==1gi', - '1k', '1ki', '1m', '1mi', '1g', '1gi', - ), - array( - false, null, '', - ' ', 'foobar', - '=1', '===1', - '0 . 1', '123 .45', '234. 567', - '..', '.0.', '0.1.2', - ), - ), - ); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Expression/ExpressionTest.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Expression/ExpressionTest.php deleted file mode 100644 index 4254a45..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Expression/ExpressionTest.php +++ /dev/null @@ -1,68 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Tests\Expression; - -use Symfony\Component\Finder\Expression\Expression; - -class ExpressionTest extends \PHPUnit_Framework_TestCase -{ - /** - * @dataProvider getTypeGuesserData - */ - public function testTypeGuesser($expr, $type) - { - $this->assertEquals($type, Expression::create($expr)->getType()); - } - - /** - * @dataProvider getCaseSensitiveData - */ - public function testCaseSensitive($expr, $isCaseSensitive) - { - $this->assertEquals($isCaseSensitive, Expression::create($expr)->isCaseSensitive()); - } - - /** - * @dataProvider getRegexRenderingData - */ - public function testRegexRendering($expr, $body) - { - $this->assertEquals($body, Expression::create($expr)->renderPattern()); - } - - public function getTypeGuesserData() - { - return array( - array('{foo}', Expression::TYPE_REGEX), - array('/foo/', Expression::TYPE_REGEX), - array('foo', Expression::TYPE_GLOB), - array('foo*', Expression::TYPE_GLOB), - ); - } - - public function getCaseSensitiveData() - { - return array( - array('{foo}m', true), - array('/foo/i', false), - array('foo*', true), - ); - } - - public function getRegexRenderingData() - { - return array( - array('{foo}m', 'foo'), - array('/foo/i', 'foo'), - ); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Expression/GlobTest.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Expression/GlobTest.php deleted file mode 100644 index 9d4c3e5..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Expression/GlobTest.php +++ /dev/null @@ -1,47 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Tests\Expression; - -use Symfony\Component\Finder\Expression\Expression; - -class GlobTest extends \PHPUnit_Framework_TestCase -{ - /** - * @dataProvider getToRegexData - */ - public function testGlobToRegex($glob, $match, $noMatch) - { - foreach ($match as $m) { - $this->assertRegExp(Expression::create($glob)->getRegex()->render(), $m, '::toRegex() converts a glob to a regexp'); - } - - foreach ($noMatch as $m) { - $this->assertNotRegExp(Expression::create($glob)->getRegex()->render(), $m, '::toRegex() converts a glob to a regexp'); - } - } - - public function getToRegexData() - { - return array( - array('', array(''), array('f', '/')), - array('*', array('foo'), array('foo/', '/foo')), - array('foo.*', array('foo.php', 'foo.a', 'foo.'), array('fooo.php', 'foo.php/foo')), - array('fo?', array('foo', 'fot'), array('fooo', 'ffoo', 'fo/')), - array('fo{o,t}', array('foo', 'fot'), array('fob', 'fo/')), - array('foo(bar|foo)', array('foo(bar|foo)'), array('foobar', 'foofoo')), - array('foo,bar', array('foo,bar'), array('foo', 'bar')), - array('fo{o,\\,}', array('foo', 'fo,'), array()), - array('fo{o,\\\\}', array('foo', 'fo\\'), array()), - array('/foo', array('/foo'), array('foo')), - ); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Expression/RegexTest.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Expression/RegexTest.php deleted file mode 100644 index 620ba10..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Expression/RegexTest.php +++ /dev/null @@ -1,143 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Tests\Expression; - -use Symfony\Component\Finder\Expression\Expression; - -class RegexTest extends \PHPUnit_Framework_TestCase -{ - /** - * @dataProvider getHasFlagsData - */ - public function testHasFlags($regex, $start, $end) - { - $expr = new Expression($regex); - - $this->assertEquals($start, $expr->getRegex()->hasStartFlag()); - $this->assertEquals($end, $expr->getRegex()->hasEndFlag()); - } - - /** - * @dataProvider getHasJokersData - */ - public function testHasJokers($regex, $start, $end) - { - $expr = new Expression($regex); - - $this->assertEquals($start, $expr->getRegex()->hasStartJoker()); - $this->assertEquals($end, $expr->getRegex()->hasEndJoker()); - } - - /** - * @dataProvider getSetFlagsData - */ - public function testSetFlags($regex, $start, $end, $expected) - { - $expr = new Expression($regex); - $expr->getRegex()->setStartFlag($start)->setEndFlag($end); - - $this->assertEquals($expected, $expr->render()); - } - - /** - * @dataProvider getSetJokersData - */ - public function testSetJokers($regex, $start, $end, $expected) - { - $expr = new Expression($regex); - $expr->getRegex()->setStartJoker($start)->setEndJoker($end); - - $this->assertEquals($expected, $expr->render()); - } - - public function testOptions() - { - $expr = new Expression('~abc~is'); - $expr->getRegex()->removeOption('i')->addOption('m'); - - $this->assertEquals('~abc~sm', $expr->render()); - } - - public function testMixFlagsAndJokers() - { - $expr = new Expression('~^.*abc.*$~is'); - - $expr->getRegex()->setStartFlag(false)->setEndFlag(false)->setStartJoker(false)->setEndJoker(false); - $this->assertEquals('~abc~is', $expr->render()); - - $expr->getRegex()->setStartFlag(true)->setEndFlag(true)->setStartJoker(true)->setEndJoker(true); - $this->assertEquals('~^.*abc.*$~is', $expr->render()); - } - - /** - * @dataProvider getReplaceJokersTestData - */ - public function testReplaceJokers($regex, $expected) - { - $expr = new Expression($regex); - $expr = $expr->getRegex()->replaceJokers('@'); - - $this->assertEquals($expected, $expr->renderPattern()); - } - - public function getHasFlagsData() - { - return array( - array('~^abc~', true, false), - array('~abc$~', false, true), - array('~abc~', false, false), - array('~^abc$~', true, true), - array('~^abc\\$~', true, false), - ); - } - - public function getHasJokersData() - { - return array( - array('~.*abc~', true, false), - array('~abc.*~', false, true), - array('~abc~', false, false), - array('~.*abc.*~', true, true), - array('~.*abc\\.*~', true, false), - ); - } - - public function getSetFlagsData() - { - return array( - array('~abc~', true, false, '~^abc~'), - array('~abc~', false, true, '~abc$~'), - array('~abc~', false, false, '~abc~'), - array('~abc~', true, true, '~^abc$~'), - ); - } - - public function getSetJokersData() - { - return array( - array('~abc~', true, false, '~.*abc~'), - array('~abc~', false, true, '~abc.*~'), - array('~abc~', false, false, '~abc~'), - array('~abc~', true, true, '~.*abc.*~'), - ); - } - - public function getReplaceJokersTestData() - { - return array( - array('~.abc~', '@abc'), - array('~\\.abc~', '\\.abc'), - array('~\\\\.abc~', '\\\\@abc'), - array('~\\\\\\.abc~', '\\\\\\.abc'), - ); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/FakeAdapter/DummyAdapter.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/FakeAdapter/DummyAdapter.php deleted file mode 100644 index 0cbae14..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/FakeAdapter/DummyAdapter.php +++ /dev/null @@ -1,57 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Tests\FakeAdapter; - -use Symfony\Component\Finder\Adapter\AbstractAdapter; - -/** - * @author Jean-François Simon - */ -class DummyAdapter extends AbstractAdapter -{ - /** - * @var \Iterator - */ - private $iterator; - - /** - * @param \Iterator $iterator - */ - public function __construct(\Iterator $iterator) - { - $this->iterator = $iterator; - } - - /** - * {@inheritdoc} - */ - public function searchInDirectory($dir) - { - return $this->iterator; - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'yes'; - } - - /** - * {@inheritdoc} - */ - protected function canBeUsed() - { - return true; - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/FakeAdapter/FailingAdapter.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/FakeAdapter/FailingAdapter.php deleted file mode 100644 index 6e6ed24..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/FakeAdapter/FailingAdapter.php +++ /dev/null @@ -1,45 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Tests\FakeAdapter; - -use Symfony\Component\Finder\Adapter\AbstractAdapter; -use Symfony\Component\Finder\Exception\AdapterFailureException; - -/** - * @author Jean-François Simon - */ -class FailingAdapter extends AbstractAdapter -{ - /** - * {@inheritdoc} - */ - public function searchInDirectory($dir) - { - throw new AdapterFailureException($this); - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'failing'; - } - - /** - * {@inheritdoc} - */ - protected function canBeUsed() - { - return true; - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/FakeAdapter/NamedAdapter.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/FakeAdapter/NamedAdapter.php deleted file mode 100644 index 5a260b0..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/FakeAdapter/NamedAdapter.php +++ /dev/null @@ -1,57 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Tests\FakeAdapter; - -use Symfony\Component\Finder\Adapter\AbstractAdapter; - -/** - * @author Jean-François Simon - */ -class NamedAdapter extends AbstractAdapter -{ - /** - * @var string - */ - private $name; - - /** - * @param string $name - */ - public function __construct($name) - { - $this->name = $name; - } - - /** - * {@inheritdoc} - */ - public function searchInDirectory($dir) - { - return new \ArrayIterator(array()); - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return $this->name; - } - - /** - * {@inheritdoc} - */ - protected function canBeUsed() - { - return true; - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/FakeAdapter/UnsupportedAdapter.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/FakeAdapter/UnsupportedAdapter.php deleted file mode 100644 index 1f91b98..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/FakeAdapter/UnsupportedAdapter.php +++ /dev/null @@ -1,44 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Tests\FakeAdapter; - -use Symfony\Component\Finder\Adapter\AbstractAdapter; - -/** - * @author Jean-François Simon - */ -class UnsupportedAdapter extends AbstractAdapter -{ - /** - * {@inheritdoc} - */ - public function searchInDirectory($dir) - { - return new \ArrayIterator(array()); - } - - /** - * {@inheritdoc} - */ - public function getName() - { - return 'unsupported'; - } - - /** - * {@inheritdoc} - */ - protected function canBeUsed() - { - return false; - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/FinderTest.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/FinderTest.php deleted file mode 100644 index fe0984d..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/FinderTest.php +++ /dev/null @@ -1,869 +0,0 @@ - - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Symfony\Component\Finder\Tests; - -use Symfony\Component\Finder\Finder; -use Symfony\Component\Finder\Adapter; - -class FinderTest extends Iterator\RealIteratorTestCase -{ - public function testCreate() - { - $this->assertInstanceOf('Symfony\Component\Finder\Finder', Finder::create()); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testDirectories($adapter) - { - $finder = $this->buildFinder($adapter); - $this->assertSame($finder, $finder->directories()); - $this->assertIterator($this->toAbsolute(array('foo', 'toto')), $finder->in(self::$tmpDir)->getIterator()); - - $finder = $this->buildFinder($adapter); - $finder->directories(); - $finder->files(); - $finder->directories(); - $this->assertIterator($this->toAbsolute(array('foo', 'toto')), $finder->in(self::$tmpDir)->getIterator()); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testFiles($adapter) - { - $finder = $this->buildFinder($adapter); - $this->assertSame($finder, $finder->files()); - $this->assertIterator($this->toAbsolute(array('foo/bar.tmp', 'test.php', 'test.py', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); - - $finder = $this->buildFinder($adapter); - $finder->files(); - $finder->directories(); - $finder->files(); - $this->assertIterator($this->toAbsolute(array('foo/bar.tmp', 'test.php', 'test.py', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testDepth($adapter) - { - $finder = $this->buildFinder($adapter); - $this->assertSame($finder, $finder->depth('< 1')); - $this->assertIterator($this->toAbsolute(array('foo', 'test.php', 'test.py', 'toto', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); - - $finder = $this->buildFinder($adapter); - $this->assertSame($finder, $finder->depth('<= 0')); - $this->assertIterator($this->toAbsolute(array('foo', 'test.php', 'test.py', 'toto', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); - - $finder = $this->buildFinder($adapter); - $this->assertSame($finder, $finder->depth('>= 1')); - $this->assertIterator($this->toAbsolute(array('foo/bar.tmp')), $finder->in(self::$tmpDir)->getIterator()); - - $finder = $this->buildFinder($adapter); - $finder->depth('< 1')->depth('>= 1'); - $this->assertIterator(array(), $finder->in(self::$tmpDir)->getIterator()); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testName($adapter) - { - $finder = $this->buildFinder($adapter); - $this->assertSame($finder, $finder->name('*.php')); - $this->assertIterator($this->toAbsolute(array('test.php')), $finder->in(self::$tmpDir)->getIterator()); - - $finder = $this->buildFinder($adapter); - $finder->name('test.ph*'); - $finder->name('test.py'); - $this->assertIterator($this->toAbsolute(array('test.php', 'test.py')), $finder->in(self::$tmpDir)->getIterator()); - - $finder = $this->buildFinder($adapter); - $finder->name('~^test~i'); - $this->assertIterator($this->toAbsolute(array('test.php', 'test.py')), $finder->in(self::$tmpDir)->getIterator()); - - $finder = $this->buildFinder($adapter); - $finder->name('~\\.php$~i'); - $this->assertIterator($this->toAbsolute(array('test.php')), $finder->in(self::$tmpDir)->getIterator()); - - $finder = $this->buildFinder($adapter); - $finder->name('test.p{hp,y}'); - $this->assertIterator($this->toAbsolute(array('test.php', 'test.py')), $finder->in(self::$tmpDir)->getIterator()); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testNotName($adapter) - { - $finder = $this->buildFinder($adapter); - $this->assertSame($finder, $finder->notName('*.php')); - $this->assertIterator($this->toAbsolute(array('foo', 'foo/bar.tmp', 'test.py', 'toto', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); - - $finder = $this->buildFinder($adapter); - $finder->notName('*.php'); - $finder->notName('*.py'); - $this->assertIterator($this->toAbsolute(array('foo', 'foo/bar.tmp', 'toto', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); - - $finder = $this->buildFinder($adapter); - $finder->name('test.ph*'); - $finder->name('test.py'); - $finder->notName('*.php'); - $finder->notName('*.py'); - $this->assertIterator(array(), $finder->in(self::$tmpDir)->getIterator()); - - $finder = $this->buildFinder($adapter); - $finder->name('test.ph*'); - $finder->name('test.py'); - $finder->notName('*.p{hp,y}'); - $this->assertIterator(array(), $finder->in(self::$tmpDir)->getIterator()); - } - - /** - * @dataProvider getRegexNameTestData - * - * @group regexName - */ - public function testRegexName($adapter, $regex) - { - $finder = $this->buildFinder($adapter); - $finder->name($regex); - $this->assertIterator($this->toAbsolute(array('test.py', 'test.php')), $finder->in(self::$tmpDir)->getIterator()); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testSize($adapter) - { - $finder = $this->buildFinder($adapter); - $this->assertSame($finder, $finder->files()->size('< 1K')->size('> 500')); - $this->assertIterator($this->toAbsolute(array('test.php')), $finder->in(self::$tmpDir)->getIterator()); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testDate($adapter) - { - $finder = $this->buildFinder($adapter); - $this->assertSame($finder, $finder->files()->date('until last month')); - $this->assertIterator($this->toAbsolute(array('foo/bar.tmp', 'test.php')), $finder->in(self::$tmpDir)->getIterator()); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testExclude($adapter) - { - $finder = $this->buildFinder($adapter); - $this->assertSame($finder, $finder->exclude('foo')); - $this->assertIterator($this->toAbsolute(array('test.php', 'test.py', 'toto', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testIgnoreVCS($adapter) - { - $finder = $this->buildFinder($adapter); - $this->assertSame($finder, $finder->ignoreVCS(false)->ignoreDotFiles(false)); - $this->assertIterator($this->toAbsolute(array('.git', 'foo', 'foo/bar.tmp', 'test.php', 'test.py', 'toto', '.bar', '.foo', '.foo/.bar', '.foo/bar', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); - - $finder = $this->buildFinder($adapter); - $finder->ignoreVCS(false)->ignoreVCS(false)->ignoreDotFiles(false); - $this->assertIterator($this->toAbsolute(array('.git', 'foo', 'foo/bar.tmp', 'test.php', 'test.py', 'toto', '.bar', '.foo', '.foo/.bar', '.foo/bar', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); - - $finder = $this->buildFinder($adapter); - $this->assertSame($finder, $finder->ignoreVCS(true)->ignoreDotFiles(false)); - $this->assertIterator($this->toAbsolute(array('foo', 'foo/bar.tmp', 'test.php', 'test.py', 'toto', '.bar', '.foo', '.foo/.bar', '.foo/bar', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testIgnoreDotFiles($adapter) - { - $finder = $this->buildFinder($adapter); - $this->assertSame($finder, $finder->ignoreDotFiles(false)->ignoreVCS(false)); - $this->assertIterator($this->toAbsolute(array('.git', '.bar', '.foo', '.foo/.bar', '.foo/bar', 'foo', 'foo/bar.tmp', 'test.php', 'test.py', 'toto', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); - - $finder = $this->buildFinder($adapter); - $finder->ignoreDotFiles(false)->ignoreDotFiles(false)->ignoreVCS(false); - $this->assertIterator($this->toAbsolute(array('.git', '.bar', '.foo', '.foo/.bar', '.foo/bar', 'foo', 'foo/bar.tmp', 'test.php', 'test.py', 'toto', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); - - $finder = $this->buildFinder($adapter); - $this->assertSame($finder, $finder->ignoreDotFiles(true)->ignoreVCS(false)); - $this->assertIterator($this->toAbsolute(array('foo', 'foo/bar.tmp', 'test.php', 'test.py', 'toto', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testSortByName($adapter) - { - $finder = $this->buildFinder($adapter); - $this->assertSame($finder, $finder->sortByName()); - $this->assertIterator($this->toAbsolute(array('foo', 'foo bar', 'foo/bar.tmp', 'test.php', 'test.py', 'toto')), $finder->in(self::$tmpDir)->getIterator()); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testSortByType($adapter) - { - $finder = $this->buildFinder($adapter); - $this->assertSame($finder, $finder->sortByType()); - $this->assertIterator($this->toAbsolute(array('foo', 'foo bar', 'toto', 'foo/bar.tmp', 'test.php', 'test.py')), $finder->in(self::$tmpDir)->getIterator()); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testSortByAccessedTime($adapter) - { - $finder = $this->buildFinder($adapter); - $this->assertSame($finder, $finder->sortByAccessedTime()); - $this->assertIterator($this->toAbsolute(array('foo/bar.tmp', 'test.php', 'toto', 'test.py', 'foo', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testSortByChangedTime($adapter) - { - $finder = $this->buildFinder($adapter); - $this->assertSame($finder, $finder->sortByChangedTime()); - $this->assertIterator($this->toAbsolute(array('toto', 'test.py', 'test.php', 'foo/bar.tmp', 'foo', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testSortByModifiedTime($adapter) - { - $finder = $this->buildFinder($adapter); - $this->assertSame($finder, $finder->sortByModifiedTime()); - $this->assertIterator($this->toAbsolute(array('foo/bar.tmp', 'test.php', 'toto', 'test.py', 'foo', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testSort($adapter) - { - $finder = $this->buildFinder($adapter); - $this->assertSame($finder, $finder->sort(function (\SplFileInfo $a, \SplFileInfo $b) { return strcmp($a->getRealpath(), $b->getRealpath()); })); - $this->assertIterator($this->toAbsolute(array('foo', 'foo bar', 'foo/bar.tmp', 'test.php', 'test.py', 'toto')), $finder->in(self::$tmpDir)->getIterator()); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testFilter($adapter) - { - $finder = $this->buildFinder($adapter); - $this->assertSame($finder, $finder->filter(function (\SplFileInfo $f) { return preg_match('/test/', $f) > 0; })); - $this->assertIterator($this->toAbsolute(array('test.php', 'test.py')), $finder->in(self::$tmpDir)->getIterator()); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testFollowLinks($adapter) - { - if ('\\' == DIRECTORY_SEPARATOR) { - return; - } - - $finder = $this->buildFinder($adapter); - $this->assertSame($finder, $finder->followLinks()); - $this->assertIterator($this->toAbsolute(array('foo', 'foo/bar.tmp', 'test.php', 'test.py', 'toto', 'foo bar')), $finder->in(self::$tmpDir)->getIterator()); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testIn($adapter) - { - $finder = $this->buildFinder($adapter); - try { - $finder->in('foobar'); - $this->fail('->in() throws a \InvalidArgumentException if the directory does not exist'); - } catch (\Exception $e) { - $this->assertInstanceOf('InvalidArgumentException', $e, '->in() throws a \InvalidArgumentException if the directory does not exist'); - } - - $finder = $this->buildFinder($adapter); - $iterator = $finder->files()->name('*.php')->depth('< 1')->in(array(self::$tmpDir, __DIR__))->getIterator(); - - $this->assertIterator(array(self::$tmpDir.DIRECTORY_SEPARATOR.'test.php', __DIR__.DIRECTORY_SEPARATOR.'FinderTest.php'), $iterator); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testInWithGlob($adapter) - { - $finder = $this->buildFinder($adapter); - $finder->in(array(__DIR__.'/Fixtures/*/B/C', __DIR__.'/Fixtures/*/*/B/C'))->getIterator(); - - $this->assertIterator($this->toAbsoluteFixtures(array('A/B/C/abc.dat', 'copy/A/B/C/abc.dat.copy')), $finder); - } - - /** - * @dataProvider getAdaptersTestData - * @expectedException \InvalidArgumentException - */ - public function testInWithNonDirectoryGlob($adapter) - { - $finder = $this->buildFinder($adapter); - $finder->in(__DIR__.'/Fixtures/A/a*'); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testInWithGlobBrace($adapter) - { - $finder = $this->buildFinder($adapter); - $finder->in(array(__DIR__.'/Fixtures/{A,copy/A}/B/C'))->getIterator(); - - $this->assertIterator($this->toAbsoluteFixtures(array('A/B/C/abc.dat', 'copy/A/B/C/abc.dat.copy')), $finder); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testGetIterator($adapter) - { - $finder = $this->buildFinder($adapter); - try { - $finder->getIterator(); - $this->fail('->getIterator() throws a \LogicException if the in() method has not been called'); - } catch (\Exception $e) { - $this->assertInstanceOf('LogicException', $e, '->getIterator() throws a \LogicException if the in() method has not been called'); - } - - $finder = $this->buildFinder($adapter); - $dirs = array(); - foreach ($finder->directories()->in(self::$tmpDir) as $dir) { - $dirs[] = (string) $dir; - } - - $expected = $this->toAbsolute(array('foo', 'toto')); - - sort($dirs); - sort($expected); - - $this->assertEquals($expected, $dirs, 'implements the \IteratorAggregate interface'); - - $finder = $this->buildFinder($adapter); - $this->assertEquals(2, iterator_count($finder->directories()->in(self::$tmpDir)), 'implements the \IteratorAggregate interface'); - - $finder = $this->buildFinder($adapter); - $a = iterator_to_array($finder->directories()->in(self::$tmpDir)); - $a = array_values(array_map(function ($a) { return (string) $a; }, $a)); - sort($a); - $this->assertEquals($expected, $a, 'implements the \IteratorAggregate interface'); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testRelativePath($adapter) - { - $finder = $this->buildFinder($adapter)->in(self::$tmpDir); - - $paths = array(); - - foreach ($finder as $file) { - $paths[] = $file->getRelativePath(); - } - - $ref = array('', '', '', '', 'foo', ''); - - sort($ref); - sort($paths); - - $this->assertEquals($ref, $paths); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testRelativePathname($adapter) - { - $finder = $this->buildFinder($adapter)->in(self::$tmpDir)->sortByName(); - - $paths = array(); - - foreach ($finder as $file) { - $paths[] = $file->getRelativePathname(); - } - - $ref = array('test.php', 'toto', 'test.py', 'foo', 'foo'.DIRECTORY_SEPARATOR.'bar.tmp', 'foo bar'); - - sort($paths); - sort($ref); - - $this->assertEquals($ref, $paths); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testAppendWithAFinder($adapter) - { - $finder = $this->buildFinder($adapter); - $finder->files()->in(self::$tmpDir.DIRECTORY_SEPARATOR.'foo'); - - $finder1 = $this->buildFinder($adapter); - $finder1->directories()->in(self::$tmpDir); - - $finder = $finder->append($finder1); - - $this->assertIterator($this->toAbsolute(array('foo', 'foo/bar.tmp', 'toto')), $finder->getIterator()); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testAppendWithAnArray($adapter) - { - $finder = $this->buildFinder($adapter); - $finder->files()->in(self::$tmpDir.DIRECTORY_SEPARATOR.'foo'); - - $finder->append($this->toAbsolute(array('foo', 'toto'))); - - $this->assertIterator($this->toAbsolute(array('foo', 'foo/bar.tmp', 'toto')), $finder->getIterator()); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testAppendReturnsAFinder($adapter) - { - $this->assertInstanceOf('Symfony\\Component\\Finder\\Finder', $this->buildFinder($adapter)->append(array())); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testAppendDoesNotRequireIn($adapter) - { - $finder = $this->buildFinder($adapter); - $finder->in(self::$tmpDir.DIRECTORY_SEPARATOR.'foo'); - - $finder1 = Finder::create()->append($finder); - - $this->assertIterator(iterator_to_array($finder->getIterator()), $finder1->getIterator()); - } - - public function testCountDirectories() - { - $directory = Finder::create()->directories()->in(self::$tmpDir); - $i = 0; - - foreach ($directory as $dir) { - $i++; - } - - $this->assertCount($i, $directory); - } - - public function testCountFiles() - { - $files = Finder::create()->files()->in(__DIR__.DIRECTORY_SEPARATOR.'Fixtures'); - $i = 0; - - foreach ($files as $file) { - $i++; - } - - $this->assertCount($i, $files); - } - - /** - * @expectedException \LogicException - */ - public function testCountWithoutIn() - { - $finder = Finder::create()->files(); - count($finder); - } - - /** - * @dataProvider getContainsTestData - * @group grep - */ - public function testContains($adapter, $matchPatterns, $noMatchPatterns, $expected) - { - $finder = $this->buildFinder($adapter); - $finder->in(__DIR__.DIRECTORY_SEPARATOR.'Fixtures') - ->name('*.txt')->sortByName() - ->contains($matchPatterns) - ->notContains($noMatchPatterns); - - $this->assertIterator($this->toAbsoluteFixtures($expected), $finder); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testContainsOnDirectory(Adapter\AdapterInterface $adapter) - { - $finder = $this->buildFinder($adapter); - $finder->in(__DIR__) - ->directories() - ->name('Fixtures') - ->contains('abc'); - $this->assertIterator(array(), $finder); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testNotContainsOnDirectory(Adapter\AdapterInterface $adapter) - { - $finder = $this->buildFinder($adapter); - $finder->in(__DIR__) - ->directories() - ->name('Fixtures') - ->notContains('abc'); - $this->assertIterator(array(), $finder); - } - - /** - * Searching in multiple locations involves AppendIterator which does an unnecessary rewind which leaves FilterIterator - * with inner FilesystemIterator in an invalid state. - * - * @see https://bugs.php.net/bug.php?id=49104 - * - * @dataProvider getAdaptersTestData - */ - public function testMultipleLocations(Adapter\AdapterInterface $adapter) - { - $locations = array( - self::$tmpDir.'/', - self::$tmpDir.'/toto/', - ); - - // it is expected that there are test.py test.php in the tmpDir - $finder = $this->buildFinder($adapter); - $finder->in($locations)->depth('< 1')->name('test.php'); - - $this->assertCount(1, $finder); - } - - /** - * Iterator keys must be the file pathname. - * - * @dataProvider getAdaptersTestData - */ - public function testIteratorKeys(Adapter\AdapterInterface $adapter) - { - $finder = $this->buildFinder($adapter)->in(self::$tmpDir); - foreach ($finder as $key => $file) { - $this->assertEquals($file->getPathname(), $key); - } - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testRegexSpecialCharsLocationWithPathRestrictionContainingStartFlag(Adapter\AdapterInterface $adapter) - { - $finder = $this->buildFinder($adapter); - $finder->in(__DIR__.DIRECTORY_SEPARATOR.'Fixtures'.DIRECTORY_SEPARATOR.'r+e.gex[c]a(r)s') - ->path('/^dir/'); - - $expected = array('r+e.gex[c]a(r)s'.DIRECTORY_SEPARATOR.'dir', - 'r+e.gex[c]a(r)s'.DIRECTORY_SEPARATOR.'dir'.DIRECTORY_SEPARATOR.'bar.dat',); - $this->assertIterator($this->toAbsoluteFixtures($expected), $finder); - } - - public function testAdaptersOrdering() - { - $finder = Finder::create() - ->removeAdapters() - ->addAdapter(new FakeAdapter\NamedAdapter('a'), 0) - ->addAdapter(new FakeAdapter\NamedAdapter('b'), -50) - ->addAdapter(new FakeAdapter\NamedAdapter('c'), 50) - ->addAdapter(new FakeAdapter\NamedAdapter('d'), -25) - ->addAdapter(new FakeAdapter\NamedAdapter('e'), 25); - - $this->assertEquals( - array('c', 'e', 'a', 'd', 'b'), - array_map(function (Adapter\AdapterInterface $adapter) { - return $adapter->getName(); - }, $finder->getAdapters()) - ); - } - - public function testAdaptersChaining() - { - $iterator = new \ArrayIterator(array()); - $filenames = $this->toAbsolute(array('foo', 'foo/bar.tmp', 'test.php', 'test.py', 'toto')); - foreach ($filenames as $file) { - $iterator->append(new \Symfony\Component\Finder\SplFileInfo($file, null, null)); - } - - $finder = Finder::create() - ->removeAdapters() - ->addAdapter(new FakeAdapter\UnsupportedAdapter(), 3) - ->addAdapter(new FakeAdapter\FailingAdapter(), 2) - ->addAdapter(new FakeAdapter\DummyAdapter($iterator), 1); - - $this->assertIterator($filenames, $finder->in(sys_get_temp_dir())->getIterator()); - } - - public function getAdaptersTestData() - { - return array_map( - function ($adapter) { return array($adapter); }, - $this->getValidAdapters() - ); - } - - public function getContainsTestData() - { - $tests = array( - array('', '', array()), - array('foo', 'bar', array()), - array('', 'foobar', array('dolor.txt', 'ipsum.txt', 'lorem.txt')), - array('lorem ipsum dolor sit amet', 'foobar', array('lorem.txt')), - array('sit', 'bar', array('dolor.txt', 'ipsum.txt', 'lorem.txt')), - array('dolor sit amet', '@^L@m', array('dolor.txt', 'ipsum.txt')), - array('/^lorem ipsum dolor sit amet$/m', 'foobar', array('lorem.txt')), - array('lorem', 'foobar', array('lorem.txt')), - array('', 'lorem', array('dolor.txt', 'ipsum.txt')), - array('ipsum dolor sit amet', '/^IPSUM/m', array('lorem.txt')), - ); - - return $this->buildTestData($tests); - } - - public function getRegexNameTestData() - { - $tests = array( - array('~.+\\.p.+~i'), - array('~t.*s~i'), - ); - - return $this->buildTestData($tests); - } - - /** - * @dataProvider getTestPathData - */ - public function testPath(Adapter\AdapterInterface $adapter, $matchPatterns, $noMatchPatterns, array $expected) - { - $finder = $this->buildFinder($adapter); - $finder->in(__DIR__.DIRECTORY_SEPARATOR.'Fixtures') - ->path($matchPatterns) - ->notPath($noMatchPatterns); - - $this->assertIterator($this->toAbsoluteFixtures($expected), $finder); - } - - public function testAdapterSelection() - { - // test that by default, PhpAdapter is selected - $adapters = Finder::create()->getAdapters(); - $this->assertTrue($adapters[0] instanceof Adapter\PhpAdapter); - - // test another adapter selection - $adapters = Finder::create()->setAdapter('gnu_find')->getAdapters(); - $this->assertTrue($adapters[0] instanceof Adapter\GnuFindAdapter); - - // test that useBestAdapter method removes selection - $adapters = Finder::create()->useBestAdapter()->getAdapters(); - $this->assertFalse($adapters[0] instanceof Adapter\PhpAdapter); - } - - public function getTestPathData() - { - $tests = array( - array('', '', array()), - array('/^A\/B\/C/', '/C$/', - array('A'.DIRECTORY_SEPARATOR.'B'.DIRECTORY_SEPARATOR.'C'.DIRECTORY_SEPARATOR.'abc.dat'), - ), - array('/^A\/B/', 'foobar', - array( - 'A'.DIRECTORY_SEPARATOR.'B', - 'A'.DIRECTORY_SEPARATOR.'B'.DIRECTORY_SEPARATOR.'C', - 'A'.DIRECTORY_SEPARATOR.'B'.DIRECTORY_SEPARATOR.'ab.dat', - 'A'.DIRECTORY_SEPARATOR.'B'.DIRECTORY_SEPARATOR.'C'.DIRECTORY_SEPARATOR.'abc.dat', - ), - ), - array('A/B/C', 'foobar', - array( - 'A'.DIRECTORY_SEPARATOR.'B'.DIRECTORY_SEPARATOR.'C', - 'A'.DIRECTORY_SEPARATOR.'B'.DIRECTORY_SEPARATOR.'C'.DIRECTORY_SEPARATOR.'abc.dat', - 'copy'.DIRECTORY_SEPARATOR.'A'.DIRECTORY_SEPARATOR.'B'.DIRECTORY_SEPARATOR.'C', - 'copy'.DIRECTORY_SEPARATOR.'A'.DIRECTORY_SEPARATOR.'B'.DIRECTORY_SEPARATOR.'C'.DIRECTORY_SEPARATOR.'abc.dat.copy', - ), - ), - array('A/B', 'foobar', - array( - //dirs - 'A'.DIRECTORY_SEPARATOR.'B', - 'A'.DIRECTORY_SEPARATOR.'B'.DIRECTORY_SEPARATOR.'C', - 'copy'.DIRECTORY_SEPARATOR.'A'.DIRECTORY_SEPARATOR.'B', - 'copy'.DIRECTORY_SEPARATOR.'A'.DIRECTORY_SEPARATOR.'B'.DIRECTORY_SEPARATOR.'C', - //files - 'A'.DIRECTORY_SEPARATOR.'B'.DIRECTORY_SEPARATOR.'ab.dat', - 'A'.DIRECTORY_SEPARATOR.'B'.DIRECTORY_SEPARATOR.'C'.DIRECTORY_SEPARATOR.'abc.dat', - 'copy'.DIRECTORY_SEPARATOR.'A'.DIRECTORY_SEPARATOR.'B'.DIRECTORY_SEPARATOR.'ab.dat.copy', - 'copy'.DIRECTORY_SEPARATOR.'A'.DIRECTORY_SEPARATOR.'B'.DIRECTORY_SEPARATOR.'C'.DIRECTORY_SEPARATOR.'abc.dat.copy', - ), - ), - array('/^with space\//', 'foobar', - array( - 'with space'.DIRECTORY_SEPARATOR.'foo.txt', - ), - ), - ); - - return $this->buildTestData($tests); - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testAccessDeniedException(Adapter\AdapterInterface $adapter) - { - if ('\\' === DIRECTORY_SEPARATOR) { - $this->markTestSkipped('chmod is not supported on Windows'); - } - - $finder = $this->buildFinder($adapter); - $finder->files()->in(self::$tmpDir); - - // make 'foo' directory non-readable - $testDir = self::$tmpDir.DIRECTORY_SEPARATOR.'foo'; - chmod($testDir, 0333); - - if (false === $couldRead = is_readable($testDir)) { - try { - $this->assertIterator($this->toAbsolute(array('foo bar', 'test.php', 'test.py')), $finder->getIterator()); - $this->fail('Finder should throw an exception when opening a non-readable directory.'); - } catch (\Exception $e) { - $expectedExceptionClass = 'Symfony\\Component\\Finder\\Exception\\AccessDeniedException'; - if ($e instanceof \PHPUnit_Framework_ExpectationFailedException) { - $this->fail(sprintf("Expected exception:\n%s\nGot:\n%s\nWith comparison failure:\n%s", $expectedExceptionClass, 'PHPUnit_Framework_ExpectationFailedException', $e->getComparisonFailure()->getExpectedAsString())); - } - - $this->assertInstanceOf($expectedExceptionClass, $e); - } - } - - // restore original permissions - chmod($testDir, 0777); - clearstatcache($testDir); - - if ($couldRead) { - $this->markTestSkipped('could read test files while test requires unreadable'); - } - } - - /** - * @dataProvider getAdaptersTestData - */ - public function testIgnoredAccessDeniedException(Adapter\AdapterInterface $adapter) - { - if ('\\' === DIRECTORY_SEPARATOR) { - $this->markTestSkipped('chmod is not supported on Windows'); - } - - $finder = $this->buildFinder($adapter); - $finder->files()->ignoreUnreadableDirs()->in(self::$tmpDir); - - // make 'foo' directory non-readable - $testDir = self::$tmpDir.DIRECTORY_SEPARATOR.'foo'; - chmod($testDir, 0333); - - if (false === ($couldRead = is_readable($testDir))) { - $this->assertIterator($this->toAbsolute(array('foo bar', 'test.php', 'test.py')), $finder->getIterator()); - } - - // restore original permissions - chmod($testDir, 0777); - clearstatcache($testDir); - - if ($couldRead) { - $this->markTestSkipped('could read test files while test requires unreadable'); - } - } - - private function buildTestData(array $tests) - { - $data = array(); - foreach ($this->getValidAdapters() as $adapter) { - foreach ($tests as $test) { - $data[] = array_merge(array($adapter), $test); - } - } - - return $data; - } - - private function buildFinder(Adapter\AdapterInterface $adapter) - { - return Finder::create() - ->removeAdapters() - ->addAdapter($adapter); - } - - private function getValidAdapters() - { - return array_filter( - array( - new Adapter\BsdFindAdapter(), - new Adapter\GnuFindAdapter(), - new Adapter\PhpAdapter(), - ), - function (Adapter\AdapterInterface $adapter) { - return $adapter->isSupported(); - } - ); - } - - /** - * Searching in multiple locations with sub directories involves - * AppendIterator which does an unnecessary rewind which leaves - * FilterIterator with inner FilesystemIterator in an invalid state. - * - * @see https://bugs.php.net/bug.php?id=49104 - */ - public function testMultipleLocationsWithSubDirectories() - { - $locations = array( - __DIR__.'/Fixtures/one', - self::$tmpDir.DIRECTORY_SEPARATOR.'toto', - ); - - $finder = new Finder(); - $finder->in($locations)->depth('< 10')->name('*.neon'); - - $expected = array( - __DIR__.'/Fixtures/one'.DIRECTORY_SEPARATOR.'b'.DIRECTORY_SEPARATOR.'c.neon', - __DIR__.'/Fixtures/one'.DIRECTORY_SEPARATOR.'b'.DIRECTORY_SEPARATOR.'d.neon', - ); - - $this->assertIterator($expected, $finder); - $this->assertIteratorInForeach($expected, $finder); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/A/B/C/abc.dat b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/A/B/C/abc.dat deleted file mode 100644 index e69de29..0000000 diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/A/B/ab.dat b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/A/B/ab.dat deleted file mode 100644 index e69de29..0000000 diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/A/a.dat b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/A/a.dat deleted file mode 100644 index e69de29..0000000 diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/copy/A/B/C/abc.dat.copy b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/copy/A/B/C/abc.dat.copy deleted file mode 100644 index e69de29..0000000 diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/copy/A/B/ab.dat.copy b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/copy/A/B/ab.dat.copy deleted file mode 100644 index e69de29..0000000 diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/copy/A/a.dat.copy b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/copy/A/a.dat.copy deleted file mode 100644 index e69de29..0000000 diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/dolor.txt b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/dolor.txt deleted file mode 100644 index 658bec6..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/dolor.txt +++ /dev/null @@ -1,2 +0,0 @@ -dolor sit amet -DOLOR SIT AMET \ No newline at end of file diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/ipsum.txt b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/ipsum.txt deleted file mode 100644 index c7f392d..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/ipsum.txt +++ /dev/null @@ -1,2 +0,0 @@ -ipsum dolor sit amet -IPSUM DOLOR SIT AMET \ No newline at end of file diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/lorem.txt b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/lorem.txt deleted file mode 100644 index 2991a2c..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/lorem.txt +++ /dev/null @@ -1,2 +0,0 @@ -lorem ipsum dolor sit amet -LOREM IPSUM DOLOR SIT AMET \ No newline at end of file diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/one/a b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/one/a deleted file mode 100644 index e69de29..0000000 diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/one/b/c.neon b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/one/b/c.neon deleted file mode 100644 index e69de29..0000000 diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/one/b/d.neon b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/one/b/d.neon deleted file mode 100644 index e69de29..0000000 diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/r+e.gex[c]a(r)s/dir/bar.dat b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/r+e.gex[c]a(r)s/dir/bar.dat deleted file mode 100644 index e69de29..0000000 diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/with space/foo.txt b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Fixtures/with space/foo.txt deleted file mode 100644 index e69de29..0000000 diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/CustomFilterIteratorTest.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/CustomFilterIteratorTest.php deleted file mode 100644 index 62629b1..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/CustomFilterIteratorTest.php +++ /dev/null @@ -1,46 +0,0 @@ - - * - * 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\Iterator\CustomFilterIterator; - -class CustomFilterIteratorTest extends IteratorTestCase -{ - /** - * @expectedException \InvalidArgumentException - */ - public function testWithInvalidFilter() - { - new CustomFilterIterator(new Iterator(), array('foo')); - } - - /** - * @dataProvider getAcceptData - */ - public function testAccept($filters, $expected) - { - $inner = new Iterator(array('test.php', 'test.py', 'foo.php')); - - $iterator = new CustomFilterIterator($inner, $filters); - - $this->assertIterator($expected, $iterator); - } - - public function getAcceptData() - { - return array( - array(array(function (\SplFileInfo $fileinfo) { return false; }), array()), - array(array(function (\SplFileInfo $fileinfo) { return preg_match('/^test/', $fileinfo) > 0; }), array('test.php', 'test.py')), - array(array('is_dir'), array()), - ); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/DateRangeFilterIteratorTest.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/DateRangeFilterIteratorTest.php deleted file mode 100644 index 709d5fe..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/DateRangeFilterIteratorTest.php +++ /dev/null @@ -1,72 +0,0 @@ - - * - * 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\Iterator\DateRangeFilterIterator; -use Symfony\Component\Finder\Comparator\DateComparator; - -class DateRangeFilterIteratorTest extends RealIteratorTestCase -{ - /** - * @dataProvider getAcceptData - */ - public function testAccept($size, $expected) - { - $files = self::$files; - $files[] = self::toAbsolute('doesnotexist'); - $inner = new Iterator($files); - - $iterator = new DateRangeFilterIterator($inner, $size); - - $this->assertIterator($expected, $iterator); - } - - public function getAcceptData() - { - $since20YearsAgo = array( - '.git', - 'test.py', - 'foo', - 'foo/bar.tmp', - 'test.php', - 'toto', - '.bar', - '.foo', - '.foo/.bar', - 'foo bar', - '.foo/bar', - ); - - $since2MonthsAgo = array( - '.git', - 'test.py', - 'foo', - 'toto', - '.bar', - '.foo', - '.foo/.bar', - 'foo bar', - '.foo/bar', - ); - - $untilLastMonth = array( - 'foo/bar.tmp', - 'test.php', - ); - - return array( - array(array(new DateComparator('since 20 years ago')), $this->toAbsolute($since20YearsAgo)), - array(array(new DateComparator('since 2 months ago')), $this->toAbsolute($since2MonthsAgo)), - array(array(new DateComparator('until last month')), $this->toAbsolute($untilLastMonth)), - ); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/DepthRangeFilterIteratorTest.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/DepthRangeFilterIteratorTest.php deleted file mode 100644 index 5ec9832..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/DepthRangeFilterIteratorTest.php +++ /dev/null @@ -1,80 +0,0 @@ - - * - * 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\Iterator\DepthRangeFilterIterator; - -class DepthRangeFilterIteratorTest extends RealIteratorTestCase -{ - /** - * @dataProvider getAcceptData - */ - public function testAccept($minDepth, $maxDepth, $expected) - { - $inner = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($this->toAbsolute(), \FilesystemIterator::SKIP_DOTS), \RecursiveIteratorIterator::SELF_FIRST); - - $iterator = new DepthRangeFilterIterator($inner, $minDepth, $maxDepth); - - $actual = array_keys(iterator_to_array($iterator)); - sort($expected); - sort($actual); - $this->assertEquals($expected, $actual); - } - - public function getAcceptData() - { - $lessThan1 = array( - '.git', - 'test.py', - 'foo', - 'test.php', - 'toto', - '.foo', - '.bar', - 'foo bar', - ); - - $lessThanOrEqualTo1 = array( - '.git', - 'test.py', - 'foo', - 'foo/bar.tmp', - 'test.php', - 'toto', - '.foo', - '.foo/.bar', - '.bar', - 'foo bar', - '.foo/bar', - ); - - $graterThanOrEqualTo1 = array( - 'foo/bar.tmp', - '.foo/.bar', - '.foo/bar', - ); - - $equalTo1 = array( - 'foo/bar.tmp', - '.foo/.bar', - '.foo/bar', - ); - - return array( - array(0, 0, $this->toAbsolute($lessThan1)), - array(0, 1, $this->toAbsolute($lessThanOrEqualTo1)), - array(2, PHP_INT_MAX, array()), - array(1, PHP_INT_MAX, $this->toAbsolute($graterThanOrEqualTo1)), - array(1, 1, $this->toAbsolute($equalTo1)), - ); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/ExcludeDirectoryFilterIteratorTest.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/ExcludeDirectoryFilterIteratorTest.php deleted file mode 100644 index 693b733..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/ExcludeDirectoryFilterIteratorTest.php +++ /dev/null @@ -1,64 +0,0 @@ - - * - * 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\Iterator\ExcludeDirectoryFilterIterator; -use Symfony\Component\Finder\Iterator\RecursiveDirectoryIterator; - -class ExcludeDirectoryFilterIteratorTest extends RealIteratorTestCase -{ - /** - * @dataProvider getAcceptData - */ - public function testAccept($directories, $expected) - { - $inner = new \RecursiveIteratorIterator(new RecursiveDirectoryIterator($this->toAbsolute(), \FilesystemIterator::SKIP_DOTS), \RecursiveIteratorIterator::SELF_FIRST); - - $iterator = new ExcludeDirectoryFilterIterator($inner, $directories); - - $this->assertIterator($expected, $iterator); - } - - public function getAcceptData() - { - $foo = array( - '.bar', - '.foo', - '.foo/.bar', - '.foo/bar', - '.git', - 'test.py', - 'test.php', - 'toto', - 'foo bar', - ); - - $fo = array( - '.bar', - '.foo', - '.foo/.bar', - '.foo/bar', - '.git', - 'test.py', - 'foo', - 'foo/bar.tmp', - 'test.php', - 'toto', - 'foo bar', - ); - - return array( - array(array('foo'), $this->toAbsolute($foo)), - array(array('fo'), $this->toAbsolute($fo)), - ); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/FilePathsIteratorTest.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/FilePathsIteratorTest.php deleted file mode 100644 index fdf810b..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/FilePathsIteratorTest.php +++ /dev/null @@ -1,69 +0,0 @@ - - * - * 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\Iterator\FilePathsIterator; - -class FilePathsIteratorTest extends RealIteratorTestCase -{ - /** - * @dataProvider getSubPathData - */ - public function testSubPath($baseDir, array $paths, array $subPaths, array $subPathnames) - { - $iterator = new FilePathsIterator($paths, $baseDir); - - foreach ($iterator as $index => $file) { - $this->assertEquals($paths[$index], $file->getPathname()); - $this->assertEquals($subPaths[$index], $iterator->getSubPath()); - $this->assertEquals($subPathnames[$index], $iterator->getSubPathname()); - } - } - - public function getSubPathData() - { - $tmpDir = sys_get_temp_dir().'/symfony_finder'; - - return array( - array( - $tmpDir, - array( - // paths - $tmpDir.DIRECTORY_SEPARATOR.'.git' => $tmpDir.DIRECTORY_SEPARATOR.'.git', - $tmpDir.DIRECTORY_SEPARATOR.'test.py' => $tmpDir.DIRECTORY_SEPARATOR.'test.py', - $tmpDir.DIRECTORY_SEPARATOR.'foo' => $tmpDir.DIRECTORY_SEPARATOR.'foo', - $tmpDir.DIRECTORY_SEPARATOR.'foo'.DIRECTORY_SEPARATOR.'bar.tmp' => $tmpDir.DIRECTORY_SEPARATOR.'foo'.DIRECTORY_SEPARATOR.'bar.tmp', - $tmpDir.DIRECTORY_SEPARATOR.'test.php' => $tmpDir.DIRECTORY_SEPARATOR.'test.php', - $tmpDir.DIRECTORY_SEPARATOR.'toto' => $tmpDir.DIRECTORY_SEPARATOR.'toto', - ), - array( - // subPaths - $tmpDir.DIRECTORY_SEPARATOR.'.git' => '', - $tmpDir.DIRECTORY_SEPARATOR.'test.py' => '', - $tmpDir.DIRECTORY_SEPARATOR.'foo' => '', - $tmpDir.DIRECTORY_SEPARATOR.'foo'.DIRECTORY_SEPARATOR.'bar.tmp' => 'foo', - $tmpDir.DIRECTORY_SEPARATOR.'test.php' => '', - $tmpDir.DIRECTORY_SEPARATOR.'toto' => '', - ), - array( - // subPathnames - $tmpDir.DIRECTORY_SEPARATOR.'.git' => '.git', - $tmpDir.DIRECTORY_SEPARATOR.'test.py' => 'test.py', - $tmpDir.DIRECTORY_SEPARATOR.'foo' => 'foo', - $tmpDir.DIRECTORY_SEPARATOR.'foo'.DIRECTORY_SEPARATOR.'bar.tmp' => 'foo'.DIRECTORY_SEPARATOR.'bar.tmp', - $tmpDir.DIRECTORY_SEPARATOR.'test.php' => 'test.php', - $tmpDir.DIRECTORY_SEPARATOR.'toto' => 'toto', - ), - ), - ); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/FileTypeFilterIteratorTest.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/FileTypeFilterIteratorTest.php deleted file mode 100644 index cfa8684..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/FileTypeFilterIteratorTest.php +++ /dev/null @@ -1,72 +0,0 @@ - - * - * 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\Iterator\FileTypeFilterIterator; - -class FileTypeFilterIteratorTest extends RealIteratorTestCase -{ - /** - * @dataProvider getAcceptData - */ - public function testAccept($mode, $expected) - { - $inner = new InnerTypeIterator(self::$files); - - $iterator = new FileTypeFilterIterator($inner, $mode); - - $this->assertIterator($expected, $iterator); - } - - public function getAcceptData() - { - $onlyFiles = array( - 'test.py', - 'foo/bar.tmp', - 'test.php', - '.bar', - '.foo/.bar', - '.foo/bar', - 'foo bar', - ); - - $onlyDirectories = array( - '.git', - 'foo', - 'toto', - '.foo', - ); - - return array( - array(FileTypeFilterIterator::ONLY_FILES, $this->toAbsolute($onlyFiles)), - array(FileTypeFilterIterator::ONLY_DIRECTORIES, $this->toAbsolute($onlyDirectories)), - ); - } -} - -class InnerTypeIterator extends \ArrayIterator -{ - public function current() - { - return new \SplFileInfo(parent::current()); - } - - public function isFile() - { - return $this->current()->isFile(); - } - - public function isDir() - { - return $this->current()->isDir(); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/FilecontentFilterIteratorTest.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/FilecontentFilterIteratorTest.php deleted file mode 100644 index 744bdae..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/FilecontentFilterIteratorTest.php +++ /dev/null @@ -1,86 +0,0 @@ - - * - * 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\Iterator\FilecontentFilterIterator; - -class FilecontentFilterIteratorTest extends IteratorTestCase -{ - public function testAccept() - { - $inner = new MockFileListIterator(array('test.txt')); - $iterator = new FilecontentFilterIterator($inner, array(), array()); - $this->assertIterator(array('test.txt'), $iterator); - } - - public function testDirectory() - { - $inner = new MockFileListIterator(array('directory')); - $iterator = new FilecontentFilterIterator($inner, array('directory'), array()); - $this->assertIterator(array(), $iterator); - } - - public function testUnreadableFile() - { - $inner = new MockFileListIterator(array('file r-')); - $iterator = new FilecontentFilterIterator($inner, array('file r-'), array()); - $this->assertIterator(array(), $iterator); - } - - /** - * @dataProvider getTestFilterData - */ - public function testFilter(\Iterator $inner, array $matchPatterns, array $noMatchPatterns, array $resultArray) - { - $iterator = new FilecontentFilterIterator($inner, $matchPatterns, $noMatchPatterns); - $this->assertIterator($resultArray, $iterator); - } - - public function getTestFilterData() - { - $inner = new MockFileListIterator(); - - $inner[] = new MockSplFileInfo(array( - 'name' => 'a.txt', - 'contents' => 'Lorem ipsum...', - 'type' => 'file', - 'mode' => 'r+', ) - ); - - $inner[] = new MockSplFileInfo(array( - 'name' => 'b.yml', - 'contents' => 'dolor sit...', - 'type' => 'file', - 'mode' => 'r+', ) - ); - - $inner[] = new MockSplFileInfo(array( - 'name' => 'some/other/dir/third.php', - 'contents' => 'amet...', - 'type' => 'file', - 'mode' => 'r+', ) - ); - - $inner[] = new MockSplFileInfo(array( - 'name' => 'unreadable-file.txt', - 'contents' => false, - 'type' => 'file', - 'mode' => 'r+', ) - ); - - return array( - array($inner, array('.'), array(), array('a.txt', 'b.yml', 'some/other/dir/third.php')), - array($inner, array('ipsum'), array(), array('a.txt')), - array($inner, array('i', 'amet'), array('Lorem', 'amet'), array('b.yml')), - ); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/FilenameFilterIteratorTest.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/FilenameFilterIteratorTest.php deleted file mode 100644 index c4b9795..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/FilenameFilterIteratorTest.php +++ /dev/null @@ -1,54 +0,0 @@ - - * - * 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\Iterator\FilenameFilterIterator; - -class FilenameFilterIteratorTest extends IteratorTestCase -{ - /** - * @dataProvider getAcceptData - */ - public function testAccept($matchPatterns, $noMatchPatterns, $expected) - { - $inner = new InnerNameIterator(array('test.php', 'test.py', 'foo.php')); - - $iterator = new FilenameFilterIterator($inner, $matchPatterns, $noMatchPatterns); - - $this->assertIterator($expected, $iterator); - } - - public function getAcceptData() - { - return array( - array(array('test.*'), array(), array('test.php', 'test.py')), - array(array(), array('test.*'), array('foo.php')), - array(array('*.php'), array('test.*'), array('foo.php')), - array(array('*.php', '*.py'), array('foo.*'), array('test.php', 'test.py')), - array(array('/\.php$/'), array(), array('test.php', 'foo.php')), - array(array(), array('/\.php$/'), array('test.py')), - ); - } -} - -class InnerNameIterator extends \ArrayIterator -{ - public function current() - { - return new \SplFileInfo(parent::current()); - } - - public function getFilename() - { - return parent::current(); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/FilterIteratorTest.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/FilterIteratorTest.php deleted file mode 100644 index 029a266..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/FilterIteratorTest.php +++ /dev/null @@ -1,50 +0,0 @@ - - * - * 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; - -/** - * @author Alex Bogomazov - */ -class FilterIteratorTest extends RealIteratorTestCase -{ - public function testFilterFilesystemIterators() - { - $i = new \FilesystemIterator($this->toAbsolute()); - - // it is expected that there are test.py test.php in the tmpDir - $i = $this->getMockForAbstractClass('Symfony\Component\Finder\Iterator\FilterIterator', array($i)); - $i->expects($this->any()) - ->method('accept') - ->will($this->returnCallback(function () use ($i) { - return (bool) preg_match('/\.php/', (string) $i->current()); - }) - ); - - $c = 0; - foreach ($i as $item) { - $c++; - } - - $this->assertEquals(1, $c); - - $i->rewind(); - - $c = 0; - foreach ($i as $item) { - $c++; - } - - // This would fail with \FilterIterator but works with Symfony\Component\Finder\Iterator\FilterIterator - // see https://bugs.php.net/bug.php?id=49104 - $this->assertEquals(1, $c); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/Iterator.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/Iterator.php deleted file mode 100644 index 849bf08..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/Iterator.php +++ /dev/null @@ -1,55 +0,0 @@ - - * - * 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; - -class Iterator implements \Iterator -{ - protected $values = array(); - - public function __construct(array $values = array()) - { - foreach ($values as $value) { - $this->attach(new \SplFileInfo($value)); - } - $this->rewind(); - } - - public function attach(\SplFileInfo $fileinfo) - { - $this->values[] = $fileinfo; - } - - public function rewind() - { - reset($this->values); - } - - public function valid() - { - return false !== $this->current(); - } - - public function next() - { - next($this->values); - } - - public function current() - { - return current($this->values); - } - - public function key() - { - return key($this->values); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/IteratorTestCase.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/IteratorTestCase.php deleted file mode 100644 index ae7388e..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/IteratorTestCase.php +++ /dev/null @@ -1,98 +0,0 @@ - - * - * 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; - -abstract class IteratorTestCase extends \PHPUnit_Framework_TestCase -{ - protected function assertIterator($expected, \Traversable $iterator) - { - // set iterator_to_array $use_key to false to avoid values merge - // this made FinderTest::testAppendWithAnArray() failed with GnuFinderAdapter - $values = array_map(function (\SplFileInfo $fileinfo) { return str_replace('/', DIRECTORY_SEPARATOR, $fileinfo->getPathname()); }, iterator_to_array($iterator, false)); - - $expected = array_map(function ($path) { return str_replace('/', DIRECTORY_SEPARATOR, $path); }, $expected); - - sort($values); - sort($expected); - - $this->assertEquals($expected, array_values($values)); - } - - protected function assertOrderedIterator($expected, \Traversable $iterator) - { - $values = array_map(function (\SplFileInfo $fileinfo) { return $fileinfo->getPathname(); }, iterator_to_array($iterator)); - - $this->assertEquals($expected, array_values($values)); - } - - /** - * Same as assertOrderedIterator, but checks the order of groups of - * array elements. - * - * @param array $expected - an array of arrays. For any two subarrays - * $a and $b such that $a goes before $b in $expected, the method - * asserts that any element of $a goes before any element of $b - * in the sequence generated by $iterator - * @param \Traversable $iterator - */ - protected function assertOrderedIteratorForGroups($expected, \Traversable $iterator) - { - $values = array_values(array_map(function (\SplFileInfo $fileinfo) { return $fileinfo->getPathname(); }, iterator_to_array($iterator))); - - foreach ($expected as $subarray) { - $temp = array(); - while (count($values) && count($temp) < count($subarray)) { - array_push($temp, array_shift($values)); - } - sort($temp); - sort($subarray); - $this->assertEquals($subarray, $temp); - } - } - - /** - * Same as IteratorTestCase::assertIterator with foreach usage. - * - * @param array $expected - * @param \Traversable $iterator - */ - protected function assertIteratorInForeach($expected, \Traversable $iterator) - { - $values = array(); - foreach ($iterator as $file) { - $this->assertInstanceOf('Symfony\\Component\\Finder\\SplFileInfo', $file); - $values[] = $file->getPathname(); - } - - sort($values); - sort($expected); - - $this->assertEquals($expected, array_values($values)); - } - - /** - * Same as IteratorTestCase::assertOrderedIterator with foreach usage. - * - * @param array $expected - * @param \Traversable $iterator - */ - protected function assertOrderedIteratorInForeach($expected, \Traversable $iterator) - { - $values = array(); - foreach ($iterator as $file) { - $this->assertInstanceOf('Symfony\\Component\\Finder\\SplFileInfo', $file); - $values[] = $file->getPathname(); - } - - $this->assertEquals($expected, array_values($values)); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/MockFileListIterator.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/MockFileListIterator.php deleted file mode 100644 index eb0adfa..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/MockFileListIterator.php +++ /dev/null @@ -1,21 +0,0 @@ - - * - * 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; - -class MockFileListIterator extends \ArrayIterator -{ - public function __construct(array $filesArray = array()) - { - $files = array_map(function ($file) { return new MockSplFileInfo($file); }, $filesArray); - parent::__construct($files); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/MockSplFileInfo.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/MockSplFileInfo.php deleted file mode 100644 index f2e8f8e..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/MockSplFileInfo.php +++ /dev/null @@ -1,134 +0,0 @@ - - * - * 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; - -class MockSplFileInfo extends \SplFileInfo -{ - const TYPE_DIRECTORY = 1; - const TYPE_FILE = 2; - const TYPE_UNKNOWN = 3; - - private $contents = null; - private $mode = null; - private $type = null; - private $relativePath = null; - private $relativePathname = null; - - public function __construct($param) - { - if (is_string($param)) { - parent::__construct($param); - } elseif (is_array($param)) { - $defaults = array( - 'name' => 'file.txt', - 'contents' => null, - 'mode' => null, - 'type' => null, - 'relativePath' => null, - 'relativePathname' => null, - ); - $defaults = array_merge($defaults, $param); - parent::__construct($defaults['name']); - $this->setContents($defaults['contents']); - $this->setMode($defaults['mode']); - $this->setType($defaults['type']); - $this->setRelativePath($defaults['relativePath']); - $this->setRelativePathname($defaults['relativePathname']); - } else { - throw new \RuntimeException(sprintf('Incorrect parameter "%s"', $param)); - } - } - - public function isFile() - { - if (null === $this->type) { - return preg_match('/file/', $this->getFilename()); - }; - - return self::TYPE_FILE === $this->type; - } - - public function isDir() - { - if (null === $this->type) { - return preg_match('/directory/', $this->getFilename()); - } - - return self::TYPE_DIRECTORY === $this->type; - } - - public function isReadable() - { - if (null === $this->mode) { - return preg_match('/r\+/', $this->getFilename()); - } - - return preg_match('/r\+/', $this->mode); - } - - public function getContents() - { - return $this->contents; - } - - public function setContents($contents) - { - $this->contents = $contents; - } - - public function setMode($mode) - { - $this->mode = $mode; - } - - public function setType($type) - { - if (is_string($type)) { - switch ($type) { - case 'directory': - $this->type = self::TYPE_DIRECTORY; - case 'd': - $this->type = self::TYPE_DIRECTORY; - break; - case 'file': - $this->type = self::TYPE_FILE; - case 'f': - $this->type = self::TYPE_FILE; - break; - default: - $this->type = self::TYPE_UNKNOWN; - } - } else { - $this->type = $type; - } - } - - public function setRelativePath($relativePath) - { - $this->relativePath = $relativePath; - } - - public function setRelativePathname($relativePathname) - { - $this->relativePathname = $relativePathname; - } - - public function getRelativePath() - { - return $this->relativePath; - } - - public function getRelativePathname() - { - return $this->relativePathname; - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/MultiplePcreFilterIteratorTest.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/MultiplePcreFilterIteratorTest.php deleted file mode 100644 index 89d8edb..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/MultiplePcreFilterIteratorTest.php +++ /dev/null @@ -1,67 +0,0 @@ - - * - * 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\Iterator\MultiplePcreFilterIterator; - -class MultiplePcreFilterIteratorTest extends \PHPUnit_Framework_TestCase -{ - /** - * @dataProvider getIsRegexFixtures - */ - public function testIsRegex($string, $isRegex, $message) - { - $testIterator = new TestMultiplePcreFilterIterator(); - $this->assertEquals($isRegex, $testIterator->isRegex($string), $message); - } - - public function getIsRegexFixtures() - { - return array( - array('foo', false, 'string'), - array(' foo ', false, '" " is not a valid delimiter'), - array('\\foo\\', false, '"\\" is not a valid delimiter'), - array('afooa', false, '"a" is not a valid delimiter'), - array('//', false, 'the pattern should contain at least 1 character'), - array('/a/', true, 'valid regex'), - array('/foo/', true, 'valid regex'), - array('/foo/i', true, 'valid regex with a single modifier'), - array('/foo/imsxu', true, 'valid regex with multiple modifiers'), - array('#foo#', true, '"#" is a valid delimiter'), - array('{foo}', true, '"{,}" is a valid delimiter pair'), - array('*foo.*', false, '"*" is not considered as a valid delimiter'), - array('?foo.?', false, '"?" is not considered as a valid delimiter'), - ); - } -} - -class TestMultiplePcreFilterIterator extends MultiplePcreFilterIterator -{ - public function __construct() - { - } - - public function accept() - { - throw new \BadFunctionCallException('Not implemented'); - } - - public function isRegex($str) - { - return parent::isRegex($str); - } - - public function toRegex($str) - { - throw new \BadFunctionCallException('Not implemented'); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/PathFilterIteratorTest.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/PathFilterIteratorTest.php deleted file mode 100644 index 579beed..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/PathFilterIteratorTest.php +++ /dev/null @@ -1,83 +0,0 @@ - - * - * 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\Iterator\PathFilterIterator; - -class PathFilterIteratorTest extends IteratorTestCase -{ - /** - * @dataProvider getTestFilterData - */ - public function testFilter(\Iterator $inner, array $matchPatterns, array $noMatchPatterns, array $resultArray) - { - $iterator = new PathFilterIterator($inner, $matchPatterns, $noMatchPatterns); - $this->assertIterator($resultArray, $iterator); - } - - public function getTestFilterData() - { - $inner = new MockFileListIterator(); - - //PATH: A/B/C/abc.dat - $inner[] = new MockSplFileInfo(array( - 'name' => 'abc.dat', - 'relativePathname' => 'A'.DIRECTORY_SEPARATOR.'B'.DIRECTORY_SEPARATOR.'C'.DIRECTORY_SEPARATOR.'abc.dat', - )); - - //PATH: A/B/ab.dat - $inner[] = new MockSplFileInfo(array( - 'name' => 'ab.dat', - 'relativePathname' => 'A'.DIRECTORY_SEPARATOR.'B'.DIRECTORY_SEPARATOR.'ab.dat', - )); - - //PATH: A/a.dat - $inner[] = new MockSplFileInfo(array( - 'name' => 'a.dat', - 'relativePathname' => 'A'.DIRECTORY_SEPARATOR.'a.dat', - )); - - //PATH: copy/A/B/C/abc.dat.copy - $inner[] = new MockSplFileInfo(array( - 'name' => 'abc.dat.copy', - 'relativePathname' => 'copy'.DIRECTORY_SEPARATOR.'A'.DIRECTORY_SEPARATOR.'B'.DIRECTORY_SEPARATOR.'C'.DIRECTORY_SEPARATOR.'abc.dat', - )); - - //PATH: copy/A/B/ab.dat.copy - $inner[] = new MockSplFileInfo(array( - 'name' => 'ab.dat.copy', - 'relativePathname' => 'copy'.DIRECTORY_SEPARATOR.'A'.DIRECTORY_SEPARATOR.'B'.DIRECTORY_SEPARATOR.'ab.dat', - )); - - //PATH: copy/A/a.dat.copy - $inner[] = new MockSplFileInfo(array( - 'name' => 'a.dat.copy', - 'relativePathname' => 'copy'.DIRECTORY_SEPARATOR.'A'.DIRECTORY_SEPARATOR.'a.dat', - )); - - return array( - array($inner, array('/^A/'), array(), array('abc.dat', 'ab.dat', 'a.dat')), - array($inner, array('/^A\/B/'), array(), array('abc.dat', 'ab.dat')), - array($inner, array('/^A\/B\/C/'), array(), array('abc.dat')), - array($inner, array('/A\/B\/C/'), array(), array('abc.dat', 'abc.dat.copy')), - - array($inner, array('A'), array(), array('abc.dat', 'ab.dat', 'a.dat', 'abc.dat.copy', 'ab.dat.copy', 'a.dat.copy')), - array($inner, array('A/B'), array(), array('abc.dat', 'ab.dat', 'abc.dat.copy', 'ab.dat.copy')), - array($inner, array('A/B/C'), array(), array('abc.dat', 'abc.dat.copy')), - - array($inner, array('copy/A'), array(), array('abc.dat.copy', 'ab.dat.copy', 'a.dat.copy')), - array($inner, array('copy/A/B'), array(), array('abc.dat.copy', 'ab.dat.copy')), - array($inner, array('copy/A/B/C'), array(), array('abc.dat.copy')), - - ); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/RealIteratorTestCase.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/RealIteratorTestCase.php deleted file mode 100644 index e22476d..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/RealIteratorTestCase.php +++ /dev/null @@ -1,109 +0,0 @@ - - * - * 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; - -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/', - '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() - { - foreach (array_reverse(self::$files) as $file) { - if (DIRECTORY_SEPARATOR === $file[strlen($file) - 1]) { - @rmdir($file); - } else { - @unlink($file); - } - } - } - - 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; - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/RecursiveDirectoryIteratorTest.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/RecursiveDirectoryIteratorTest.php deleted file mode 100644 index 412054b..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/RecursiveDirectoryIteratorTest.php +++ /dev/null @@ -1,83 +0,0 @@ - -* -* 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\Iterator\RecursiveDirectoryIterator; - -class RecursiveDirectoryIteratorTest extends IteratorTestCase -{ - /** - * @dataProvider getPaths - * - * @param string $path - * @param bool $seekable - * @param array $contains - * @param string $message - */ - public function testRewind($path, $seekable, $contains, $message = null) - { - try { - $i = new RecursiveDirectoryIterator($path, \RecursiveDirectoryIterator::SKIP_DOTS); - } catch (\UnexpectedValueException $e) { - $this->markTestSkipped(sprintf('Unsupported stream "%s".', $path)); - } - - $i->rewind(); - - $this->assertTrue(true, $message); - } - - /** - * @dataProvider getPaths - * - * @param string $path - * @param bool $seekable - * @param array $contains - * @param string $message - */ - public function testSeek($path, $seekable, $contains, $message = null) - { - try { - $i = new RecursiveDirectoryIterator($path, \RecursiveDirectoryIterator::SKIP_DOTS); - } catch (\UnexpectedValueException $e) { - $this->markTestSkipped(sprintf('Unsupported stream "%s".', $path)); - } - - $actual = array(); - - $i->seek(0); - $actual[] = $i->getPathname(); - - $i->seek(1); - $actual[] = $i->getPathname(); - - $i->seek(2); - $actual[] = $i->getPathname(); - - $this->assertEquals($contains, $actual); - } - - public function getPaths() - { - $data = array(); - - // ftp - $contains = array( - 'ftp://ftp.mozilla.org'.DIRECTORY_SEPARATOR.'README', - 'ftp://ftp.mozilla.org'.DIRECTORY_SEPARATOR.'index.html', - 'ftp://ftp.mozilla.org'.DIRECTORY_SEPARATOR.'pub', - ); - $data[] = array('ftp://ftp.mozilla.org/', false, $contains); - - return $data; - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/SizeRangeFilterIteratorTest.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/SizeRangeFilterIteratorTest.php deleted file mode 100644 index 8780db4..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/SizeRangeFilterIteratorTest.php +++ /dev/null @@ -1,68 +0,0 @@ - - * - * 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\Iterator\SizeRangeFilterIterator; -use Symfony\Component\Finder\Comparator\NumberComparator; - -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', - ); - - 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(); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/SortableIteratorTest.php b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/SortableIteratorTest.php deleted file mode 100644 index e2f433f..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/Tests/Iterator/SortableIteratorTest.php +++ /dev/null @@ -1,169 +0,0 @@ - - * - * 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\Iterator\SortableIterator; - -class SortableIteratorTest extends RealIteratorTestCase -{ - public function testConstructor() - { - try { - new SortableIterator(new Iterator(array()), 'foobar'); - $this->fail('__construct() throws an \InvalidArgumentException exception if the mode is not valid'); - } catch (\Exception $e) { - $this->assertInstanceOf('InvalidArgumentException', $e, '__construct() throws an \InvalidArgumentException exception if the mode is not valid'); - } - } - - /** - * @dataProvider getAcceptData - */ - public function testAccept($mode, $expected) - { - if (!is_callable($mode)) { - switch ($mode) { - case SortableIterator::SORT_BY_ACCESSED_TIME : - file_get_contents(self::toAbsolute('.git')); - sleep(1); - file_get_contents(self::toAbsolute('.bar')); - break; - case SortableIterator::SORT_BY_CHANGED_TIME : - file_put_contents(self::toAbsolute('test.php'), 'foo'); - sleep(1); - file_put_contents(self::toAbsolute('test.py'), 'foo'); - break; - case SortableIterator::SORT_BY_MODIFIED_TIME : - file_put_contents(self::toAbsolute('test.php'), 'foo'); - sleep(1); - file_put_contents(self::toAbsolute('test.py'), 'foo'); - break; - } - } - - $inner = new Iterator(self::$files); - - $iterator = new SortableIterator($inner, $mode); - - if ($mode === SortableIterator::SORT_BY_ACCESSED_TIME - || $mode === SortableIterator::SORT_BY_CHANGED_TIME - || $mode === SortableIterator::SORT_BY_MODIFIED_TIME) { - $this->assertOrderedIteratorForGroups($expected, $iterator); - } else { - $this->assertOrderedIterator($expected, $iterator); - } - } - - public function getAcceptData() - { - $sortByName = array( - '.bar', - '.foo', - '.foo/.bar', - '.foo/bar', - '.git', - 'foo', - 'foo bar', - 'foo/bar.tmp', - 'test.php', - 'test.py', - 'toto', - ); - - $sortByType = array( - '.foo', - '.git', - 'foo', - 'toto', - '.bar', - '.foo/.bar', - '.foo/bar', - 'foo bar', - 'foo/bar.tmp', - 'test.php', - 'test.py', - ); - - $customComparison = array( - '.bar', - '.foo', - '.foo/.bar', - '.foo/bar', - '.git', - 'foo', - 'foo bar', - 'foo/bar.tmp', - 'test.php', - 'test.py', - 'toto', - ); - - $sortByAccessedTime = array( - // For these two files the access time was set to 2005-10-15 - array('foo/bar.tmp', 'test.php'), - // These files were created more or less at the same time - array( - '.git', - '.foo', - '.foo/.bar', - '.foo/bar', - 'test.py', - 'foo', - 'toto', - 'foo bar', - ), - // This file was accessed after sleeping for 1 sec - array('.bar'), - ); - - $sortByChangedTime = array( - array( - '.git', - '.foo', - '.foo/.bar', - '.foo/bar', - '.bar', - 'foo', - 'foo/bar.tmp', - 'toto', - 'foo bar', - ), - array('test.php'), - array('test.py'), - ); - - $sortByModifiedTime = array( - array( - '.git', - '.foo', - '.foo/.bar', - '.foo/bar', - '.bar', - 'foo', - 'foo/bar.tmp', - 'toto', - 'foo bar', - ), - array('test.php'), - array('test.py'), - ); - - return array( - array(SortableIterator::SORT_BY_NAME, $this->toAbsolute($sortByName)), - array(SortableIterator::SORT_BY_TYPE, $this->toAbsolute($sortByType)), - array(SortableIterator::SORT_BY_ACCESSED_TIME, $this->toAbsolute($sortByAccessedTime)), - array(SortableIterator::SORT_BY_CHANGED_TIME, $this->toAbsolute($sortByChangedTime)), - array(SortableIterator::SORT_BY_MODIFIED_TIME, $this->toAbsolute($sortByModifiedTime)), - array(function (\SplFileInfo $a, \SplFileInfo $b) { return strcmp($a->getRealpath(), $b->getRealpath()); }, $this->toAbsolute($customComparison)), - ); - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/composer.json b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/composer.json deleted file mode 100644 index 9112218..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/composer.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "name": "symfony/finder", - "type": "library", - "description": "Symfony Finder Component", - "keywords": [], - "homepage": "http://symfony.com", - "license": "MIT", - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "http://symfony.com/contributors" - } - ], - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "symfony/phpunit-bridge": "~2.7" - }, - "autoload": { - "psr-0": { "Symfony\\Component\\Finder\\": "" } - }, - "target-dir": "Symfony/Component/Finder", - "minimum-stability": "dev", - "extra": { - "branch-alias": { - "dev-master": "2.6-dev" - } - } -} diff --git a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/phpunit.xml.dist b/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/phpunit.xml.dist deleted file mode 100644 index bc38cca..0000000 --- a/Aufgabe06/vendor/symfony/finder/Symfony/Component/Finder/phpunit.xml.dist +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - ./Tests/ - - - - - - ./ - - ./Tests - ./vendor - - - - -- cgit v1.2.3-70-g09d2