* Bug #13166: NR test added: 'l' & 'b' flags were sticky in mget & mgeti
[scilab.git] / scilab / modules / fileio / tests / nonreg_tests / bug_13166.tst
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2016 - Samuel GOUGEON
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 13166 -->
11 //
12 // <-- Bugzilla URL -->
13 // http://bugzilla.scilab.org/13166
14 //
15 // <-- Short Description -->
16 // The "l" and "b" endian modes were sticky with mget and mgeti
17
18 binfile = TMPDIR+"/mgetest.bin";
19 idF = mopen(binfile, "wb");
20 mput(int8(0:16),"uc");
21 mclose(idF);
22
23 for mod = ["c" "uc" "s" "us" "i" "ui" "l" "ul"]
24     idF = mopen(binfile, "rb");
25     dres = mget(1, mod);   // Default endian mode
26
27     mseek(0);
28     mget(1, mod+"l");
29     mseek(0);
30     assert_checkequal(mget(1,mod), dres);
31     mseek(0);
32     mget(1, mod+"b");
33     mseek(0);
34     assert_checkequal(mget(1, mod), dres);
35
36     mseek(0);
37     dres = mgeti(1, mod);
38     mseek(0);
39     mgeti(1, mod+"l");
40     mseek(0);
41     assert_checkequal(mgeti(1, mod), dres);
42     mseek(0);
43     mgeti(1, mod+"b");
44     mseek(0);
45     assert_checkequal(mgeti(1, mod), dres);
46
47     mclose(idF);
48 end