1312c8acf4e273a8ae8eb06c2d5d5286d08404ed
[scilab.git] / scilab / modules / functions / tests / unit_tests / exec.dia.ref
1 //<-- CLI SHELL MODE -->
2 // =============================================================================
3 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4 // Copyright (C) 2009 - DIGITEO - Allan CORNET
5 //
6 //  This file is distributed under the same license as the Scilab package.
7 // =============================================================================
8 tab_ref = [
9 "世界您好",
10 "азеазея",
11 "ハロー・ワールド",
12 "เฮลโลเวิลด์",
13 "حريات وحقوق",
14 "תוכנית"];
15 str_exec = "disp(''OK'');";
16 for i = 1 : size(tab_ref,"*")
17     mkdir(TMPDIR + filesep() + tab_ref(i));
18     fd = mopen(TMPDIR + filesep() + tab_ref(i) + filesep() + tab_ref(i) + ".sce","wt");
19     mputl(str_exec,fd);
20     mclose(fd);
21     exec(TMPDIR + filesep() + tab_ref(i) + filesep() + tab_ref(i) + ".sce");
22     mdelete(TMPDIR + filesep() + tab_ref(i) + filesep() + tab_ref(i) + ".sce");
23     rmdir(TMPDIR + filesep() + tab_ref(i));
24 end
25  OK
26  OK
27  OK
28  OK
29  OK
30  OK
31 // create a script file
32 mputl("a=1;b=2",TMPDIR+"/myscript");
33 // execute it
34 exec(TMPDIR+"/myscript")
35 a=1;b=2
36  b  = 
37    2.
38 if isdef("a")<> %t then bugmes();quit;end
39 if isdef("b")<> %t then bugmes();quit;end
40 assert_checkequal(a, 1);
41 assert_checkequal(b, 2);
42 // create a function
43 deff("y=foo(x)","a=x+1;y=a^2");
44 clear a b
45 // call the function
46 k = foo(1);
47 if isdef("k")<> %t then bugmes();quit;end
48 if isdef("a")<> %f then bugmes();quit;end
49 assert_checkequal(k, 4);
50 clear k y
51 // create a function and call this body as a script
52 deff("script()","a=x+1;y=a^2");
53 x=4; //create x to make it known by script
54 exec(script);
55  y  = 
56    25.
57 if isdef("y")<> %t then bugmes();quit;end
58 if isdef("a")<> %t then bugmes();quit;end
59 assert_checkequal(y, 25);
60 // no warning must be displayed when
61 // exec a file with mclose("all") inside
62 filename = TMPDIR + filesep() + "testmclose.sce";
63 mputl("mclose(""all"");",filename);
64 exec(filename);