summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_descr.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py
index 1ff9060..0bed675 100644
--- a/Lib/test/test_descr.py
+++ b/Lib/test/test_descr.py
@@ -241,6 +241,29 @@ def test_dir():
a.amethod = lambda self: 3
verify(interesting(dir(a)) == astuff + ['adata', 'amethod'])
+ # Try a module subclass.
+ import sys
+ class M(type(sys)):
+ pass
+ minstance = M()
+ minstance.b = 2
+ minstance.a = 1
+ verify(dir(minstance) == ['a', 'b'])
+
+ class M2(M):
+ def getdict(self):
+ return "Not a dict!"
+ __dict__ = property(getdict)
+
+ m2instance = M2()
+ m2instance.b = 2
+ m2instance.a = 1
+ verify(m2instance.__dict__ == "Not a dict!")
+ try:
+ dir(m2instance)
+ except TypeError:
+ pass
+
binops = {
'add': '+',
'sub': '-',