1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#!/usr/bin/env smbscript
/*
test sprintf function
*/
string_init(local);
function check_result(s, v)
{
if (s != v) {
println("expected '" + v + "' but got '" + s + "'");
}
assert(s == v);
}
function xprintf()
{
return "XX{" + vsprintf(arguments) + "}XX";
}
check_result(sprintf("%d", 7), "7");
check_result(sprintf("%04d", 42), "0042");
check_result(sprintf("my string=%7.2s", "foo%7"), "my string= fo");
check_result(sprintf("blah=0x%*x", 4, 19), "blah=0x 13");
check_result(sprintf("blah=0x%0*x", 4, 19), "blah=0x0013");
check_result(sprintf("blah=%.0f", 1032), "blah=1032");
check_result(sprintf("%4.2f%%", 72.32), "72.32%");
check_result(xprintf("%4.2f%% and %s", 72.32, "foo"),"XX{72.32% and foo}XX");
println("ALL OK");
|