* Bug 15586 fixed: tree2code() corrupted the function prototype
[scilab.git] / scilab / modules / functions / tests / unit_tests / tree2code.tst
1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2018 - Samuel GOUGEON
4 //
5 //  This file is distributed under the same license as the Scilab package.
6 // =============================================================================
7 // Unit test for tree2code()
8 //
9 // <-- CLI SHELL MODE -->
10 // <-- NO CHECK REF -->
11
12 fp = funcprot(0);
13
14 // Test the output prototype:
15 // -------------------------
16 protos = [
17 "function test()"
18 "function test(x)"
19 "function test(x,y)"
20 "function test(x,y,varargin)"
21 "function [z] = test()"
22 "function [z] = test(x)"
23 "function [z] = test(x,y)"
24 "function [z] = test(x,y,varargin)"
25 "function [u,v] = test()"
26 "function [u,v] = test(x)"
27 "function [u,v] = test(x,y)"
28 "function [u,v] = test(x,y,varargin)"
29 "function [u,v,varargout] = test()"
30 "function [u,v,varargout] = test(x)"
31 "function [u,v,varargout] = test(x,y)"
32 "function [u,v,varargout] = test(x,y,varargin)"
33 ];
34
35 for p = protos'
36     execstr(p+", endfunction");
37     txt = tree2code(macr2tree(test));
38     assert_checkequal(txt(1), p);
39 end
40
41 funcprot(fp);