mirror of
https://github.com/python/cpython.git
synced 2025-12-15 21:44:50 +00:00
that have __private names in their __slots__.
This commit is contained in:
parent
43f08a85e4
commit
22ec80bc4f
3 changed files with 45 additions and 2 deletions
|
|
@ -8,6 +8,22 @@ class C:
|
|||
pass
|
||||
|
||||
|
||||
class WithoutSlots(object):
|
||||
pass
|
||||
|
||||
class WithWeakref(object):
|
||||
__slots__ = ('__weakref__',)
|
||||
|
||||
class WithPrivate(object):
|
||||
__slots__ = ('__spam',)
|
||||
|
||||
class WithSingleString(object):
|
||||
__slots__ = 'spam'
|
||||
|
||||
class WithInherited(WithSingleString):
|
||||
__slots__ = ('eggs',)
|
||||
|
||||
|
||||
class CopyRegTestCase(unittest.TestCase):
|
||||
|
||||
def test_class(self):
|
||||
|
|
@ -84,6 +100,19 @@ class CopyRegTestCase(unittest.TestCase):
|
|||
self.assertRaises(ValueError, copy_reg.add_extension,
|
||||
mod, func, code)
|
||||
|
||||
def test_slotnames(self):
|
||||
self.assertEquals(copy_reg._slotnames(WithoutSlots), [])
|
||||
self.assertEquals(copy_reg._slotnames(WithWeakref), [])
|
||||
expected = ['_WithPrivate__spam']
|
||||
self.assertEquals(copy_reg._slotnames(WithPrivate), expected)
|
||||
self.assertEquals(copy_reg._slotnames(WithSingleString), ['spam'])
|
||||
expected = ['eggs', 'spam']
|
||||
expected.sort()
|
||||
result = copy_reg._slotnames(WithInherited)
|
||||
result.sort()
|
||||
self.assertEquals(result, expected)
|
||||
|
||||
|
||||
def test_main():
|
||||
test_support.run_unittest(CopyRegTestCase)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue