diff options
| author | Torsten Marek <shlomme@gmail.com> | 2014-11-09 22:44:59 +0100 |
|---|---|---|
| committer | Torsten Marek <shlomme@gmail.com> | 2014-11-09 22:44:59 +0100 |
| commit | f5952d500ca1052252a0d8699be7ca3cf8e4eeda (patch) | |
| tree | 24950b435ecabac9e22f1a22ce03de980dcd231a /astroid/tests/testdata/python3/data/module2.py | |
| parent | 7b8f664cf8aa5e8f2e7f444b2274ae62b6390e1c (diff) | |
| download | astroid-f5952d500ca1052252a0d8699be7ca3cf8e4eeda.tar.gz | |
Merge all test data into a single package per Python version.
Also modernized a lot of test code. This makes it possible to run the
tests from both the base directory of the project as well as the
astroid package.
Since the packages have the same name for Python 2 and 3, there is less
version-dependent code in the tests.
Diffstat (limited to 'astroid/tests/testdata/python3/data/module2.py')
| -rw-r--r-- | astroid/tests/testdata/python3/data/module2.py | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/astroid/tests/testdata/python3/data/module2.py b/astroid/tests/testdata/python3/data/module2.py new file mode 100644 index 0000000..1171bdf --- /dev/null +++ b/astroid/tests/testdata/python3/data/module2.py @@ -0,0 +1,143 @@ +from data.module import YO, YOUPI +import data + + +class Specialization(YOUPI, YO): + pass + + + +class Metaclass(type): + pass + + + +class Interface: + pass + + + +class MyIFace(Interface): + pass + + + +class AnotherIFace(Interface): + pass + + + +class MyException(Exception): + pass + + + +class MyError(MyException): + pass + + + +class AbstractClass(object): + + def to_override(self, whatever): + raise NotImplementedError() + + def return_something(self, param): + if param: + return 'toto' + return + + + +class Concrete0: + __implements__ = MyIFace + + + +class Concrete1: + __implements__ = (MyIFace, AnotherIFace) + + + +class Concrete2: + __implements__ = (MyIFace, AnotherIFace) + + + +class Concrete23(Concrete1): + pass + +del YO.member +del YO +[SYN1, SYN2] = (Concrete0, Concrete1) +assert repr(1) +b = (1) | (((2) & (3)) ^ (8)) +bb = ((1) | (two)) | (6) +ccc = ((one) & (two)) & (three) +dddd = ((x) ^ (o)) ^ (r) +exec('c = 3') +exec('c = 3', {}, {}) + +def raise_string(a=2, *args, **kwargs): + raise Exception('yo') + yield 'coucou' + yield +a = (b) + (2) +c = (b) * (2) +c = (b) / (2) +c = (b) // (2) +c = (b) - (2) +c = (b) % (2) +c = (b) ** (2) +c = (b) << (2) +c = (b) >> (2) +c = ~b +c = not b +d = [c] +e = d[:] +e = d[a:b:c] +raise_string(*args, **kwargs) +print('bonjour', file=stream) +print('salut', end=' ', file=stream) + +def make_class(any, base=data.module.YO, *args, **kwargs): + """check base is correctly resolved to Concrete0""" + + + class Aaaa(base): + """dynamic class""" + + + return Aaaa +from os.path import abspath +import os as myos + + +class A: + pass + + + +class A(A): + pass + + +def generator(): + """A generator.""" + yield + +def not_a_generator(): + """A function that contains generator, but is not one.""" + + def generator(): + yield + genl = lambda : (yield) + +def with_metaclass(meta, *bases): + return meta('NewBase', bases, {}) + + +class NotMetaclass(with_metaclass(Metaclass)): + pass + + |
