@@ -296,88 +296,6 @@ def test_str_windows(self):
296296 p = self .cls ('//a/b/c/d' )
297297 self .assertEqual (str (p ), '\\ \\ a\\ b\\ c\\ d' )
298298
299- def test_match_empty (self ):
300- P = self .cls
301- self .assertRaises (ValueError , P ('a' ).match , '' )
302-
303- def test_match_common (self ):
304- P = self .cls
305- # Simple relative pattern.
306- self .assertTrue (P ('b.py' ).match ('b.py' ))
307- self .assertTrue (P ('a/b.py' ).match ('b.py' ))
308- self .assertTrue (P ('/a/b.py' ).match ('b.py' ))
309- self .assertFalse (P ('a.py' ).match ('b.py' ))
310- self .assertFalse (P ('b/py' ).match ('b.py' ))
311- self .assertFalse (P ('/a.py' ).match ('b.py' ))
312- self .assertFalse (P ('b.py/c' ).match ('b.py' ))
313- # Wildcard relative pattern.
314- self .assertTrue (P ('b.py' ).match ('*.py' ))
315- self .assertTrue (P ('a/b.py' ).match ('*.py' ))
316- self .assertTrue (P ('/a/b.py' ).match ('*.py' ))
317- self .assertFalse (P ('b.pyc' ).match ('*.py' ))
318- self .assertFalse (P ('b./py' ).match ('*.py' ))
319- self .assertFalse (P ('b.py/c' ).match ('*.py' ))
320- # Multi-part relative pattern.
321- self .assertTrue (P ('ab/c.py' ).match ('a*/*.py' ))
322- self .assertTrue (P ('/d/ab/c.py' ).match ('a*/*.py' ))
323- self .assertFalse (P ('a.py' ).match ('a*/*.py' ))
324- self .assertFalse (P ('/dab/c.py' ).match ('a*/*.py' ))
325- self .assertFalse (P ('ab/c.py/d' ).match ('a*/*.py' ))
326- # Absolute pattern.
327- self .assertTrue (P ('/b.py' ).match ('/*.py' ))
328- self .assertFalse (P ('b.py' ).match ('/*.py' ))
329- self .assertFalse (P ('a/b.py' ).match ('/*.py' ))
330- self .assertFalse (P ('/a/b.py' ).match ('/*.py' ))
331- # Multi-part absolute pattern.
332- self .assertTrue (P ('/a/b.py' ).match ('/a/*.py' ))
333- self .assertFalse (P ('/ab.py' ).match ('/a/*.py' ))
334- self .assertFalse (P ('/a/b/c.py' ).match ('/a/*.py' ))
335- # Multi-part glob-style pattern.
336- self .assertFalse (P ('/a/b/c.py' ).match ('/**/*.py' ))
337- self .assertTrue (P ('/a/b/c.py' ).match ('/a/**/*.py' ))
338- # Case-sensitive flag
339- self .assertFalse (P ('A.py' ).match ('a.PY' , case_sensitive = True ))
340- self .assertTrue (P ('A.py' ).match ('a.PY' , case_sensitive = False ))
341- self .assertFalse (P ('c:/a/B.Py' ).match ('C:/A/*.pY' , case_sensitive = True ))
342- self .assertTrue (P ('/a/b/c.py' ).match ('/A/*/*.Py' , case_sensitive = False ))
343- # Matching against empty path
344- self .assertFalse (P ('' ).match ('*' ))
345- self .assertFalse (P ('' ).match ('**' ))
346- self .assertFalse (P ('' ).match ('**/*' ))
347-
348- @needs_posix
349- def test_match_posix (self ):
350- P = self .cls
351- self .assertFalse (P ('A.py' ).match ('a.PY' ))
352-
353- @needs_windows
354- def test_match_windows (self ):
355- P = self .cls
356- # Absolute patterns.
357- self .assertTrue (P ('c:/b.py' ).match ('*:/*.py' ))
358- self .assertTrue (P ('c:/b.py' ).match ('c:/*.py' ))
359- self .assertFalse (P ('d:/b.py' ).match ('c:/*.py' )) # wrong drive
360- self .assertFalse (P ('b.py' ).match ('/*.py' ))
361- self .assertFalse (P ('b.py' ).match ('c:*.py' ))
362- self .assertFalse (P ('b.py' ).match ('c:/*.py' ))
363- self .assertFalse (P ('c:b.py' ).match ('/*.py' ))
364- self .assertFalse (P ('c:b.py' ).match ('c:/*.py' ))
365- self .assertFalse (P ('/b.py' ).match ('c:*.py' ))
366- self .assertFalse (P ('/b.py' ).match ('c:/*.py' ))
367- # UNC patterns.
368- self .assertTrue (P ('//some/share/a.py' ).match ('//*/*/*.py' ))
369- self .assertTrue (P ('//some/share/a.py' ).match ('//some/share/*.py' ))
370- self .assertFalse (P ('//other/share/a.py' ).match ('//some/share/*.py' ))
371- self .assertFalse (P ('//some/share/a/b.py' ).match ('//some/share/*.py' ))
372- # Case-insensitivity.
373- self .assertTrue (P ('B.py' ).match ('b.PY' ))
374- self .assertTrue (P ('c:/a/B.Py' ).match ('C:/A/*.pY' ))
375- self .assertTrue (P ('//Some/Share/B.Py' ).match ('//somE/sharE/*.pY' ))
376- # Path anchor doesn't match pattern anchor
377- self .assertFalse (P ('c:/b.py' ).match ('/*.py' )) # 'c:/' vs '/'
378- self .assertFalse (P ('c:/b.py' ).match ('c:*.py' )) # 'c:/' vs 'c:'
379- self .assertFalse (P ('//some/share/a.py' ).match ('/*.py' )) # '//some/share/' vs '/'
380-
381299 def test_full_match_common (self ):
382300 P = self .cls
383301 # Simple relative pattern.
0 commit comments