diff options
author | Tim Harder <radhermit@gmail.com> | 2019-08-10 14:07:07 -0600 |
---|---|---|
committer | Tim Harder <radhermit@gmail.com> | 2019-08-10 14:24:39 -0600 |
commit | 89138e966b0ce61c1311c3bdbecb7a8ce6435eea (patch) | |
tree | b4092e62658e3a0189c603921b392535626413b0 /tests/test_klass.py | |
parent | tests: complete ImmutableDict check coverage (diff) | |
download | snakeoil-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.py | 16 |
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) |