From 0b5bd625ebca8f88ce6bf62ea65a2a2c0fb8a2e3 Mon Sep 17 00:00:00 2001 From: Valentin Lorentz Date: Sun, 25 Aug 2019 00:07:24 +0200 Subject: [PATCH] Add test for simple registry value inheritance. --- src/registry.py | 2 ++ test/test_registry.py | 30 ++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/src/registry.py b/src/registry.py index b7ceb7d25..c37bf0312 100644 --- a/src/registry.py +++ b/src/registry.py @@ -340,6 +340,8 @@ class Value(Group): self._showDefault = showDefault self._help = utils.str.normalizeWhitespace(help.strip()) self._callbacks = [] + self._networkValue = False + self._channelValue = False if setDefault: self.setValue(default) diff --git a/test/test_registry.py b/test/test_registry.py index 5ef40458c..6274a89fb 100644 --- a/test/test_registry.py +++ b/test/test_registry.py @@ -232,4 +232,34 @@ class SecurityTestCase(SupyTestCase): self.assertFalse(g._private) self.assertTrue(g.val._private) + +class InheritanceTestCase(SupyTestCase): + def testChild(self): + parent = registry.String('foo', 'help') + parent._supplyDefault = True + self.assertTrue(parent._wasSet) + self.assertEqual(parent(), 'foo') + + child = parent.get('child') + self.assertFalse(child._wasSet) + self.assertEqual(child(), 'foo') + + parent.setValue('bar') + self.assertTrue(parent._wasSet) + self.assertEqual(parent(), 'bar') + self.assertFalse(child._wasSet) + self.assertEqual(child(), 'bar') # Takes the new parent value + + child.setValue('baz') + self.assertTrue(parent._wasSet) + self.assertEqual(parent(), 'bar') + self.assertTrue(child._wasSet) + self.assertEqual(child(), 'baz') + + parent.setValue('qux') + self.assertTrue(parent._wasSet) + self.assertEqual(parent(), 'qux') + self.assertTrue(child._wasSet) + self.assertEqual(child(), 'baz') # Keeps its own value + # vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79: