aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Harder <radhermit@gmail.com>2019-08-10 14:07:07 -0600
committerTim Harder <radhermit@gmail.com>2019-08-10 14:24:39 -0600
commit89138e966b0ce61c1311c3bdbecb7a8ce6435eea (patch)
treeb4092e62658e3a0189c603921b392535626413b0 /tests/test_klass.py
parenttests: complete ImmutableDict check coverage (diff)
downloadsnakeoil-89138e966b0ce61c1311c3bdbecb7a8ce6435eea.tar.gz
snakeoil-89138e966b0ce61c1311c3bdbecb7a8ce6435eea.tar.bz2
snakeoil-89138e966b0ce61c1311c3bdbecb7a8ce6435eea.zip
klass: DirProxy: support pulling attr list from __slots__
Diffstat (limited to 'tests/test_klass.py')
-rw-r--r--tests/test_klass.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/test_klass.py b/tests/test_klass.py
index 6059ae2f..1e618c86 100644
--- a/tests/test_klass.py
+++ b/tests/test_klass.py
@@ -116,6 +116,22 @@ class TestDirProxy(object):
assert self.noninternal_attrs(o2) == []
assert self.noninternal_attrs(o) == ['obj']
+ def test_slots(self):
+ class foo1(object):
+ __slots__ = ('obj',)
+ def __init__(self, obj):
+ self.obj = obj
+ __dir__ = klass.DirProxy('obj')
+
+ class foo2(object):
+ __slots__ = ('attr',)
+ def __init__(self):
+ self.attr = 'foo'
+
+ o2 = foo2()
+ o = foo1(o2)
+ assert self.noninternal_attrs(o) == ['attr', 'obj']
+
class Test_native_contains(object):
func = staticmethod(klass.native_contains)