summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
authorGregory P. Smith <greg@mad-scientist.com>2009-11-01 20:36:24 (GMT)
committerGregory P. Smith <greg@mad-scientist.com>2009-11-01 20:36:24 (GMT)
commit6c4a725a37611fa60efe36f7e85ba8fbeab6dd15 (patch)
tree468771bfaf287cdf2b62edf6ece9a902cba59b3d /Lib/test
parentfc1c75d93f1fa1b911542afec46edd31506ff47c (diff)
downloadcpython-6c4a725a37611fa60efe36f7e85ba8fbeab6dd15.zip
cpython-6c4a725a37611fa60efe36f7e85ba8fbeab6dd15.tar.gz
cpython-6c4a725a37611fa60efe36f7e85ba8fbeab6dd15.tar.bz2
Merged revisions 74476 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/py3k ................ r74476 | gregory.p.smith | 2009-08-16 11:58:46 -0700 (Sun, 16 Aug 2009) | 9 lines Merged revisions 74475 via svnmerge from svn+ssh://pythondev@svn.python.org/python/trunk ........ r74475 | gregory.p.smith | 2009-08-16 11:52:58 -0700 (Sun, 16 Aug 2009) | 2 lines Issue 6665: Fix fnmatch to properly match filenames with newlines in them. ........ ................
Diffstat (limited to 'Lib/test')
-rw-r--r--Lib/test/test_fnmatch.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/Lib/test/test_fnmatch.py b/Lib/test/test_fnmatch.py
index 2f701ca..506c679 100644
--- a/Lib/test/test_fnmatch.py
+++ b/Lib/test/test_fnmatch.py
@@ -32,11 +32,18 @@ class FnmatchTestCase(unittest.TestCase):
check('a', 'b', 0)
# these test that '\' is handled correctly in character sets;
- # see SF bug #???
+ # see SF bug #409651
check('\\', r'[\]')
check('a', r'[!\]')
check('\\', r'[!\]', 0)
+ # test that filenames with newlines in them are handled correctly.
+ # http://bugs.python.org/issue6665
+ check('foo\nbar', 'foo*')
+ check('foo\nbar\n', 'foo*')
+ check('\nfoo', 'foo*', False)
+ check('\n', '*')
+
def test_mix_bytes_str(self):
self.assertRaises(TypeError, fnmatch, 'test', b'*')
self.assertRaises(TypeError, fnmatch, b'test', '*')
@@ -46,6 +53,8 @@ class FnmatchTestCase(unittest.TestCase):
def test_bytes(self):
self.check_match(b'test', b'te*')
self.check_match(b'test\xff', b'te*\xff')
+ self.check_match(b'foo\nbar', b'foo*')
+
def test_main():
support.run_unittest(FnmatchTestCase)