edc9d33a03ea63bcdf887b3e870c6fcd94cf5e66
[scilab.git] / scilab / modules / m2sci / tests / nonreg_tests / bug_1262.tst
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2005      - INRIA - Farid BELAHCENE
4 // Copyright (C) 2005-2008 - INRIA - Pierre MARECHAL <pierre.marechal@inria.fr>
5 //
6 //  This file is distributed under the same license as the Scilab package.
7 // =============================================================================
8 //
9 // <-- CLI SHELL MODE -->
10 // <-- ENGLISH IMPOSED -->
11 // <-- NO CHECK REF -->
12 // <-- NOT FIXED -->   6.0.0 -> 6.0.2
13 //
14 // <-- Non-regression test for bug 1262 -->
15 //
16 // <-- Bugzilla URL -->
17 // http://bugzilla.scilab.org/1262
18 //
19 // <-- Short Description -->
20 //    Four errors of mfile2sci are reported
21 //    (scilab-3.0-u-20050309) Linux+Windows+Solaris.
22 //
23 //    Briefly:
24 //    1) end; end -> endend
25 //    2) Initialization to empty matrix at wrong place
26 //    3) Problem with useless [ or ]
27 //    4) -(A-B) -> -A-B
28 //
29 //    Apply mfile2sci to the Matlab script given below.
30
31 MFILECONTENTS = [
32     "A = rand(3,3);"
33     ""
34     "for ii=1:3; for jj=1:3; disp(A(ii,jj)); end; end"
35     ""
36     "k=0;"
37     "for ii=1:3;"
38     "   for jj=1:3;"
39     "      if k>2 then"
40     "         B(ii,jj) = A(ii,jj);"
41     "         k = 0;"
42     "      else"
43     "         k = k+1;"
44     "      end;"
45     "  end;"
46     "end;"
47     ""
48     "C = [A [A [1;2;3]]];"
49     ""
50     "B = -(A-A)"];
51
52 MFILE=TMPDIR+"/bug1262.m";
53 SCIFILE=TMPDIR+"/bug1262.sci";
54
55 mputl(MFILECONTENTS,MFILE);
56
57 mfile2sci(MFILE,TMPDIR);
58 SCIFILECONTENTS=mgetl(SCIFILE);
59
60
61 SCIFILECONTENTSREF = [
62     ""
63     "A = rand(3,3);"
64     ""
65     "for ii = 1:3 for jj = 1:3 disp(A(ii,jj));end;end;"
66     ""
67     "k = 0;"
68     "for ii = 1:3"
69     "  for jj = 1:3"
70     "    if k>2 then"
71     "      B(ii,jj) = A(ii,jj);"
72     "      k = 0;"
73     "    else"
74     "      k = k+1;"
75     "    end;"
76     "  end;"
77     "end;"
78     ""
79     "C = [A,A,[1;2;3]];"
80     ""
81     "B = -(A-A)"];
82
83 if or(SCIFILECONTENTSREF<>SCIFILECONTENTS) then pause,end