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