1// ============================================================================
2// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3// Copyright (C) 2015 - Scilab Enterprises - Calixte DENIZET
4//
5//  This file is distributed under the same license as the Scilab package.
6// ============================================================================
7//
8// <-- CLI SHELL MODE -->
9//
10a = slint("SCI/modules/slint/tests/unit_tests/files/GlobalKeyword.sci",%f);
11assert_checktrue(isfield(a.info, "00001"));
12assert_checkequal(size(a.info("00001"), "*"), 1);
13assert_checkequal(a.info("00001").loc, [2 3; 2 9]);
14a = slint("SCI/modules/slint/tests/unit_tests/files/Redefinition.sci",%f);
15assert_checktrue(isfield(a.info, "00002"));
16assert_checkequal(size(a.info("00002"), "*"), 3);
17assert_checkequal(a.info("00002")(1).loc, [2 3; 2 6]);
18assert_checkequal(a.info("00002")(2).loc, [3 3; 3 10]);
19assert_checkequal(a.info("00002")(3).loc, [4 3; 4 10]);
20a = slint("SCI/modules/slint/tests/unit_tests/files/Variables.sci",%f);
21assert_checktrue(isfield(a.info, "00003"));
22assert_checkequal(size(a.info("00003"), "*"), 4);
23assert_checkequal(a.info("00003")(1).loc, [2 6; 2 7]);
24assert_checkequal(a.info("00003")(1).msg, _("Use of non-initialized variable ''a'' may have any side-effects."));
25assert_checkequal(a.info("00003")(2).loc, [8 3; 8 4]);
26assert_checkequal(a.info("00003")(2).msg, _("Declared variable and might be unused: l."));
27assert_checkequal(a.info("00003")(3).loc, [3 2; 3 3]);
28assert_checkequal(a.info("00003")(3).msg, _("Declared variable and might be unused: x."));
29assert_checkequal(a.info("00003")(4).loc, [8 6; 8 7]);
30assert_checkequal(a.info("00003")(4).msg, _("Declared variable and might be unused: r."));
31a = slint("SCI/modules/slint/tests/unit_tests/files/Variables.sci",%f);
32assert_checktrue(isfield(a.info, "00003"));
33assert_checkequal(size(a.info("00003"), "*"), 4);
34assert_checkequal(a.info("00003")(1).loc, [2 6; 2 7]);
35assert_checkequal(a.info("00003")(1).msg, _("Use of non-initialized variable ''a'' may have any side-effects."));
36assert_checkequal(a.info("00003")(2).loc, [8 3; 8 4]);
37assert_checkequal(a.info("00003")(2).msg, _("Declared variable and might be unused: l."));
38assert_checkequal(a.info("00003")(3).loc, [3 2; 3 3]);
39assert_checkequal(a.info("00003")(3).msg, _("Declared variable and might be unused: x."));
40assert_checkequal(a.info("00003")(4).loc, [8 6; 8 7]);
41assert_checkequal(a.info("00003")(4).msg, _("Declared variable and might be unused: r."));
42a = slint("SCI/modules/slint/tests/unit_tests/files/FunctionArgs.sci",%f);
43assert_checktrue(isfield(a.info, "00005"));
44assert_checkequal(size(a.info("00005"), "*"), 2);
45assert_checkequal(a.info("00005")(1).loc, [4 1; 5 12]);
46assert_checkequal(a.info("00005")(1).msg, _("Duplicated function arguments: b."));
47assert_checkequal(a.info("00005")(2).loc, [7 1; 8 12]);
48assert_checkequal(a.info("00005")(2).msg, _("Function arguments used as output values: a."));
49a = slint("SCI/modules/slint/tests/unit_tests/files/UselessArg.sci",%f);
50assert_checktrue(isfield(a.info, "00006"));
51assert_checkequal(size(a.info("00006"), "*"), 1);
52assert_checkequal(a.info("00006")(1).loc, [5 29; 5 30]);
53assert_checkequal(a.info("00006")(1).msg, _("Function argument might be unused: b."));
54a = slint("SCI/modules/slint/tests/unit_tests/files/UselessRet.sci",%f);
55assert_checktrue(isfield(a.info, "00007"));
56assert_checkequal(size(a.info("00007"), "*"), 1);
57assert_checkequal(a.info("00007")(1).loc, [5 11; 5 12]);
58assert_checkequal(a.info("00007")(1).msg, _("Function returned value might be unused: y."));
59a = slint("SCI/modules/slint/tests/unit_tests/files/SingleInstr.sci",%f);
60assert_checktrue(isfield(a.info, "00009"));
61assert_checkequal(size(a.info("00009"), "*"), 1);
62assert_checkequal(a.info("00009")(1).loc, [2 8; 2 14]);
63a = slint("SCI/modules/slint/tests/unit_tests/files/EmptyBlock.sci",%f);
64assert_checktrue(isfield(a.info, "00010"));
65assert_checkequal(size(a.info("00010"), "*"), 1);
66assert_checkequal(a.info("00010")(1).loc, [3 1; 3 1]);
67a = slint("SCI/modules/slint/tests/unit_tests/files/MopenMclose.sci",%f);
68assert_checktrue(isfield(a.info, "00011"));
69assert_checkequal(size(a.info("00011"), "*"), 2);
70assert_checkequal(a.info("00011")(1).loc, [1 1; 3 12]);
71assert_checkequal(a.info("00011")(1).msg, _("Open files not closed: fd."));
72assert_checkequal(a.info("00011")(2).loc, [7 1; 7 14]);
73a = slint("SCI/modules/slint/tests/unit_tests/files/McCabe.sci",%f);
74assert_checktrue(isfield(a.info, "00012"));
75assert_checkequal(size(a.info("00012"), "*"), 1);
76assert_checkequal(a.info("00012")(1).loc, [1 1; 91 12]);
77assert_checkequal(a.info("00012")(1).msg, _("McCabe''s complexity is 33 and is greater than 30."));
78a = slint("SCI/modules/slint/tests/unit_tests/files/Decimal.sci",%f);
79assert_checktrue(isfield(a.info, "00013"));
80assert_checkequal(size(a.info("00013"), "*"), 3);
81assert_checkequal(a.info("00013")(1).loc, [2 5; 2 11]);
82assert_checkequal(a.info("00013")(1).msg, _("Decimal numbers musn''t begin by a dot."));
83assert_checkequal(a.info("00013")(2).loc, [3 5; 3 11]);
84assert_checkequal(a.info("00013")(2).msg, _("Bad decimal exponent: e was expected and d was found."));
85assert_checkequal(a.info("00013")(3).loc, [4 5; 4 11]);
86assert_checkequal(a.info("00013")(3).msg, _("Bad decimal exponent: e was expected and D was found."));
87