From 23417b0675ad9de26443108c6b52a8f8b62cbe9e Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sat, 5 Sep 2020 22:02:53 +0200 Subject: [PATCH] registry: Fix regression preventing default None value for Regexp. --- src/registry.py | 12 +++++++++--- test/test_registry.py | 2 -- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/registry.py b/src/registry.py index a87532a27..0cfd00cca 100644 --- a/src/registry.py +++ b/src/registry.py @@ -768,17 +768,23 @@ class Regexp(Value): # value of there parent change. v = (s, utils.str.perlReToPythonRe(s)) else: - v = ('', '') + v = None except ValueError as e: self.error(e) else: super().set(v) def __call__(self): - return self.value[1] + if self.value is None: + return None + else: + return self.value[1] def __str__(self): - return self.value[0] + if self.value is None: + return '' + else: + return self.value[0] class SeparatedListOf(Value): __slots__ = () diff --git a/test/test_registry.py b/test/test_registry.py index 70ccba87e..826db4fd4 100644 --- a/test/test_registry.py +++ b/test/test_registry.py @@ -182,8 +182,6 @@ class ValuesTestCase(SupyTestCase): self.assertTrue(v().match('foo')) v.set('') self.assertEqual(v(), None) - self.assertRaises(registry.InvalidRegistryValue, - v.setValue, re.compile(r'foo')) def testBackslashesKeys(self): conf.supybot.reply.whenAddressedBy.strings.get(':foo').set('=/*')