bug 13972 : use of wildcard '*' in printf expressions was not managed
[scilab.git] / scilab / modules / output_stream / tests / nonreg_tests / bug_13972.tst
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2015 - Scilab Enterprises - Antoine ELIAS
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7 //
8 // <-- CLI SHELL MODE -->
9 //
10 // <-- Non-regression test for bug 13972 -->
11 //
12 // <-- Bugzilla URL -->
13 // http://bugzilla.scilab.org/show_bug.cgi?id=13972
14 //
15 // <-- Short Description -->
16 // use of wildcard '*' in printf expressions was not managed
17 //
18
19 //with double
20 printf("|%*f|\n", 20, rand());
21 printf("|%*f|\n", -20, rand());
22 printf("|%.*f|\n", 8, rand());
23 printf("|%.*f|\n", -8, rand());
24 printf("|%*.*f|\n", 20, 8, rand());
25 printf("|%*.*f|\n", 20, -8, rand());
26 printf("|%*.*f|\n", -20, 8, rand());
27 printf("|%*.*f|\n", -20, -8, rand());
28
29 //with string
30 printf("|%s|\n", "test");
31 printf("|%*s|\n", -10, "test");
32 printf("|%*s|\n", -5, "test");
33 printf("|%*s|\n", 0, "test");
34 printf("|%*s|\n", 5, "test");
35 printf("|%*s|\n", 10, "test");
36
37 //multiple
38 printf("|%*s|%*s|%*s|%*s|\n", -10, "test", -5, "test", 5, "test", 10, "test");
39 printf("|%*s|\n", -10, ["t";"tt";"ttt";"tttt";"ttttt";"tttttt";"ttttttt";"tttttttt";"ttttttttt";"tttttttttt"]);
40 printf("|%*s|\n", 10, ["t";"tt";"ttt";"tttt";"ttttt";"tttttt";"ttttttt";"tttttttt";"ttttttttt";"tttttttttt"]);
41
42 printf("|%*d|%*d|%*d|%*d|\n", -10, -10, -5, -5, 5, 5, 10, 10);
43 printf("|%*d|\n", -8, [1;22;333;4444;55555;666666;7777777;88888888]);
44 printf("|%*d|\n", 8, [1;22;333;4444;55555;666666;7777777;88888888]);
45 printf("|%0*d|\n", 8, [1;22;333;4444;55555;666666;7777777;88888888]);
46 printf("|%.*d|\n", -8, [1;22;333;4444;55555;666666;7777777;88888888]);
47 printf("|%.*d|\n", 8, [1;22;333;4444;55555;666666;7777777;88888888]);