author | Claus Gittinger <cg@exept.de> |
Fri, 31 Aug 2007 17:47:11 +0200 | |
changeset 334 | a9657208d19b |
parent 181 | a56517005229 |
child 606 | 42c26f8c0ce6 |
permissions | -rw-r--r-- |
69 | 1 |
"{ Package: 'exept:regression' }" |
58 | 2 |
|
70 | 3 |
"{ NameSpace: RegressionTests }" |
4 |
||
95 | 5 |
TestCase subclass:#BlockTest |
58 | 6 |
instanceVariableNames:'' |
7 |
classVariableNames:'' |
|
8 |
poolDictionaries:'' |
|
181 | 9 |
category:'tests-Regression' |
58 | 10 |
! |
11 |
||
12 |
||
334
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
13 |
!BlockTest methodsFor:'defects'! |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
14 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
15 |
g |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
16 |
^ True "/ the class here |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
17 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
18 |
"Created: / 31-08-2007 / 17:40:37 / cg" |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
19 |
! |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
20 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
21 |
h |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
22 |
^ True "/ the class here |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
23 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
24 |
"Created: / 31-08-2007 / 17:40:39 / cg" |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
25 |
! |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
26 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
27 |
testBlockWithEQEQ_1 |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
28 |
|b v| |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
29 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
30 |
b := [ self g == self h ]. |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
31 |
v := b value. |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
32 |
self assert:(v == true). |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
33 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
34 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
35 |
" |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
36 |
self new testBlockWithEQEQ_1 |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
37 |
" |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
38 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
39 |
"Created: / 31-08-2007 / 17:41:59 / cg" |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
40 |
! |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
41 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
42 |
testBlockWithEQEQ_2 |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
43 |
|b v| |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
44 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
45 |
b := [ |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
46 |
%{ |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
47 |
#ifdef FOO |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
48 |
%}. |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
49 |
self thisIsNeverCalled. |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
50 |
%{ |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
51 |
#endif |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
52 |
%}. |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
53 |
self g == self h |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
54 |
]. |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
55 |
v := b value. |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
56 |
self assert:(v == true). |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
57 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
58 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
59 |
" |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
60 |
self new testBlockWithEQEQ_2 |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
61 |
" |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
62 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
63 |
"Created: / 31-08-2007 / 17:42:02 / cg" |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
64 |
! |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
65 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
66 |
testBlockWithEQEQ_3 |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
67 |
|b p v| |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
68 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
69 |
p := self. |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
70 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
71 |
[ |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
72 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
73 |
b := [ |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
74 |
%{ |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
75 |
#ifdef FOO |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
76 |
%}. |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
77 |
self thisIsNeverCalled. |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
78 |
%{ |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
79 |
#endif |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
80 |
%}. |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
81 |
p g == p h |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
82 |
]. |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
83 |
] value. |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
84 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
85 |
v := b value. |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
86 |
self assert:(v == true). |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
87 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
88 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
89 |
" |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
90 |
self new testBlockWithEQEQ_3 |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
91 |
" |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
92 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
93 |
"Created: / 31-08-2007 / 17:44:07 / cg" |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
94 |
! |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
95 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
96 |
testBlockWithEQEQ_4 |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
97 |
|b p v Tmp| |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
98 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
99 |
p := self. |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
100 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
101 |
[ |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
102 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
103 |
b := [ |foo| |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
104 |
%{ |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
105 |
#ifdef FOO |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
106 |
%}. |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
107 |
foo := Timestamp now. |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
108 |
Tmp isNil ifTrue:[ |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
109 |
Tmp := 'flags' copy. |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
110 |
] ifFalse:[ |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
111 |
ObjectMemory stopBackgroundCollector. |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
112 |
]. |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
113 |
self thisIsNeverCalled. |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
114 |
%{ |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
115 |
#endif |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
116 |
%}. |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
117 |
p g == p h |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
118 |
]. |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
119 |
] perform:((Base64Coder decode:'dmFsdWU=') asString asSymbol). |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
120 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
121 |
v := b value. |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
122 |
self assert:(v == true). |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
123 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
124 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
125 |
" |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
126 |
self new testBlockWithEQEQ_4 |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
127 |
" |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
128 |
|
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
129 |
"Created: / 31-08-2007 / 17:44:38 / cg" |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
130 |
! ! |
a9657208d19b
oops - bytecode version generated wrong jitted code
Claus Gittinger <cg@exept.de>
parents:
181
diff
changeset
|
131 |
|
95 | 132 |
!BlockTest methodsFor:'varArgBlocks'! |
58 | 133 |
|
97 | 134 |
getBlock1 |
135 |
|b| |
|
136 |
||
137 |
b := [:arg | Transcript |
|
138 |
show:'invoked with arg:'; |
|
139 |
showCR:arg |
|
140 |
]. |
|
141 |
^ b |
|
142 |
! |
|
143 |
||
58 | 144 |
getVarArgBlock1 |
145 |
|b| |
|
146 |
||
147 |
b := [:argList | Transcript |
|
70 | 148 |
show:'invoked with args:'; |
149 |
showCR:argList |
|
150 |
] asVarArgBlock. |
|
58 | 151 |
^ b |
152 |
||
153 |
||
154 |
! |
|
155 |
||
156 |
getVarArgBlock2 |
|
157 |
|b| |
|
158 |
||
159 |
b := [:argList | Transcript |
|
70 | 160 |
show:'invoked with args:'; |
161 |
showCR:argList. |
|
162 |
argList |
|
163 |
] asVarArgBlock. |
|
58 | 164 |
^ b |
165 |
||
166 |
||
167 |
! |
|
168 |
||
169 |
getVarArgBlock3 |
|
170 |
|b| |
|
171 |
||
172 |
b := [:argList | Transcript |
|
70 | 173 |
show:'invoked with args:'; |
174 |
showCR:argList. |
|
175 |
argList size |
|
176 |
] asVarArgBlock. |
|
58 | 177 |
^ b |
178 |
||
179 |
||
180 |
! |
|
181 |
||
97 | 182 |
testBlock1 |
183 |
|b| |
|
184 |
||
185 |
b := self getBlock1. |
|
186 |
||
187 |
b code notNil ifTrue:[ |
|
188 |
Transcript showCR:'before call: *** blocks code is jitted' |
|
189 |
] ifFalse:[ |
|
190 |
Transcript showCR:'before call: blocks code is NOT jitted' |
|
191 |
]. |
|
192 |
b value:nil. |
|
193 |
b code notNil ifTrue:[ |
|
194 |
Transcript showCR:'after call: blocks code is jitted' |
|
195 |
] ifFalse:[ |
|
196 |
Transcript showCR:'after call: *** blocks code is NOT jitted' |
|
197 |
]. |
|
198 |
||
199 |
b value:#foo. |
|
200 |
b value:1. |
|
201 |
b value:2 |
|
202 |
||
203 |
" |
|
204 |
self new testBlock1 |
|
205 |
" |
|
206 |
! |
|
207 |
||
58 | 208 |
testVarArgBlock1 |
209 |
|b| |
|
210 |
||
211 |
b := self getVarArgBlock1. |
|
212 |
||
213 |
b value. |
|
60 | 214 |
b code notNil ifTrue:[ |
95 | 215 |
Transcript showCR:'blocks code is jitted' |
60 | 216 |
] ifFalse:[ |
95 | 217 |
Transcript showCR:'*** blocks code is NOT jitted' |
60 | 218 |
]. |
219 |
||
220 |
b value. |
|
58 | 221 |
b value:'arg1'. |
222 |
b value:'arg1' value:'arg2' value:'arg3' value:'arg4' |
|
223 |
||
224 |
" |
|
95 | 225 |
self new testVarArgBlock1 |
58 | 226 |
" |
227 |
! |
|
228 |
||
229 |
testVarArgBlock2 |
|
230 |
|b| |
|
231 |
||
232 |
b := self getVarArgBlock2. |
|
233 |
||
60 | 234 |
b value. |
235 |
b code notNil ifTrue:[ |
|
95 | 236 |
Transcript showCR:'blocks code is jitted' |
60 | 237 |
] ifFalse:[ |
95 | 238 |
Transcript showCR:'*** blocks code is NOT jitted' |
60 | 239 |
]. |
240 |
||
95 | 241 |
self assert:( b value = #() ). |
242 |
self assert:( (b value:1) = #(1) ). |
|
243 |
self assert:( (b value:1 value:2) = #(1 2) ). |
|
244 |
self assert:( (b value:1 value:2 value:3) = #(1 2 3) ). |
|
245 |
self assert:( (b value:1 value:2 value:3 value:4) = #(1 2 3 4) ). |
|
246 |
self assert:( (b valueWithArguments:#(1 2 3 4)) = #(1 2 3 4) ). |
|
58 | 247 |
|
95 | 248 |
self assert:( (b perform:#value) = #() ). |
249 |
self assert:( (b perform:#'value:' with:1) = #(1) ). |
|
250 |
self assert:( (b perform:#'value:value:' with:1 with:2) = #(1 2) ). |
|
251 |
self assert:( (b perform:#'value:value:value:' with:1 with:2 with:3) = #(1 2 3) ). |
|
252 |
self assert:( (b perform:#'value:value:value:value:' with:1 with:2 with:3 with:4) = #(1 2 3 4) ). |
|
253 |
self assert:( (b perform:#'valueWithArguments:' with:#(1 2 3 4)) = #(1 2 3 4) ). |
|
58 | 254 |
|
255 |
" |
|
95 | 256 |
self new testVarArgBlock2 |
58 | 257 |
" |
258 |
! |
|
259 |
||
260 |
testVarArgBlock3 |
|
261 |
|b| |
|
262 |
||
263 |
b := self getVarArgBlock3. |
|
264 |
||
60 | 265 |
b value. |
266 |
b code notNil ifTrue:[ |
|
95 | 267 |
Transcript showCR:'blocks code is jitted' |
60 | 268 |
] ifFalse:[ |
95 | 269 |
Transcript showCR:'*** blocks code is NOT jitted' |
60 | 270 |
]. |
271 |
||
95 | 272 |
self assert:( b value = 0 ). |
273 |
self assert:( (b value:1) = 1 ). |
|
274 |
self assert:( (b value:1 value:2) = 2 ). |
|
275 |
self assert:( (b value:1 value:2 value:3) = 3 ). |
|
276 |
self assert:( (b value:1 value:2 value:3 value:4) = 4 ). |
|
277 |
self assert:( (b valueWithArguments:#(1 2 3 4)) = 4 ). |
|
58 | 278 |
|
95 | 279 |
self assert:( (b perform:#value) = 0 ). |
280 |
self assert:( (b perform:#'value:' with:1) = 1 ). |
|
281 |
self assert:( (b perform:#'value:value:' with:1 with:2) = 2 ). |
|
282 |
self assert:( (b perform:#'value:value:value:' with:1 with:2 with:3) = 3 ). |
|
283 |
self assert:( (b perform:#'value:value:value:value:' with:1 with:2 with:3 with:4) = 4 ). |
|
284 |
self assert:( (b perform:#'valueWithArguments:' with:#(1 2 3 4)) = 4 ). |
|
58 | 285 |
|
286 |
" |
|
95 | 287 |
self new testVarArgBlock3 |
58 | 288 |
" |
289 |
! |
|
290 |
||
95 | 291 |
xtestAll |
292 |
self testVarArgBlocks. |
|
293 |
||
294 |
" |
|
295 |
self new xtestAll |
|
296 |
" |
|
297 |
! |
|
298 |
||
299 |
xtestVarArgBlocks |
|
58 | 300 |
self testVarArgBlock1. |
301 |
self testVarArgBlock2. |
|
302 |
self testVarArgBlock3. |
|
303 |
! ! |
|
304 |
||
305 |
!BlockTest class methodsFor:'documentation'! |
|
306 |
||
307 |
version |
|
308 |
^ '$Header$' |
|
309 |
! ! |