summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/base/attributes.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/base/attributes.py b/test/base/attributes.py
index 19eedd0f6..5f555a7e6 100644
--- a/test/base/attributes.py
+++ b/test/base/attributes.py
@@ -251,6 +251,21 @@ class AttributesTest(PersistTest):
b2.element = None
assert not manager.get_history(b2, 'element').hasparent(f2)
+
+ def testdescriptorattributes(self):
+ """changeset: 1633 broke ability to use ORM to map classes with unusual
+ descriptor attributes (for example, classes that inherit from ones
+ implementing zope.interface.Interface).
+ This is a simple regression test to prevent that defect.
+ """
+ class des(object):
+ def __get__(self, instance, owner): raise AttributeError('fake attribute')
+
+ class Foo(object):
+ A = des()
+
+ manager = attributes.AttributeManager()
+ manager.reset_class_managed(Foo)
if __name__ == "__main__":
unittest.main()