1// =============================================================================
2// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3// Copyright (C) 2011 - DIGITEO - Allan CORNET
4//
5//  This file is distributed under the same license as the Scilab package.
6// =============================================================================
7// <-- CLI SHELL MODE -->
8// <-- CLI SHELL MODE -->
9// Run with test_run('core, 'clear')
10A = 2;
11B = 4;
12C = 6;
13clear("B")
14assert_checkequal(isdef("B"), %f);
15assert_checkequal(isdef("A"), %t);
16assert_checkequal(isdef("C"), %t);
17clear();
18assert_checkequal(isdef("A"), %f);
19assert_checkequal(isdef("C"), %f);
20A = 2;
21B = 4;
22C = 6;
23D = 8;
24clear( ["A" "B" "C" "D"] );
25assert_checkequal(isdef("A"), %f);
26assert_checkequal(isdef("B"), %f);
27assert_checkequal(isdef("C"), %f);
28assert_checkequal(isdef("D"), %f);
29A = 2;
30B = 4;
31C = 6;
32D = 8;
33clear( ["A" ; "B" ; "C" ; "D"] );
34assert_checkequal(isdef("A"), %f);
35assert_checkequal(isdef("B"), %f);
36assert_checkequal(isdef("C"), %f);
37assert_checkequal(isdef("D"), %f);
38A = 2;
39B = 4;
40C = 6;
41D = 8;
42clear( ["A" "B" ; "C" "D"] );
43assert_checkequal(isdef("A"), %f);
44assert_checkequal(isdef("B"), %f);
45assert_checkequal(isdef("C"), %f);
46assert_checkequal(isdef("D"), %f);
47A = 2;
48B = 4;
49C = 6;
50D = 8;
51clear( ["A" "B"], ["C";"D"] );
52assert_checkequal(isdef("A"), %f);
53assert_checkequal(isdef("B"), %f);
54assert_checkequal(isdef("C"), %f);
55assert_checkequal(isdef("D"), %f);
56function test_clear()
57    A = 6;
58    clear("A")
59    assert_checkequal(isdef("A"), %f);
60endfunction
61test_clear();
62A = 3;
63assert_checkequal(isdef("A"), %t);
64assert_checkequal(A, 3);
65ierr = execstr("clear SCI", "errcatch");
66msg_err = lasterror();
67msg_ref = msprintf(gettext("Redefining permanent variable.\n"));
68assert_checkequal (msg_err, msg_ref);
69assert_checktrue(isdef("SCI"));
70oldSCI = SCI;
71ierr = execstr("SCI = 14;", "errcatch");
72msg_err = lasterror();
73assert_checkequal (msg_err, msg_ref);
74assert_checktrue(isdef("SCI"));
75assert_checkequal(oldSCI, SCI);
76ierr = execstr("clear(1)", "errcatch");
77assert_checkequal(ierr, 207);
78msg_ref = msprintf(gettext("%s: Wrong type for input argument #%d: Matrix of strings expected.\n"), "clear", 1);
79assert_checkerror ("clear(1)", msg_ref);
80ierr = execstr("clear toto", "errcatch");
81assert_checkequal(ierr, 0);
82