From f4c9b33abf0ac6ff97cd39331d125a74fd2bb897 Mon Sep 17 00:00:00 2001 From: Damien George Date: Tue, 8 Apr 2014 21:32:29 +0100 Subject: py: Remove DELETE_SUBSCR opcode, combine with STORE_SUBSCR. This makes the runtime and object APIs more consistent. mp_store_subscr functionality now moved into objects (ie list and dict store_item). --- tests/basics/del-attr.py | 28 ++++++++++++++++++++++++++++ tests/basics/del-name.py | 18 ++++++++++++++++++ tests/basics/del-subscr.py | 13 +++++++++++++ 3 files changed, 59 insertions(+) create mode 100644 tests/basics/del-attr.py create mode 100644 tests/basics/del-name.py create mode 100644 tests/basics/del-subscr.py (limited to 'tests') diff --git a/tests/basics/del-attr.py b/tests/basics/del-attr.py new file mode 100644 index 000000000..501c729ce --- /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 000000000..f75a2f5dc --- /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 000000000..67910c623 --- /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) -- cgit v1.2.3