diff options
-rw-r--r-- | Lib/test/test_descr.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py index 5b5f137..92f79d5 100644 --- a/Lib/test/test_descr.py +++ b/Lib/test/test_descr.py @@ -472,6 +472,29 @@ def diamond(): verify(G().boo() == "C") verify(G.__mro__ == (G, E, D, C, B, A, object)) +def objects(): + if verbose: print "Testing object class..." + a = object() + verify(a.__class__ == object == type(a)) + b = object() + verify(a is not b) + verify(not hasattr(a, "foo")) + try: + a.foo = 12 + except TypeError: + pass + else: + verify(0, "object() should not allow setting a foo attribute") + verify(not hasattr(object(), "__dict__")) + + class Cdict(object): + pass + x = Cdict() + verify(x.__dict__ is None) + x.foo = 1 + verify(x.foo == 1) + verify(x.__dict__ == {'foo': 1}) + def slots(): if verbose: print "Testing __slots__..." class C0(object): @@ -789,6 +812,7 @@ def all(): pymods() multi() diamond() + objects() slots() dynamics() errors() |