Bug #13396 fixed - MBLOCK didn't work with an external file containing the modelica...
[scilab.git] / scilab / modules / xcos / tests / nonreg_tests / bug_13396.win.dia.ref
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2014 - Scilab Enterprises - Vladislav TRUBKIN
4 //
5 // This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7 // <-- XCOS TEST -->
8 //
9 //<-- ENGLISH IMPOSED -->
10 //
11 // <-- Non-regression test for bug 13396 -->
12 //
13 // <-- Bugzilla URL -->
14 // http://bugzilla.scilab.org/show_bug.cgi?id=13396
15 //
16 // <-- Short Description -->
17 // MBLOCK did not work with an external file containing the modelica class
18 //
19 global toggle;
20 toggle = %T;
21 assert_checktrue(importXcosDiagram(SCI + "/modules/xcos/tests/nonreg_tests/bug_13396.zcos"));
22 prot = funcprot();
23 funcprot(0);
24 level = ilib_verbose();
25 ilib_verbose(0);
26 // create external file
27 fd = mopen(TMPDIR+"/bug_13396.mo", "wt");
28 txt = ["class bug_13396"; ..
29 "    parameter Real R = 1.000000e-01;"; ..
30 "    Pin p,n;"; ..
31 "    Real i,v;"; ..
32 "equation"; ..
33 "    i = p.i;"; ..
34 "    n.i = -i;"; ..
35 "    v = p.v - n.v;"; ..
36 "    R * i = v;"; ..
37 "end bug_13396;"];
38 mputl(txt, fd);
39 mclose(fd);
40 // overload of scicos_getvalue and msg box
41 function str = x_mdialog(desc, labels, ini)
42     global toggle;
43     if toggle then
44         ini($) = TMPDIR + "/bug_13396.mo";
45         str = ini;
46         toggle = ~toggle;
47     else
48         str = []; // cancelling
49     end
50 endfunction
51 function messagebox(msg, msg_title)
52 endfunction
53 // set the path for external file
54 for i = 1:size(scs_m.objs)
55     if typeof(scs_m.objs(i)) == "Block" & scs_m.objs(i).gui == "MBLOCK" then
56         scs_m.objs(i).graphics.exprs(9) = TMPDIR + "/bug_13396.mo";
57         scs_m.objs(i).model.sim(1) = TMPDIR + "/bug_13396.mo";
58         MBLOCK("set", scs_m.objs(i));
59         break
60     end
61 end
62 // compile the diagram
63 [cpr, ok] = xcos_compile(scs_m);
64 --------------------------------------------\
65  Main Modelica : TMPDIR\bug_13396_im.mo
66
67  Flat Modelica : TMPDIR\bug_13396_imf.mo
68  Simulation C code :TMPDIR\bug_13396_im.c
69 WARNING: Diagram contains implicit blocks, compiling for implicit Solver.
70 assert_checktrue(ok);
71 // simulate the diagram
72 xcos_simulate(scs_m, 4);
73 --------------------------------------------\
74  Main Modelica : TMPDIR\bug_13396_im.mo
75
76  Flat Modelica : TMPDIR\bug_13396_imf.mo
77  Simulation C code :TMPDIR\bug_13396_im.c
78 WARNING: Diagram contains implicit blocks, compiling for implicit Solver.
79 WARNING: Diagram has been compiled for implicit solver
80          switching to implicit Solver
81
82 funcprot(prot);
83 ilib_verbose(level);
84 mdelete(TMPDIR+"/bug_13396.mo");