api/symfony/Component/Finder/Tests/GitignoreTest.yaml
2024-09-26 02:03:21 -07:00

132 lines
9.2 KiB
YAML

name: GitignoreTest
class_comment: "# * @author Michael Vo\u0159\xED\u0161ek <vorismi3@fel.cvut.cz>"
dependencies:
- name: TestCase
type: class
source: PHPUnit\Framework\TestCase
- name: Gitignore
type: class
source: Symfony\Component\Finder\Gitignore
properties: []
methods:
- name: testToRegex
visibility: public
parameters:
- name: gitignoreLines
- name: matchingCases
- name: nonMatchingCases
comment: "# * @author Michael Vo\u0159\xED\u0161ek <vorismi3@fel.cvut.cz>\n# */\n\
# class GitignoreTest extends TestCase\n# {\n# /**\n# * @dataProvider provider\n\
# * @dataProvider providerExtended"
- name: provider
visibility: public
parameters: []
comment: null
- name: testToRegexMatchingNegatedPatterns
visibility: public
parameters:
- name: gitignoreLines
- name: matchingCases
- name: nonMatchingCases
comment: "# ', 'p/**/', 'x**y'],\n# ['a', 'a/b', 'a/b/c', 'm/', 'o/', 'p/', 'xy',\
\ 'xuy', 'x/y', 'x/u/y', 'xu/y', 'x/uy', 'xu/uy'],\n# ['aa', 'm', 'b/m', 'b/m/',\
\ 'o', 'b/o', 'b/o/', 'p', 'b/p', 'b/p/'],\n# ],\n# [\n# ['a', '!x'],\n# ['a',\
\ 'a/b', 'a/b/c', 'b/a', 'b/c/a'],\n# ['x', 'aa', 'm.txt', '.txt', 'aa/b', 'b/aa'],\n\
# ],\n# [\n# ['a', '!a/', 'b', '!b/b'],\n# ['a', 'a/x', 'x/a', 'x/a/x', 'b', 'b'],\n\
# ['a/', 'x/a/', 'bb', 'b/b', 'bb'],\n# ],\n# [\n# ['[a-c]', 'x[C-E][][o]', 'g-h'],\n\
# ['a', 'b', 'c', 'xDo', 'g-h'],\n# ['A', 'xdo', 'u', 'g', 'h'],\n# ],\n# [\n\
# ['a?', '*/??b?'],\n# ['ax', 'x/xxbx'],\n# ['a', 'axy', 'xxax', 'x/xxax', 'x/y/xxax'],\n\
# ],\n# [\n# [' ', ' \\ ', ' \\ ', '/a ', '/b/c \\ '],\n# [' ', ' ', 'x/\
\ ', 'x/ ', 'a', 'a/x', 'b/c '],\n# [' ', ' ', 'x/ ', 'x/ ', 'a ', 'b/c\
\ '],\n# ],\n# [\n# ['#', ' #', '/ #', ' #', '/ #', ' \\ #', ' \\ #',\
\ 'a #', 'a #', 'a \\ #', 'a \\ #'],\n# [' ', ' ', 'a', 'a ', 'a \
\ '],\n# [' ', ' ', 'a ', 'a '],\n# ],\n# [\n# [\"\\t\", \"\\t\\\\\\t\", \"\
\ \\t\\\\\\t \", \"\\t#\", \"a\\t#\", \"a\\t\\t#\", \"a \\t#\", \"a\\t\\t\\\\\\\
t#\", \"a \\t\\t\\\\\\t\\t#\"],\n# [\"\\t\\t\", \" \\t\\t\", 'a', \"a\\t\\t\\\
t\", \"a \\t\\t\\t\"],\n# [\"\\t\", \"\\t\\t \", \" \\t\\t \", \"a\\t\", 'a ',\
\ \"a \\t\", \"a\\t\\t\"],\n# ],\n# [\n# [' a', 'b ', '\\ ', 'c\\ '],\n# [' a',\
\ 'b', ' ', 'c '],\n# ['a', 'b ', 'c'],\n# ],\n# [\n# ['#a', '\\#b', '\\#/'],\n\
# ['#b', '#/'],\n# ['#a', 'a', 'b'],\n# ],\n# [\n# ['*', '!!', '!!*x', '\\!!b'],\n\
# ['a', '!!', '!!b'],\n# ['!', '!x', '!xx'],\n# ],\n# [\n# [\n# '*',\n# '!/bin',\n\
# '!/bin/bash',\n# ],\n# ['bin/cat', 'abc/bin/cat'],\n# ['bin/bash'],\n# ],\n\
# [\n# ['fi#le.txt'],\n# [],\n# ['#file.txt'],\n# ],\n# [\n# [\n# '/bin/',\n#\
\ '/usr/local/',\n# '!/bin/bash',\n# '!/usr/local/bin/bash',\n# ],\n# ['bin/cat'],\n\
# ['bin/bash'],\n# ],\n# [\n# ['*.py[co]'],\n# ['file.pyc', 'file.pyc'],\n# ['filexpyc',\
\ 'file.pycx', 'file.py'],\n# ],\n# [\n# ['dir1/**/dir2/'],\n# ['dir1/dir2/',\
\ 'dir1/dirA/dir2/', 'dir1/dirA/dirB/dir2/'],\n# ['dir1dir2/', 'dir1xdir2/', 'dir1/xdir2/',\
\ 'dir1x/dir2/'],\n# ],\n# [\n# ['dir1/*/dir2/'],\n# ['dir1/dirA/dir2/'],\n# ['dir1/dirA/dirB/dir2/'],\n\
# ],\n# [\n# ['/*.php'],\n# ['file.php'],\n# ['app/file.php'],\n# ],\n# [\n# ['\\\
#file.txt'],\n# ['#file.txt'],\n# [],\n# ],\n# [\n# ['*.php'],\n# ['app/file.php',\
\ 'file.php'],\n# ['file.phps', 'file.phps', 'filephps'],\n# ],\n# [\n# ['app/cache/'],\n\
# ['app/cache/file.txt', 'app/cache/dir1/dir2/file.txt'],\n# ['a/app/cache/file.txt'],\n\
# ],\n# [\n# ['#IamComment', '/app/cache/'],\n# ['app/cache/file.txt', 'app/cache/subdir/ile.txt'],\n\
# ['a/app/cache/file.txt', '#IamComment', 'IamComment'],\n# ],\n# [\n# ['/app/cache/',\
\ '#LastLineIsComment'],\n# ['app/cache/file.txt', 'app/cache/subdir/ile.txt'],\n\
# ['a/app/cache/file.txt', '#LastLineIsComment', 'LastLineIsComment'],\n# ],\n\
# [\n# ['/app/cache/', '\\#file.txt', '#LastLineIsComment'],\n# ['app/cache/file.txt',\
\ 'app/cache/subdir/ile.txt', '#file.txt'],\n# ['a/app/cache/file.txt', '#LastLineIsComment',\
\ 'LastLineIsComment'],\n# ],\n# [\n# ['/app/cache/', '\\#file.txt', '#IamComment',\
\ 'another_file.txt'],\n# ['app/cache/file.txt', 'app/cache/subdir/ile.txt', '#file.txt',\
\ 'another_file.txt'],\n# ['a/app/cache/file.txt', 'IamComment', '#IamComment'],\n\
# ],\n# [\n# [\n# '/app/**',\n# '!/app/bin',\n# '!/app/bin/test',\n# ],\n# ['app/test/file',\
\ 'app/bin/file'],\n# ['app/bin/test'],\n# ],\n# [\n# [\n# '/app/*/img',\n# '!/app/*/img/src',\n\
# ],\n# ['app/a/img', 'app/a/img/x', 'app/a/img/src/x'],\n# ['app/a/img/src',\
\ 'app/a/img/src/'],\n# ],\n# [\n# [\n# 'app/**/img',\n# '!/app/**/img/src',\n\
# ],\n# ['app/a/img', 'app/a/img/x', 'app/a/img/src/x', 'app/a/b/img', 'app/a/b/img/x',\
\ 'app/a/b/img/src/x', 'app/a/b/c/img'],\n# ['app/a/img/src', 'app/a/b/img/src',\
\ 'app/a/c/b/img/src'],\n# ],\n# [\n# [\n# '/*',\n# '!/foo',\n# '/foo/*',\n# '!/foo/bar',\n\
# ],\n# ['bar', 'foo/ba', 'foo/barx', 'x/foo/bar'],\n# ['foo', 'foo/bar'],\n#\
\ ],\n# [\n# [\n# '/example/**',\n# '!/example/example.txt',\n# '!/example/packages',\n\
# ],\n# ['example/test', 'example/example.txt2', 'example/packages/foo.yaml'],\n\
# ['example/example.txt', 'example/packages', 'example/packages/'],\n# ],\n# //\
\ based on https://www.atlassian.com/git/tutorials/saving-changes/gitignore\n\
# [\n# ['**/logs'],\n# ['logs/debug.log', 'logs/monday/foo.bar'],\n# [],\n# ],\n\
# [\n# ['**/logs/debug.log'],\n# ['logs/debug.log', 'build/logs/debug.log'],\n\
# ['logs/build/debug.log'],\n# ],\n# [\n# ['*.log'],\n# ['debug.log', 'foo.log',\
\ '.log', 'logs/debug.log'],\n# [],\n# ],\n# [\n# [\n# '*.log',\n# '!important.log',\n\
# ],\n# ['debug.log', 'trace.log'],\n# ['important.log', 'logs/important.log'],\n\
# ],\n# [\n# [\n# '*.log',\n# '!important/*.log',\n# 'trace.*',\n# ],\n# ['debug.log',\
\ 'important/trace.log'],\n# ['important/debug.log'],\n# ],\n# [\n# ['/debug.log'],\n\
# ['debug.log'],\n# ['logs/debug.log'],\n# ],\n# [\n# ['debug.log'],\n# ['debug.log',\
\ 'logs/debug.log'],\n# [],\n# ],\n# [\n# ['debug?.log'],\n# ['debug0.log', 'debugg.log'],\n\
# ['debug10.log'],\n# ],\n# [\n# ['debug[0-9].log'],\n# ['debug0.log', 'debug1.log'],\n\
# ['debug10.log'],\n# ],\n# [\n# ['debug[01].log'],\n# ['debug0.log', 'debug1.log'],\n\
# ['debug2.log', 'debug01.log'],\n# ],\n# [\n# ['debug[!01].log'],\n# ['debug2.log'],\n\
# ['debug0.log', 'debug1.log', 'debug01.log'],\n# ],\n# [\n# ['debug[a-z].log'],\n\
# ['debuga.log', 'debugb.log'],\n# ['debug1.log'],\n# ],\n# [\n# ['logs'],\n#\
\ ['logs', 'logs/debug.log', 'logs/latest/foo.bar', 'build/logs', 'build/logs/debug.log'],\n\
# [],\n# ],\n# [\n# ['logs/'],\n# ['logs/debug.log', 'logs/latest/foo.bar', 'build/logs/foo.bar',\
\ 'build/logs/latest/debug.log'],\n# [],\n# ],\n# [\n# [\n# 'logs/',\n# '!logs/important.log',\n\
# ],\n# ['logs/debug.log'/* must be pruned on traversal 'logs/important.log' */],\n\
# [],\n# ],\n# [\n# ['logs/**/debug.log'],\n# ['logs/debug.log', 'logs/monday/debug.log',\
\ 'logs/monday/pm/debug.log'],\n# [],\n# ],\n# [\n# ['logs/*day/debug.log'],\n\
# ['logs/monday/debug.log', 'logs/tuesday/debug.log'],\n# ['logs/latest/debug.log'],\n\
# ],\n# [\n# ['logs/debug.log'],\n# ['logs/debug.log'],\n# ['debug.log', 'build/logs/debug.log'],\n\
# ],\n# [\n# ['*/vendor/*'],\n# ['a/vendor/', 'a/vendor/b', 'a/vendor/b/c'],\n\
# ['a', 'vendor', 'vendor/', 'a/vendor', 'a/b/vendor', 'a/b/vendor/c'],\n# ],\n\
# [\n# ['**/vendor/**'],\n# ['vendor/', 'vendor/a', 'vendor/a/b', 'a/b/vendor/c/d'],\n\
# ['a', 'vendor', 'a/vendor', 'a/b/vendor'],\n# ],\n# [\n# ['***/***/vendor/*****/*****'],\n\
# ['vendor/', 'vendor/a', 'vendor/a/b', 'a/b/vendor/c/d'],\n# ['a', 'vendor',\
\ 'a/vendor', 'a/b/vendor'],\n# ],\n# [\n# ['**vendor**'],\n# ['vendor', 'vendor/',\
\ 'vendor/a', 'vendor/a/b', 'a/vendor', 'a/b/vendor', 'a/b/vendor/c/d'],\n# ['a'],\n\
# ],\n# ];\n# \n# return $cases;\n# }\n# \n# public static function providerExtended():\
\ array\n# {\n# $basicCases = self::provider();\n# \n# $cases = [];\n# foreach\
\ ($basicCases as $case) {\n# $cases[] = [\n# array_merge(['never'], $case[0],\
\ ['!never']),\n# $case[1],\n# $case[2],\n# ];\n# \n# $cases[] = [\n# array_merge(['!*'],\
\ $case[0]),\n# $case[1],\n# $case[2],\n# ];\n# \n# $cases[] = [\n# array_merge(['*',\
\ '!*'], $case[0]),\n# $case[1],\n# $case[2],\n# ];\n# \n# $cases[] = [\n# array_merge(['never',\
\ '**/never2', 'never3/**'], $case[0]),\n# $case[1],\n# $case[2],\n# ];\n# \n\
# $cases[] = [\n# array_merge(['!never', '!**/never2', '!never3/**'], $case[0]),\n\
# $case[1],\n# $case[2],\n# ];\n# \n# $lines = [];\n# for ($i = 0; $i < 30; ++$i)\
\ {\n# foreach ($case[0] as $line) {\n# $lines[] = $line;\n# }\n# }\n# $cases[]\
\ = [\n# array_merge(['!never', '!**/never2', '!never3/**'], $lines),\n# $case[1],\n\
# $case[2],\n# ];\n# }\n# \n# return $cases;\n# }\n# \n# /**\n# * @dataProvider\
\ provideNegatedPatternsCases"
- name: provideNegatedPatternsCases
visibility: public
parameters: []
comment: null
traits:
- PHPUnit\Framework\TestCase
- Symfony\Component\Finder\Gitignore
interfaces: []