Revert "fix evstr for non sizeable variables ( enull, jnull, jnull, jvoid, ... )"
[scilab.git] / scilab / modules / string / tests / nonreg_tests / bug_10196.tst
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2017 - Samuel GOUGEON
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7 // <-- CLI SHELL MODE -->
8 // <-- NO CHECK REF -->
9 //
10 // <-- Non-regression test for bug 10196 -->
11 //
12 // <-- Bugzilla URL -->
13 // http://bugzilla.scilab.org/10196
14 //
15 // <-- Short Description -->
16 // evstr(s):
17 //  a) when s is scalar and its result is void, an error occured
18 //  b) when s is a vector and one of its components is void or empty, this one
19 //     was not returned and next components were shifted.
20 //  c) when s is a matrix and one of its components is void or empty,
21 //     an error occured
22
23 assert_checkequal(execstr("evstr(""rand()"")", "errcatch"),0); // normal
24 assert_checkequal(evstr("1 2"), [1 2]);                        // normal
25 assert_checkequal(evstr("1;2"), [1; 2]);                       // normal
26 assert_checktrue(execstr("evstr(''whereami()'')", "errcatch") == 0); // debugged
27 assert_checkequal(evstr("whereami()"), []);     // debugged
28
29 //
30 assert_checkequal(evstr(["%pi" "[]"   "%i" "%eps"]), [%pi %nan   %i %eps]);
31 assert_checkequal(evstr(["%pi" "[]" ; "%i" "%eps"]), [%pi %nan ; %i %eps]);
32 assert_checkequal(evstr(["%t" "[]"   "%f" "%T"]), [%t %f   %f %t]);
33 assert_checkequal(evstr(["%t" "[]" ; "%f" "%T"]), [%t %f ; %f %t]);
34 assert_checkequal(evstr(["""A""" "[]"   """B""" """C"""]), ["A" ""   "B" "C"]);
35 assert_checkequal(evstr(["""A""" "[]" ; """B""" """C"""]), ["A" "" ; "B" "C"]);
36 t = ["int8(3)" "[]" ; "int8(4)" "int8(5)"];
37 assert_checkequal(evstr(t(:)'), int8([3 4 0 5]));
38 assert_checkequal(evstr(t),    int8([3 0 ; 4 5]));
39
40 assert_checkequal(evstr(["%pi" ""   "%i" "%eps"]), [%pi %nan   %i %eps]);
41 assert_checkequal(evstr(["%pi" "" ; "%i" "%eps"]), [%pi %nan ; %i %eps]);
42 assert_checkequal(evstr(["%t"  ""    "%f" "%T"]),  [%t %f   %f %t]);
43 assert_checkequal(evstr(["%t"  ""   ; "%f" "%T"]), [%t %f ; %f %t]);
44 assert_checkequal(evstr(["""A""" ""   """B""" """C"""]), ["A" ""   "B" "C"]);
45 assert_checkequal(evstr(["""A""" "" ; """B""" """C"""]), ["A" "" ; "B" "C"]);
46 t = ["int8(3)" "" ; "int8(4)" "int8(5)"];
47 assert_checkequal(evstr(t(:)'), int8([3 4 0 5]));
48 assert_checkequal(evstr(t),    int8([3 0 ; 4 5]));
49
50 assert_checkequal(evstr(["%pi" " // nothing"   "%i" "%eps"]), [%pi %nan   %i %eps]);
51 assert_checkequal(evstr(["%pi" " // nothing" ; "%i" "%eps"]), [%pi %nan ; %i %eps]);
52 assert_checkequal(evstr(["%t"  " // nothing"    "%f" "%T"]),  [%t %f   %f %t]);
53 assert_checkequal(evstr(["%t"  " // nothing"   ; "%f" "%T"]), [%t %f ; %f %t]);
54 assert_checkequal(evstr(["""A""" " // nothing"   """B""" """C"""]), ["A" ""   "B" "C"]);
55 assert_checkequal(evstr(["""A""" " // nothing" ; """B""" """C"""]), ["A" "" ; "B" "C"]);
56 t = ["int8(3)" " // nothing" ; "int8(4)" "int8(5)"];
57 assert_checkequal(evstr(t(:)'), int8([3 4 0 5]));
58 assert_checkequal(evstr(t),    int8([3 0 ; 4 5]));