mirror of
https://github.com/Mikaela/Limnoria.git
synced 2024-12-23 03:02:52 +01:00
registry: Make subvalues inherit privacy. Closes GH-519.
This commit is contained in:
parent
16b95bb244
commit
359d3c633d
@ -252,7 +252,9 @@ class Group(object):
|
||||
if not isValidRegistryName(name):
|
||||
raise InvalidRegistryName, name
|
||||
if node is None:
|
||||
node = Group()
|
||||
node = Group(private=self._private)
|
||||
else:
|
||||
node._private = node._private or self._private
|
||||
# We tried in any number of horrible ways to make it so that
|
||||
# re-registering something would work. It doesn't, plain and simple.
|
||||
# For the longest time, we had an "Is this right?" comment here, but
|
||||
|
@ -199,4 +199,29 @@ class ValuesTestCase(SupyTestCase):
|
||||
self.assertEqual(v(), 'bar')
|
||||
self.assertEqual(v(), 'foo')
|
||||
|
||||
class SecurityTestCase(SupyTestCase):
|
||||
def testPrivate(self):
|
||||
v = registry.String('foo', 'help')
|
||||
self.assertFalse(v._private)
|
||||
v = registry.String('foo', 'help', private=True)
|
||||
self.assertTrue(v._private)
|
||||
|
||||
g = registry.Group('foo')
|
||||
v = registry.String('foo', 'help')
|
||||
g.register('val', v)
|
||||
self.assertFalse(g._private)
|
||||
self.assertFalse(g.val._private)
|
||||
|
||||
g = registry.Group('foo', private=True)
|
||||
v = registry.String('foo', 'help')
|
||||
g.register('val', v)
|
||||
self.assertTrue(g._private)
|
||||
self.assertTrue(g.val._private)
|
||||
|
||||
g = registry.Group('foo')
|
||||
v = registry.String('foo', 'help', private=True)
|
||||
g.register('val', v)
|
||||
self.assertFalse(g._private)
|
||||
self.assertTrue(g.val._private)
|
||||
|
||||
# vim:set shiftwidth=4 softtabstop=4 expandtab textwidth=79:
|
||||
|
Loading…
Reference in New Issue
Block a user