]> granicus.if.org Git - python/commitdiff
test_dir(): Add tests for dir(i) where i is a module subclass.
authorTim Peters <tim.peters@gmail.com>
Mon, 10 Sep 2001 23:12:14 +0000 (23:12 +0000)
committerTim Peters <tim.peters@gmail.com>
Mon, 10 Sep 2001 23:12:14 +0000 (23:12 +0000)
Lib/test/test_descr.py

index 1ff90607a4bc698ef159a32456090c3f1a19582b..0bed6750ee5afe240be0da9ba1f0da56b781afcb 100644 (file)
@@ -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': '-',