From b50a01db7dd5fae044d719e1e53318ec4c572949 Mon Sep 17 00:00:00 2001 From: Jeremy Fincher Date: Tue, 23 Sep 2003 17:04:53 +0000 Subject: [PATCH] Made sure IrcUser.removeCapability raises KeyError on capabilities the user doesn't have. --- src/ircdb.py | 3 +-- test/test_ircdb.py | 4 ++++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/ircdb.py b/src/ircdb.py index a8cb2df29..8d703bad1 100644 --- a/src/ircdb.py +++ b/src/ircdb.py @@ -194,8 +194,7 @@ class IrcUser(object): self.capabilities.add(capability) def removeCapability(self, capability): - if capability in self.capabilities: - self.capabilities.remove(capability) + self.capabilities.remove(capability) def checkCapability(self, capability): if self.ignore: diff --git a/test/test_ircdb.py b/test/test_ircdb.py index 277ca29f1..cea6bbb1c 100644 --- a/test/test_ircdb.py +++ b/test/test_ircdb.py @@ -223,6 +223,10 @@ class IrcUserTestCase(unittest.TestCase): self.failIf(u.checkCapability('foo')) self.failUnless(u.checkCapability('!foo')) + def testRemoveCapability(self): + u = ircdb.IrcUser(capabilities=('foo',)) + self.assertRaises(KeyError, u.removeCapability, 'bar') + class IrcChannelTestCase(unittest.TestCase): def testInit(self): c = ircdb.IrcChannel()