2ceddbad0a72ccb090b4204964c38b5bcc06a03a
[scilab.git] / scilab / modules / core / tests / nonreg_tests / bug_3407.tst
1 //<-- CLI SHELL MODE -->
2 // =============================================================================
3 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4 // Copyright (C) 2005-2009 - INRIA - Serge.Steer@inria.fr
5 //
6 //  This file is distributed under the same license as the Scilab package.
7 // =============================================================================
8 //
9 // <-- Non-regression test for bug 3407 -->
10 //
11 // <-- Bugzilla URL -->
12 // http://bugzilla.scilab.org/show_bug.cgi?id=3407
13 //
14 // <-- Short Description -->
15 //Invalid line numbering in compiled functions
16
17 fprot=funcprot();
18 funcprot(0);
19
20 function l=myfun()
21     a=1
22     a=1
23     a=[1;..
24     1;..
25     1;..
26     1;..
27     1;..
28     1;..
29     2]
30     a=1
31     a=1
32     [l,w]=where()
33 endfunction
34 l=myfun();if l(1)<>13 then pause,end
35 //If
36
37 function l=myfun2(),if  %t then [l,w]=where(),end,endfunction
38 l=myfun2();if l(1)<>1 then pause,end
39
40 function l=myfun2()
41     if  %t then [l,w]=where(),end
42 endfunction
43 l=myfun2();if l(1)<>2 then pause,end
44
45 function l=myfun2()
46     if  %t then
47         [l,w]=where()
48     end
49 endfunction
50 l=myfun2();if l(1)<>3 then pause,end
51
52 function l=myfun2()
53     if  [%t
54         %t] then
55         [l,w]=where()
56     end
57 endfunction
58 l=myfun2();if l(1)<>4 then pause,end
59
60 function l=myfun2()
61     if  [%t,..
62         %t] then
63         [l,w]=where()
64     end
65 endfunction
66 l=myfun2();if l(1)<>4 then pause,end
67
68
69 function l=myfun2()
70     if  %f then
71         l=0,
72     else
73         [l,w]=where()
74     end
75 endfunction
76 l=myfun2();if l(1)<>5 then pause,end
77
78 function l=myfun2()
79     if  %f then
80         l=0,
81     else
82         l=0
83     end
84     [l,w]=where()
85 endfunction
86 l=myfun2();if l(1)<>7 then pause,end
87
88 //for
89 function l=myfun2(),for k=1, [l,w]=where(),end,endfunction
90 l=myfun2();if l(1)<>1 then pause,end
91
92 function l=myfun2(),
93     for k=1, [l,w]=where(),end,
94 endfunction
95 l=myfun2();if l(1)<>2 then pause,end
96
97 function l=myfun2(),
98     for k=1,..
99         [l,w]=where(),
100     end,
101 endfunction
102 l=myfun2();if l(1)<>3 then pause,end
103
104 function l=myfun2(),
105     for k=1,
106         [l,w]=where(),
107     end,
108 endfunction
109 l=myfun2();if l(1)<>3 then pause,end
110
111 function l=myfun2(),
112     for k=1,
113         l=0
114     end,
115     [l,w]=where(),
116 endfunction
117 l=myfun2();if l(1)<>5 then pause,end
118
119 function l=myfun2(),
120     for k=1,
121         l=0
122     end,
123     x=[1;
124     2];
125     [l,w]=where(),
126 endfunction
127 l=myfun2();if l(1)<>7 then pause,end
128
129 function l=myfun2(),
130     for k=1,
131         l=0
132     end,
133     x=[1,..
134     2];
135     [l,w]=where(),
136 endfunction
137 l=myfun2();if l(1)<>7 then pause,end
138
139 //while
140 function l=myfun2(),while  %t then [l,w]=where(),break,end,endfunction
141 l=myfun2();if l(1)<>1 then pause,end
142
143 function l=myfun2()
144     while  %t then [l,w]=where(),break,end
145 endfunction
146 l=myfun2();if l(1)<>2 then pause,end
147
148 function l=myfun2()
149     while  %t then
150         [l,w]=where(),break
151     end
152 endfunction
153 l=myfun2();if l(1)<>3 then pause,end
154
155
156 function l=myfun2()
157     while  %f then
158         l=0,
159     end
160     [l,w]=where()
161 endfunction
162 l=myfun2();if l(1)<>5 then pause,end
163
164 //Select
165 function l=myfun2(),select 1,case 1 then [l,w]=where(),end,endfunction
166 l=myfun2();if l(1)<>1 then pause,end
167
168 function l=myfun2()
169     select 1,case 1 then [l,w]=where(),end
170 endfunction
171 l=myfun2();if l(1)<>2 then pause,end
172
173 function l=myfun2()
174     select 1,case 1
175         [l,w]=where()
176     end
177 endfunction
178 l=myfun2();if l(1)<>3 then pause,end
179
180 function l=myfun2()
181     select 1,..
182     case 1
183         [l,w]=where()
184     end
185 endfunction
186 l=myfun2();if l(1)<>4 then pause,end
187
188 function l=myfun2()
189     select 1,
190     case 1
191         [l,w]=where()
192     end
193 endfunction
194 l=myfun2();if l(1)<>4 then pause,end
195
196 function l=myfun2()
197     select 1,
198     case 0
199         l=0
200     case 1
201         [l,w]=where()
202     end
203 endfunction
204 l=myfun2();if l(1)<>6 then pause,end
205
206 function l=myfun2()
207     select 1,
208     case 0
209         l=0
210     case 2
211         l=3
212     else
213         [l,w]=where()
214     end
215 endfunction
216 l=myfun2();if l(1)<>8 then pause,end
217
218 function l=myfun2()
219     select 1,
220     case 0
221         l=0
222     case 2
223         l=3
224     else
225         l=-1
226     end
227     [l,w]=where()
228 endfunction
229 l=myfun2();if l(1)<>10 then pause,end
230
231
232
233
234
235 //try
236 function l=myfun2(),try, [l,w]=where(),end,endfunction
237 l=myfun2();if l(1)<>1 then pause,end
238
239 function l=myfun2()
240     try [l,w]=where(),end
241 endfunction
242 l=myfun2();if l(1)<>2 then pause,end
243
244 function l=myfun2()
245     try
246         [l,w]=where()
247     end
248 endfunction
249 l=myfun2();if l(1)<>3 then pause,end
250
251 function l=myfun2()
252     try ..
253         [l,w]=where()
254     end
255 endfunction
256 l=myfun2();if l(1)<>3 then pause,end
257
258
259 function l=myfun2()
260     try
261         error(999)
262     catch
263         [l,w]=where()
264     end
265 endfunction
266 l=myfun2();if l(1)<>5 then pause,end
267
268 function l=myfun2()
269     try
270         error(999)
271     catch
272         l=0
273     end
274     [l,w]=where()
275 endfunction
276 l=myfun2();if l(1)<>7 then pause,end
277
278 function l=myfun2()
279     try
280         l=0
281     catch
282         l=0
283     end
284     [l,w]=where()
285 endfunction
286 l=myfun2();if l(1)<>7 then pause,end
287
288 funcprot(fprot);