1# ticket: 336
2
3__doc__ = u"""
4>>> print('\\n'.join(calls))
5Py-Honk PyTestClass
6PyTestClass
7Py-Hello PyTestClass
8PyTestClass
9Py-Done PyTestClass
10
11>>> c = PyTestClass()
12Ho, Ho, Ho!
13"""
14
15calls = []
16
17class print_msg(object):
18    def __init__(self, message):
19        self.msg = message
20    def __call__(self, c):
21        calls.append( self.msg + c.__name__ )
22        return c
23
24def print_name(c):
25    calls.append( c.__name__ )
26    return c
27
28@print_msg(u"Py-Done ")
29@print_name
30@print_msg(u"Py-Hello ")
31@print_name
32@print_msg(u"Py-Honk ")
33class PyTestClass(object):
34    def __init__(self):
35        print u"Ho, Ho, Ho!"
36
37# not currently working:
38#
39## @print_msg("Cy-Done ")
40## @print_name
41## @print_msg("Cy-Hello ")
42## @print_name
43## @print_msg("Cy-Honk ")
44## cdef class CyTestClass(object):
45##     def __init__(self):
46##         print u"Ho, Ho, Ho!"
47