1 //<-- CLI SHELL MODE -->
2 // =============================================================================
3 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4 // Copyright (C) 2008 - INRIA
5 // Copyright (C) 2010 - DIGITEO - Bruno JOFRET
7 // This file is distributed under the same license as the Scilab package.
8 // =============================================================================
11 assert_checkequal(exists('a'), 1);
13 assert_checkequal(exists('a'), 0);
15 assert_checkequal(exists(['a', 'b']), [1, 1]);
16 assert_checkequal(exists(['a'; 'b']), [1; 1]);
17 assert_checkequal(exists(['a', 'b'; 'a', 'b']), [1, 1; 1, 1]);
19 assert_checkequal(exists(['a', 'b']), [1, 0]);
20 assert_checkequal(exists(['a'; 'b']), [1; 0]);
21 assert_checkequal(exists(['b', 'a']), [0, 1]);
22 assert_checkequal(exists(['b'; 'a']), [0; 1]);
23 assert_checkequal(exists(['a', 'b'; 'a', 'b']), [1, 0; 1, 0]);
25 assert_checkequal(exists(['a', 'b']), [0, 0]);
26 assert_checkequal(exists(['a'; 'b']), [0; 0]);
27 assert_checkequal(exists(['a', 'b'; 'a', 'b']), [0, 0; 0, 0]);
28 function __check_exists__(x, scope)
29 assert_checkequal(exists("a", scope), 1);
31 function __check_exists2__(x, scope)
33 assert_checkequal(exists(['a', 'b'], scope), [1, 1]);
34 assert_checkequal(exists(['a'; 'b'], scope), [1; 1]);
35 assert_checkequal(exists(['a', 'b'; 'a' 'b'], scope), [1, 1; 1, 1]);
37 function __check_not_exists__(x, scope)
38 assert_checkequal(exists("a", scope), 0);
40 function __check_not_exists2__(x, scope)
42 assert_checkequal(exists(['a', 'b'], scope), [0, 0]);
43 assert_checkequal(exists(['a'; 'b'], scope), [0; 0]);
44 assert_checkequal(exists(['a', 'b'; 'a', 'b'], scope), [0, 0; 0, 0]);
46 // Define a ONLY in calling scope
48 __check_exists__([], "all");
49 __check_exists__([], "nolocal");
50 __check_not_exists__([], "local");
52 // Define a ONLY in function local scope
53 __check_exists__(a = 42, "all");
54 __check_exists__(a = 42, "local");
55 __check_not_exists__(a = 42, "nolocal");
56 __check_exists2__([], "all");
57 __check_exists2__([], "local");
58 __check_not_exists2__([], "nolocal");
59 // Define a BOTH in calling and local scope
61 __check_exists__(a = 51, "all");
62 __check_exists__(a = 51, "local");
63 __check_exists__(a = 51, "nolocal");
64 __check_exists2__([], "all");
65 __check_exists2__([], "local");
66 __check_exists2__([], "nolocal");