Alias: Fix @remove for escaped aliases.

This commit is contained in:
Valentin Lorentz 2013-07-31 19:28:18 +02:00
parent 33a236079f
commit b09245a1c6
2 changed files with 12 additions and 1 deletions

View File

@ -359,7 +359,11 @@ class Alias(callbacks.Plugin):
if name in self.aliases and self.isCommandMethod(name):
if evenIfLocked or not self.aliases[name][1]:
del self.aliases[name]
conf.supybot.plugins.Alias.aliases.unregister(name)
if '.' in name or '|' in name:
conf.supybot.plugins.Alias.escapedaliases.unregister(
escapeAlias(name))
else:
conf.supybot.plugins.Alias.aliases.unregister(name)
else:
raise AliasError, 'That alias is locked.'
else:

View File

@ -147,6 +147,13 @@ class EscapedAliasTestCase(ChannelPluginTestCase):
self.assertNotError('alias add spam|egg echo hey')
self.assertResponse('spam|egg', 'hey')
self.assertNotError('alias remove spam.egg')
self.assertError('spam.egg')
self.assertNotError('spam|egg')
self.assertNotError('alias remove spam|egg')
self.assertError('spam.egg')
self.assertError('spam|egg')
def testWriteDatabase(self):
self.assertNotError('alias add fooo.spam echo egg')
self.assertResponse('fooo.spam', 'egg')