Cython has moved to github.
cython-devel
view tests/run/attr.pyx @ 1622:4f0327bdebc9
test for temp allocation bug in call
| author | Robert Bradshaw <robertwb@math.washington.edu> |
|---|---|
| date | Sat Jan 17 01:25:34 2009 -0800 (3 years ago) |
| parents | 6309e21af543 |
| children |
line source
1 __doc__ = u"""
2 >>> class Test(object):
3 ... def __init__(self, i):
4 ... self.i = i
5 >>> b = Test(1)
6 >>> b.spam = Test(2)
7 >>> b.spam.eggs = Test(3)
8 >>> b.spam.eggs.spam = Test(4)
9 >>> b.spam.eggs.spam.eggs = Test(5)
11 >>> a = f(b)
12 >>> a.i
13 2
14 >>> b.i
15 1
16 >>> a.spam.i
17 1
18 >>> b.spam.i
19 2
20 >>> a.spam.eggs.i
21 Traceback (most recent call last):
22 AttributeError: 'Test' object has no attribute 'eggs'
23 >>> b.spam.eggs.i
24 3
25 >>> a.spam.spam.i
26 2
27 >>> b.spam.spam.i
28 1
29 >>> a.spam.eggs.spam.i
30 Traceback (most recent call last):
31 AttributeError: 'Test' object has no attribute 'eggs'
32 >>> b.spam.eggs.spam.i
33 4
35 >>> a = g(b)
36 >>> a.i
37 3
38 >>> b.i
39 1
40 >>> a.spam.i
41 4
42 >>> b.spam.i
43 2
44 >>> a.spam.eggs.i
45 1
46 >>> b.spam.eggs.i
47 3
48 >>> a.spam.spam.i
49 Traceback (most recent call last):
50 AttributeError: 'Test' object has no attribute 'spam'
51 >>> b.spam.spam.i
52 1
53 >>> a.spam.eggs.spam.i
54 2
55 >>> b.spam.eggs.spam.i
56 4
57 """
59 def f(b):
60 a = b.spam
61 a.spam = b
62 return a
64 def g(b):
65 a = b.spam.eggs
66 a.spam.eggs = b
67 return a
