summaryrefslogtreecommitdiff
path: root/tests/basics/class_delattr_setattr.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/basics/class_delattr_setattr.py')
-rw-r--r--tests/basics/class_delattr_setattr.py25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/basics/class_delattr_setattr.py b/tests/basics/class_delattr_setattr.py
index 8fe1bb6fc..3389c091a 100644
--- a/tests/basics/class_delattr_setattr.py
+++ b/tests/basics/class_delattr_setattr.py
@@ -69,6 +69,9 @@ class C:
def __setattr__(self, attr, value):
print(attr, "=", value)
+ def __delattr__(self, attr):
+ print("del", attr)
+
c = C()
c.a = 5
try:
@@ -86,3 +89,25 @@ try:
object.__setattr__(c, 5, 5)
except TypeError:
print("TypeError")
+
+
+# test object.__delattr__
+del c.a
+print(c.a)
+
+object.__delattr__(c, "a")
+try:
+ print(c.a)
+except AttributeError:
+ print("AttributeError")
+
+super(C, c).__delattr__("b")
+try:
+ print(c.b)
+except AttributeError:
+ print("AttributeError")
+
+try:
+ object.__delattr__(c, "c")
+except AttributeError:
+ print("AttributeError")