From 3179a8d8bc5b9f98ac8f7966ee356d0f01ef1663 Mon Sep 17 00:00:00 2001 From: Jeremy Fincher Date: Mon, 1 Dec 2003 21:27:26 +0000 Subject: [PATCH] Fixed the case problem in User.list. --- src/User.py | 4 +++- test/test_User.py | 7 +++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/User.py b/src/User.py index 840b6ac98..60e500085 100755 --- a/src/User.py +++ b/src/User.py @@ -37,6 +37,7 @@ __revision__ = "$Id$" import fix +import re import getopt import string import fnmatch @@ -66,8 +67,9 @@ class User(callbacks.Privmsg): if glob: if '*' not in glob and '?' not in glob: glob = '*%s*' % glob + r = re.compile(fnmatch.translate(glob), re.I) def p(s): - return fnmatch.fnmatch(s, glob) + return r.match(s) is not None else: def p(s): return True diff --git a/test/test_User.py b/test/test_User.py index 94ca36a19..645a5b645 100644 --- a/test/test_User.py +++ b/test/test_User.py @@ -59,6 +59,13 @@ class UserTestCase(PluginTestCase, PluginDocumentation): self.assertResponse('user list', 'foo') self.assertNotError('unregister foo bar') self.assertRegexp('user list', 'no registered users') + self.assertRegexp('user list asdlfkjasldkj', 'no matching registered') + + def testListHandlesCaps(self): + self.prefix = self.prefix1 + self.assertNotError('register Foo bar') + self.assertResponse('user list', 'Foo') + self.assertResponse('user list f*', 'Foo') def testChangeUsername(self): self.prefix = self.prefix1