summaryrefslogtreecommitdiffstatshomepage
path: root/tests/basics/class_super.py
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2017-04-19 09:49:48 +1000
committerDamien George <damien.p.george@gmail.com>2017-04-22 23:39:38 +1000
commit30badd1ce1fabd26e54fc445f07846306aa19cef (patch)
tree67eb4859d6acd8e234532e1a1ea5b4691e5dbdf6 /tests/basics/class_super.py
parentdd11af209d226b7d18d5148b239662e30ed60bad (diff)
downloadmicropython-30badd1ce1fabd26e54fc445f07846306aa19cef.tar.gz
micropython-30badd1ce1fabd26e54fc445f07846306aa19cef.zip
tests: Add tests for calling super and loading a method directly.
Diffstat (limited to 'tests/basics/class_super.py')
-rw-r--r--tests/basics/class_super.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/basics/class_super.py b/tests/basics/class_super.py
index 4b052d8f3c..1338ef4523 100644
--- a/tests/basics/class_super.py
+++ b/tests/basics/class_super.py
@@ -20,3 +20,17 @@ class A:
def p(self):
print(str(super())[:18])
A().p()
+
+
+# test compiler's handling of long expressions with super
+class A:
+ bar = 123
+ def foo(self):
+ print('A foo')
+ return [1, 2, 3]
+class B(A):
+ def foo(self):
+ print('B foo')
+ print(super().bar) # accessing attribute after super()
+ return super().foo().count(2) # calling a subsequent method
+print(B().foo())