diff options
Diffstat (limited to 'tests/functional/d/func_w0233.py')
-rw-r--r-- | tests/functional/d/func_w0233.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/functional/d/func_w0233.py b/tests/functional/d/func_w0233.py new file mode 100644 index 000000000..ca0345db3 --- /dev/null +++ b/tests/functional/d/func_w0233.py @@ -0,0 +1,51 @@ +# pylint: disable=R0903,W0212,W0406,no-absolute-import,wrong-import-order, useless-object-inheritance + +"""test for call to __init__ from a non ancestor class +""" +from __future__ import print_function +from . import func_w0233 +import nonexistant # [import-error] +__revision__ = '$Id: func_w0233.py,v 1.2 2004-09-29 08:35:13 syt Exp $' + +class AAAA(object): + """ancestor 1""" + + def __init__(self): + print('init', self) + BBBBMixin.__init__(self) # [non-parent-init-called] + +class BBBBMixin(object): + """ancestor 2""" + + def __init__(self): + print('init', self) + +class CCC(BBBBMixin, func_w0233.AAAA, func_w0233.BBBB, nonexistant.AClass): # [no-member] + """mix different things, some inferable some not""" + def __init__(self): + BBBBMixin.__init__(self) + func_w0233.AAAA.__init__(self) + func_w0233.BBBB.__init__(self) # [no-member] + nonexistant.AClass.__init__(self) + +class DDDD(AAAA): + """call superclass constructor in disjunct branches""" + def __init__(self, value): + if value: + AAAA.__init__(self) + else: + AAAA.__init__(self) + +class Super(dict): + """ test late binding super() call """ + def __init__(self): + base = super() + base.__init__() + +class Super2(dict): + """ Using the same idiom as Super, but without calling + the __init__ method. + """ + def __init__(self): # [super-init-not-called] + base = super() + base.__woohoo__() # [no-member] |