diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/basics/class-emptybases.py | 2 | ||||
-rw-r--r-- | tests/basics/class-getattr.py | 16 | ||||
-rw-r--r-- | tests/basics/class-staticclassmethod.py | 25 | ||||
-rw-r--r-- | tests/basics/closure-defargs.py | 5 |
4 files changed, 47 insertions, 1 deletions
diff --git a/tests/basics/class-emptybases.py b/tests/basics/class-emptybases.py new file mode 100644 index 0000000000..6d792453e1 --- /dev/null +++ b/tests/basics/class-emptybases.py @@ -0,0 +1,2 @@ +class A(): + pass 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__ diff --git a/tests/basics/class-staticclassmethod.py b/tests/basics/class-staticclassmethod.py new file mode 100644 index 0000000000..1cb59d5c7b --- /dev/null +++ b/tests/basics/class-staticclassmethod.py @@ -0,0 +1,25 @@ +# test static and class methods + +class C: + @staticmethod + def f(rhs): + print('f', rhs) + @classmethod + def g(self, rhs): + print('g', rhs) + + # builtin wrapped in staticmethod + @staticmethod + def __sub__(rhs): + print('sub', rhs) + # builtin wrapped in classmethod + @classmethod + def __add__(self, rhs): + print('add', rhs) + +c = C() + +c.f(0) +c.g(0) +c - 1 +c + 2 diff --git a/tests/basics/closure-defargs.py b/tests/basics/closure-defargs.py index ff8ada0414..96b1092659 100644 --- a/tests/basics/closure-defargs.py +++ b/tests/basics/closure-defargs.py @@ -1,8 +1,11 @@ +# test closure with default args + def f(): a = 1 def bar(b = 10, c = 20): print(a + b + c) bar() + bar(2) + bar(2, 3) print(f()) - |