summaryrefslogtreecommitdiffstatshomepage
path: root/tests/basics/class-getattr.py
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-04-02 14:13:26 +0100
committerDamien George <damien.p.george@gmail.com>2014-04-02 14:13:26 +0100
commit93b7faa29a647c233a7ee2cf292c657e09753824 (patch)
tree772a9beb4fc6efcc041f0650d7d9ceed8e8f01ed /tests/basics/class-getattr.py
parente4c834fc1ef5459c0a1f8124deac8fab72e73819 (diff)
downloadmicropython-93b7faa29a647c233a7ee2cf292c657e09753824.tar.gz
micropython-93b7faa29a647c233a7ee2cf292c657e09753824.zip
py: Factor out static/class method unwrapping code; add tests.
Diffstat (limited to 'tests/basics/class-getattr.py')
-rw-r--r--tests/basics/class-getattr.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/basics/class-getattr.py b/tests/basics/class-getattr.py
new file mode 100644
index 0000000000..1f875ce538
--- /dev/null
+++ b/tests/basics/class-getattr.py
@@ -0,0 +1,16 @@
+# test that __getattr__, __getattrribute__ and instance members don't override builtins
+class C:
+ def __init__(self):
+ self.__add__ = lambda: print('member __add__')
+ def __add__(self, x):
+ print('__add__')
+ def __getattr__(self, attr):
+ print('__getattr__', attr)
+ return None
+ def __getattrribute__(self, attr):
+ print('__getattrribute__', attr)
+ return None
+
+c = C()
+c.__add__
+c + 1 # should call __add__