fix core tests
[scilab.git] / scilab / modules / core / tests / unit_tests / trycatch.dia.ref
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) ????-2008 - INRIA
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7 //interactive mode
8 clear a b
9 try
10     a=1;
11 catch
12     b=2+1;
13 end
14 if exists("a")==0|exists("b")==1 then bugmes();quit;end
15 if a<>1 then bugmes();quit;end
16 clear a b
17 try  a=1+1;
18 catch
19     b=2;
20 end
21 if exists("a")==0|exists("b")==1 then bugmes();quit;end
22 if a<>2 then bugmes();quit;end
23 clear a b
24 try  a=1;
25 catch  b=2;
26 end
27 if exists("a")==0|exists("b")==1 then bugmes();quit;end
28 if a<>1 then bugmes();quit;end
29 clear a b
30 try  a=1;catch  b=2;end
31 if exists("a")==0|exists("b")==1 then bugmes();quit;end
32 if a<>1 then bugmes();quit;end
33 clear a b
34 try,  a=1;catch,  b=2;end
35 if exists("a")==0|exists("b")==1 then bugmes();quit;end
36 if a<>1 then bugmes();quit;end
37 clear a b xxxx
38 try
39     a=xxxx;
40 catch
41     b=2;
42 end
43 if exists("a")==1|exists("b")==0 then bugmes();quit;end
44 if b<>2 then bugmes();quit;end
45 clear a b xxxx
46 try   a=xxxx;
47 catch
48     b=2;
49 end
50 if exists("a")==1|exists("b")==0 then bugmes();quit;end
51 if b<>2 then bugmes();quit;end
52 clear a b xxxx
53 try
54     a=xxxx;
55 catch b=2;
56 end
57 if exists("a")==1|exists("b")==0 then bugmes();quit;end
58 if b<>2 then bugmes();quit;end
59 clear a b xxxx
60 try   a=xxxx;
61 catch b=2;
62 end
63 if exists("a")==1|exists("b")==0 then bugmes();quit;end
64 if b<>2 then bugmes();quit;end
65 clear a b xxxx
66 try   a=xxxx;catch b=2;end
67 if exists("a")==1|exists("b")==0 then bugmes();quit;end
68 if b<>2 then bugmes();quit;end
69 clear a b xxxx
70 if execstr("try a=xxxx catch b=2;end","errcatch")<>0 then bugmes();quit;end
71 if exists("a")==1|exists("b")==0 then bugmes();quit;end
72 clear a b xxxx
73 if execstr("try a=1 catch b=2;end","errcatch")<>0 then bugmes();quit;end
74 if exists("a")==0|exists("b")==1 then bugmes();quit;end
75 clear a b xxxx
76 try,  a=xxxx;catch, b=2;end
77 if exists("a")==1|exists("b")==0 then bugmes();quit;end
78 if b<>2 then bugmes();quit;end
79 clear a  xxxx
80 try a=xxxx;catch end
81 if exists("a")==1 then bugmes();quit;end
82 clear a  xxxx
83 try,  a=xxxx;end
84 if exists("a")==1 then bugmes();quit;end
85 clear a b xxxx
86 if execstr("try;catch, b=2;end", "errcatch") == 0 then bugmes();quit;end
87 if exists("b")==1 then bugmes();quit;end
88 if execstr("try,end", "errcatch") == 0 then bugmes();quit;end
89 clear a b xxxx
90 u=1;try,  a=xxxx;catch, b=2;end
91 if exists("a")==1|exists("b")==0 then bugmes();quit;end
92 if b<>2 then bugmes();quit;end
93 clear a b xxxx
94 try, if %t then  a=xxxx;end;catch, b=2;end
95 if exists("a")==1|exists("b")==0 then bugmes();quit;end
96 if b<>2 then bugmes();quit;end
97 //nested try catch
98 clear a b xxxx
99 try
100     a=xxxx;
101 catch
102     try
103         b=xxx,
104     catch
105         b=2;
106     end;
107     b=b+1;
108 end
109 if exists("a")==1|exists("b")==0 then bugmes();quit;end
110 if b<>3 then bugmes();quit;end
111 clear a b xxxx
112 try   a=xxxx;catch try b=xxx,catch b=2;end;end
113 if exists("a")==1|exists("b")==0 then bugmes();quit;end
114 if b<>2 then bugmes();quit;end
115 clear a b xxxx
116 try a=2;try a=xxxx; catch a=a+1; end;catch;b=2;end
117 if exists("a")==0|exists("b")==1 then bugmes();quit;end
118 if a<>3 then bugmes();quit;end
119 clear a b xxxx
120 try a=2;try a=xxxx; catch a=a+1; end;b=2;end
121 if exists("a")==0|exists("b")==0 then bugmes();quit;end
122 if a<>3|b<>2 then bugmes();quit;end
123 //catch in  functions
124 funcprot(0);
125 clear a b
126 deff("r=test()",[
127 "try"
128 "  a=1;"
129 "catch "
130 "  b=2+1;"
131 "end"
132 "r=exists(''a'')==0|exists(''b'')==1 "
133 "r=r|a<>1"])
134 if test() then bugmes();quit;end
135 deff("r=test()",[
136 "try  a=1;"
137 "catch "
138 "  b=2;"
139 "end"
140 "r=exists(''a'')==0|exists(''b'')==1"
141 "r=r|a<>1"])
142 if test() then bugmes();quit;end
143 deff("r=test()",[
144 "try  a=1;"
145 "catch  b=2;"
146 "end"
147 "r=exists(''a'')==0|exists(''b'')==1"
148 "r=r|a<>1"])
149 if test() then bugmes();quit;end
150 deff("r=test()",[
151 "try  a=1;catch  b=2;end"
152 "r=exists(''a'')==0|exists(''b'')==1"
153 "r=r|a<>1"])
154 if test() then bugmes();quit;end
155 deff("r=test()",[
156 "try,  a=1;catch,  b=2;end"
157 "r=exists(''a'')==0|exists(''b'')==1"
158 "r=r|a<>1"])
159 if test() then bugmes();quit;end
160 clear a b xxxx
161 deff("r=test()",[
162 "try"
163 "  a=xxxx;"
164 "catch "
165 "  b=2;"
166 "end"
167 "r=exists(''a'')==1|exists(''b'')==0"
168 "r=r|b<>2"])
169 if test() then bugmes();quit;end
170 deff("r=test()",[
171 "try a=xxxx;"
172 "catch "
173 "  b=2;"
174 "end"
175 "r=exists(''a'')==1|exists(''b'')==0"
176 "r=r|b<>2"])
177 if test() then bugmes();quit;end
178 deff("r=test()",[
179 "try"
180 "  a=xxxx;"
181 "catch b=2;"
182 "end"
183 "r=exists(''a'')==1|exists(''b'')==0"
184 "r=r|b<>2"])
185 if test() then bugmes();quit;end
186 deff("r=test()",[
187 "try a=xxxx;"
188 "catch b=2;"
189 "end"
190 "r=exists(''a'')==1|exists(''b'')==0"
191 "r=r|b<>2"])
192 if test() then bugmes();quit;end
193 deff("r=test()",[
194 "try a=xxxx;catch b=2;end"
195 "r=exists(''a'')==1|exists(''b'')==0"
196 "r=r|b<>2"])
197 if test() then bugmes();quit;end
198 deff("r=test()",[
199 "if execstr(''try a=xxxx catch b=2;end'',''errcatch'')<>0 then bugmes();quit;end"
200 "r=exists(''a'')==1|exists(''b'')==0 "])
201 if test() then bugmes();quit;end
202 deff("r=test()",[
203 "try a=xxxx catch b=2;end"
204 "r=exists(''a'')==1|exists(''b'')==0"
205 "r=r|b<>2"])
206 if execstr("test()","errcatch")<>0 then bugmes();quit;end
207 deff("r=test()",[
208 "if execstr(''try a=1 catch b=2;end'',''errcatch'')<>0 then bugmes();quit;end"
209 "r=exists(''a'')==0|exists(''b'')==1 "])
210 if test() then bugmes();quit;end
211 deff("r=test()",[
212 "try a=1, catch b=2;end"
213 "r=exists(''a'')==0|exists(''b'')==1"
214 "r=r|a<>1"])
215 if execstr("r=test()","errcatch")<>0 then bugmes();quit;end
216 if r then bugmes();quit;end
217 deff("r=test()",[
218 "try b=xxxx, catch a=1;end"
219 "r=exists(''a'')==0|exists(''b'')==1"
220 "r=r|a<>1"])
221 if execstr("r=test()","errcatch")<>0 then bugmes();quit;end
222 if r then bugmes();quit;end
223 deff("r=test()",[
224 "try a=1 catch b=2;end"
225 "r=exists(''a'')==0|exists(''b'')==1"
226 "r=r|a<>1"])
227 if execstr("test()","errcatch")<>0 then bugmes();quit;end
228 deff("r=test()",[
229 "try,  a=xxxx;catch, b=2;end"
230 "r=exists(''a'')==1|exists(''b'')==0"
231 "r=r|b<>2"])
232 if test() then bugmes();quit;end
233 deff("r=test()",[
234 "try,  a=xxxx;catch end"
235 "r=exists(''a'')==1"])
236 if test() then bugmes();quit;end
237 deff("r=test()",[
238 "try,  a=1;end"
239 "r=exists(''a'')==0"
240 "r=r|a<>1"])
241 if test() then bugmes();quit;end
242 deff("r=test()",[
243 "try,  a=xxxx;end"
244 "r=exists(''a'')==1"])
245 if test() then bugmes();quit;end
246 if execstr("deff(""r=test()"",[""try;catch, b=2;end"" ""r=exists(""""b"""")==1""])" ,"errcatch") == 0 then bugmes();quit;end
247 if execstr("deff(""r=test()"",[""try;end"" ""r=%f""])", "errcatch") == 0 then bugmes();quit;end
248 deff("r=test()",[
249 "try, if %t then  a=xxxx,end;catch, b=2;end"
250 "r=exists(''a'')==1|exists(''b'')==0"
251 "r=r|b<>2"])
252 if test() then bugmes();quit;end
253 //nested try catch
254 deff("r=test()",[
255 "try   "
256 "  a=xxxx;"
257 "catch "
258 "  try "
259 "    b=xxx,"
260 "  catch "
261 "    b=2;"
262 "  end;"
263 "  b=b+1;"
264 "end"
265 "r=exists(''a'')==1|exists(''b'')==0"
266 "r=r|b<>3"])
267 if test() then bugmes();quit;end
268 deff("r=test()",[
269 "try   a=xxxx;catch try b=xxx,catch b=2;end;end"
270 "r=exists(''a'')==1|exists(''b'')==0"
271 "r=r|b<>2"])
272 if test() then bugmes();quit;end
273 deff("test()",["try a=2; try a=xxxx; catch a=a+1,end; catch;b=2;end"])
274 tree2code(macr2tree(test))
275  ans  =
276   "function test()"
277   "try "           
278   "  a = 2;  try " 
279   "    a = xxxx;"  
280   "  catch "       
281   "    a = a+1"    
282   "  end;"         
283   "catch "         
284   "  b = 2;"       
285   "end;"           
286   "endfunction"    
287   ""               
288 deff("r=test()",[
289 "try a=2;try a=xxxx+33; catch a=a+1,end;catch;b=2;end"
290 "r=exists(''a'')==0|exists(''b'')==1"
291 "r=r|a<>3"])
292 if test() then bugmes();quit;end
293 deff("r=test()",[
294 "try a=2;try a=xxxx; catch a=a+1,end;b=2;end"
295 "r=exists(''a'')==0|exists(''b'')==0"
296 "r=r|a<>3|b<>2"])
297 if test() then bugmes();quit;end
298 deff("r=test()",[
299 "try a=2;if %t then try a=xxxx; catch a=a+1,end;end;b=2;end"
300 "r=exists(''a'')==0|exists(''b'')==0"
301 "r=r|a<>3|b<>2"])
302 if test() then bugmes();quit;end
303 deff("r=test()",[
304 "try a=2;if %t then try a=xxxx; catch a=a+1,end;b=2;end;end"
305 "r=exists(''a'')==0|exists(''b'')==0"
306 "r=r|a<>3|b<>2"])
307 if test() then bugmes();quit;end
308 deff("r=test()",[
309 "try a=2;try a=xxxx; catch if %t then a=a+1,end,end;b=2;end"
310 "r=exists(''a'')==0|exists(''b'')==0"
311 "r=r|a<>3|b<>2"])
312 if test() then bugmes();quit;end
313 deff("r=test()",[
314 "if %t then try a=2;try a=xxxx; catch a=a+1,end;b=2;end;end"
315 "r=exists(''a'')==0|exists(''b'')==0"
316 "r=r|a<>3|b<>2"])
317 if test() then bugmes();quit;end
318 deff("r=test()",[
319 "try a=2;try a=xxxx; catch for k=1:2,a=a+1,end,end;b=2;end"
320 "r=exists(''a'')==0|exists(''b'')==0"
321 "r=r|a<>4|b<>2"])
322 if test() then bugmes();quit;end
323 deff("r=test()",[
324 "for k=1:3,try a=2;if %t then try a=xxxx; catch a=a+1,end;end;b=2;end,end"
325 "r=exists(''a'')==0|exists(''b'')==0"
326 "r=r|a<>3|b<>2"])
327 if test() then bugmes();quit;end
328 deff("r=test()",[
329 "for k=1:3,try a=2;if %t then try a=xxxx; catch for k=1:2,a=a+1,end,end;end;b=2;end,end"
330 "r=exists(''a'')==0|exists(''b'')==0"
331 "r=r|a<>4|b<>2"])
332 if test() then bugmes();quit;end
333 deff("r=test()",[
334 "b=0;while b==0,try a=2;if %t then try a=xxxx; catch a=a+1,end;end;b=2;end,end"
335 "r=exists(''a'')==0|exists(''b'')==0"
336 "r=r|a<>3|b<>2"])
337 if test() then bugmes();quit;end
338 deff("b=test1()",[
339 "  try "
340 "    b=xxx,"
341 "  catch "
342 "    b=2;"
343 "  end;"])
344 deff("r=test()",[
345 "try"
346 "  a=xxxx;"
347 "catch"
348 "  b=test1()"
349 "  b=b+1"
350 "end"
351 "r=exists(''b'')==0"
352 "r=r|b<>3"])
353 if test() then bugmes();quit;end