50b9dd42b6ca56e82d05253353abc12abb84807c
[scilab.git] / scilab / modules / console / tests / nonreg_tests / bug_13226.tst
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2014 - Scilab Enterprises - Calixte DENIZET
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7
8 //
9 // <-- Non-regression test for bug 13226 -->
10 //
11 // <-- Bugzilla URL -->
12 // http://bugzilla.scilab.org/13226
13 //
14 // <-- Short Description -->
15 // Completion with accentued chars could lead to a a crash
16
17 file_path = SCI + "/modules/console/tests/nonreg_tests/";
18 mkdir(TMPDIR + "/console");
19 cd(TMPDIR + "/console");
20
21 ilib_verbose(0);
22 ilib_name   = "console_c";
23 files       = "bug_13226.c";
24
25 for i = 1 : size(files, "*")
26     copyfile(file_path + "/" + files(i), TMPDIR + "/console");
27 end
28
29 if getos() == "Windows" then
30     libs   = SCI   + "/bin/sciconsole";
31     cflags = "-I " + SCI +"/modules/console/includes";
32
33 elseif isdir(SCI+"/modules/console/includes")
34     // Unix source version
35     libs   = SCI + "/modules/console/.libs/libsciconsole";
36     cflags = "-I " + SCI +"/modules/console/includes -I " + SCI + "/modules/localization/includes";
37
38 else
39     // Unix binary version
40     SCI_LIB     = strsubst(SCI,"/share\/scilab$/","lib/scilab"     ,"r");
41     SCI_INCLUDE = strsubst(SCI,"/share\/scilab$/","include/scilab" ,"r");
42     libs        = SCI_LIB + "/libsciconsole";
43     cflags      = "-I " + SCI_INCLUDE;
44 end
45
46 // name known in scilab , C function called
47 table = ["completecommandline"    ,"sci_completecommandline"];
48 libname = ilib_build(ilib_name,table,files,libs,[],"",cflags);
49
50 clear ilib_build;
51 clear libname;
52 clear table;
53 clear libs;
54 clear files;
55 clear ilib_name;
56 clear gateway_c_dir;
57 clear SCI_LIB;
58 clear SCI_INCLUDE;
59
60 ierr = exec(TMPDIR + "/console/loader.sce", "errcatch", -1);
61
62 createdir(TMPDIR+"/Téléchargements");
63 mputl("",TMPDIR+"/Téléchargements/foo.bar");
64 cd(TMPDIR);
65
66 [r,c] = completecommandline("atomsInstall(""./Téléchargements/f",33);
67 assert_checkequal(r,"atomsInstall(""./Téléchargements/foo.bar");
68 assert_checkequal(c,39);