summaryrefslogtreecommitdiffstatshomepage
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/basics/del-attr.py28
-rw-r--r--tests/basics/del-name.py18
-rw-r--r--tests/basics/del-subscr.py13
3 files changed, 59 insertions, 0 deletions
diff --git a/tests/basics/del-attr.py b/tests/basics/del-attr.py
new file mode 100644
index 0000000000..501c729ceb
--- /dev/null
+++ b/tests/basics/del-attr.py
@@ -0,0 +1,28 @@
+# del a class attribute
+
+del C.f
+try:
+ print(C.x)
+except AttributeError:
+ print("AttributeError")
+try:
+ del C.f
+except AttributeError:
+ print("AttributeError")
+
+# del an instance attribute
+
+c = C()
+
+c.x = 1
+print(c.x)
+
+del c.x
+try:
+ print(c.x)
+except AttributeError:
+ print("AttributeError")
+try:
+ del c.x
+except AttributeError:
+ print("AttributeError")
diff --git a/tests/basics/del-name.py b/tests/basics/del-name.py
new file mode 100644
index 0000000000..f75a2f5dc6
--- /dev/null
+++ b/tests/basics/del-name.py
@@ -0,0 +1,18 @@
+# del global
+
+x = 1
+print(x)
+del x
+try:
+ print(x)
+except NameError:
+ print("NameError")
+try:
+ del x
+except: # NameError:
+ # FIXME uPy returns KeyError for this
+ print("NameError")
+
+class C:
+ def f():
+ pass
diff --git a/tests/basics/del-subscr.py b/tests/basics/del-subscr.py
new file mode 100644
index 0000000000..67910c6234
--- /dev/null
+++ b/tests/basics/del-subscr.py
@@ -0,0 +1,13 @@
+l = [1, 2, 3]
+print(l)
+del l[0]
+print(l)
+del l[-1]
+print(l)
+
+d = {1:2, 3:4, 5:6}
+del d[1]
+del d[3]
+print(d)
+del d[5]
+print(d)