summaryrefslogtreecommitdiffstats
path: root/Lib/test/pyclbr_input.py
blob: 5535edbfa7795bd84299bf4d8e734f72df376d9d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
"""Test cases for test_pyclbr.py"""

def f(): pass

class Other(object):
    @classmethod
    def foo(c): pass

    def om(self): pass

class B (object):
    def bm(self): pass

class C (B):
    d = 10

    # This one is correctly considered by both test_pyclbr.py and pyclbr.py
    # as a non-method of C.
    foo = Other().foo

    # This causes test_pyclbr.py to fail, but only because the
    # introspection-based is_method() code in the test can't
    # distinguish between this and a genuine method function like m().
    #
    # The pyclbr.py module gets this right as it parses the text.
    om = Other.om
    f = f

    def m(self): pass

    @staticmethod
    def sm(self): pass

    @classmethod
    def cm(self): pass

# Check that mangling is correctly handled

class a:
    def a(self): pass
    def _(self): pass
    def _a(self): pass
    def __(self): pass
    def ___(self): pass
    def __a(self): pass

class _:
    def a(self): pass
    def _(self): pass
    def _a(self): pass
    def __(self): pass
    def ___(self): pass
    def __a(self): pass

class __:
    def a(self): pass
    def _(self): pass
    def _a(self): pass
    def __(self): pass
    def ___(self): pass
    def __a(self): pass

class ___:
    def a(self): pass
    def _(self): pass
    def _a(self): pass
    def __(self): pass
    def ___(self): pass
    def __a(self): pass

class _a:
    def a(self): pass
    def _(self): pass
    def _a(self): pass
    def __(self): pass
    def ___(self): pass
    def __a(self): pass

class __a:
    def a(self): pass
    def _(self): pass
    def _a(self): pass
    def __(self): pass
    def ___(self): pass
    def __a(self): pass