コード例 #1
0
ファイル: test.py プロジェクト: lecnim/rucola
    def test_not_from_list(self):
        """![]"""

        self.assertTrue(pathmatch('a.d', 'a.[!abc]'))
        self.assertTrue(not pathmatch('a.a', 'a.[!abc]'))
        self.assertTrue(not pathmatch('a.b', 'a.[!abc]'))
        self.assertTrue(not pathmatch('a.c', 'a.[!abc]'))
コード例 #2
0
ファイル: test.py プロジェクト: lecnim/rucola
    def test_anything(self):
        """*"""

        self.assertTrue(pathmatch('abc', 'a*'))
        self.assertTrue(pathmatch('a.a', 'a.*'))
        self.assertTrue(pathmatch('a.', 'a.*'))
        self.assertTrue(pathmatch('a.bar', 'a.*'))
        self.assertTrue(not pathmatch('b.a', 'a.*'))
        self.assertTrue(not pathmatch('a.foo/b', 'a.*'))
        self.assertTrue(pathmatch('a/b/c', 'a/*/c'))
        self.assertTrue(pathmatch('a/b/c.jpg', 'a/b/*.jpg'))
        self.assertTrue(pathmatch('test/apple', 'test/a*'))
        self.assertTrue(not pathmatch('test/apple/blabla', 'test/a*'))
コード例 #3
0
ファイル: test.py プロジェクト: lecnim/rucola
    def test_basic(self):

        self.assertTrue(pathmatch('a', 'a'))
        self.assertTrue(not pathmatch('abc', 'bcd'))
        self.assertTrue(pathmatch('/a/b/c', '/a/b/c'))
        self.assertTrue(pathmatch('a/a/a', 'a/a/a'))
        self.assertTrue(pathmatch('a/b/c', 'a/b/c'))
        self.assertTrue(not pathmatch('a/b', 'a/b/c'))
        self.assertTrue(not pathmatch('a/b/c', 'a/b'))

        # Problems with / on begin and end of a path
        self.assertTrue(not pathmatch('/a/b/c', 'a/b/c'))
        self.assertTrue(not pathmatch('a/b/c', 'a/b/'))
        self.assertTrue(not pathmatch('a/b/c', 'a/b/c/'))
コード例 #4
0
ファイル: test.py プロジェクト: lecnim/rucola
    def test_any_from_list(self):
        """[]"""

        self.assertTrue(pathmatch('a.a', 'a.[abc]'))
        self.assertTrue(pathmatch('a.b', 'a.[abc]'))
        self.assertTrue(pathmatch('a.c', 'a.[abc]'))
        self.assertTrue(pathmatch('/a/a/c', '/a/[ab]/c'))
        self.assertTrue(pathmatch('/a/b/c', '/a/[ab]/c'))
        self.assertTrue(not pathmatch('/a/ab/c', '/a/[ab]/c'))
        self.assertTrue(pathmatch('./1.gif', './[0-9].*'))
        self.assertTrue(pathmatch('./2.gif', './[0-9].*'))
        self.assertTrue(not pathmatch('./10.gif', './[0-9].*'))
コード例 #5
0
ファイル: test.py プロジェクト: lecnim/rucola
    def test_recursively(self):
        """**"""

        p = 'a/**'

        self.assertTrue(not pathmatch('a', p))
        self.assertTrue(pathmatch('a/a', p))
        self.assertTrue(pathmatch('a/b', p))
        self.assertTrue(pathmatch('a/b/c', p))
        self.assertTrue(pathmatch('a/a.py', p))
        self.assertTrue(pathmatch('a/bb', p))
        self.assertTrue(not pathmatch('b', p))

        self.assertTrue(pathmatch('a/b/c/d', 'a/**/d'))
        self.assertTrue(not pathmatch('a/b', '**/a/*'))
        self.assertTrue(pathmatch('a/b/c.jpg', '**/*.jpg'))
        self.assertTrue(not pathmatch('a/b/c.jpg', '*.jpg'))

        p = 'a*/**'

        self.assertTrue(pathmatch('a/', p))
        self.assertTrue(not pathmatch('a', p))
        self.assertTrue(pathmatch('a/b/', p))
        self.assertTrue(pathmatch('a/b', p))
        self.assertTrue(pathmatch('ab/', p))
        self.assertTrue(pathmatch('a/b/c', p))
        self.assertTrue(pathmatch('a/b/c/a.jpg', p))
        self.assertTrue(pathmatch('a/bb', p))

        p = '**/*.py'

        self.assertTrue(pathmatch('a/test.py', p))
        self.assertTrue(pathmatch('a/b/x.py', p))
        self.assertTrue(pathmatch('file.py', p))
        self.assertTrue(pathmatch('/file.py', p))
        self.assertTrue(not pathmatch('file.txt', p))
        self.assertTrue(not pathmatch('a/b/py', p))

        p = '**/*'

        self.assertTrue(pathmatch('a', p))
        self.assertTrue(pathmatch('a/a', p))
        self.assertTrue(pathmatch('a/b/c', p))
        self.assertTrue(pathmatch('x.py', p))
        self.assertTrue(pathmatch('a/b/x.py', p))
        self.assertTrue(pathmatch('/a', '**/*'))

        self.assertTrue(not pathmatch('a', '/**/*'))

        p = '**/'

        self.assertTrue(pathmatch('a/', p))
        self.assertTrue(pathmatch('a/b/', p))
        self.assertTrue(pathmatch('b/', p))
        self.assertTrue(not pathmatch('a', p))
        self.assertTrue(not pathmatch('file.txt', p))
        self.assertTrue(not pathmatch('a/bar.py', p))

        p = '../a/**/*.py'

        self.assertTrue(pathmatch('../a/bar.py', p))
        self.assertTrue(pathmatch('../a/foo/hello.py', p))
        self.assertTrue(not pathmatch('../a/foo/apple.txt', p))

        p = '**/bar.py'

        self.assertTrue(pathmatch('bar.py', p))
        self.assertTrue(pathmatch('a/bar.py', p))
        self.assertTrue(pathmatch('b/bar.py', p))
        self.assertTrue(not pathmatch('a/bar', p))

        p = '**'

        self.assertTrue(pathmatch('bar.py', p))
        self.assertTrue(pathmatch('foo', p))
        self.assertTrue(pathmatch('foo/hello.py', p))
        self.assertTrue(pathmatch('foo/world.txt', p))
コード例 #6
0
ファイル: test.py プロジェクト: lecnim/rucola
    def test_any_char(self):
        """?"""

        self.assertTrue(pathmatch('ab', 'a?'))
        self.assertTrue(not pathmatch('ba', 'a?'))