1// ============================================================================= 2// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab 3// Copyright (C) 2017 - ESI - Antoine ELIAS 4// 5// This file is distributed under the same license as the Scilab package. 6// ============================================================================= 7 8// <-- CLI SHELL MODE --> 9// <-- NO CHECK REF --> 10 11function foo_good(a,b) 12 x = checkNamedArguments(); 13 assert_checktrue(isempty(x)); 14endfunction 15 16foo_good(1); 17foo_good(1, 2); 18foo_good(a = 1, b = 2); 19foo_good(b = 2, a = 2); 20 21function foo_bad(a,b) 22 x = checkNamedArguments(); 23 assert_checkfalse(isempty(x)); 24endfunction 25 26foo_bad(a = 1, c = 2); 27foo_bad(c = 2, b = 2); 28 29 30function foo_varargin_good(a, b, varargin) 31 x = checkNamedArguments(); 32 assert_checktrue(isempty(x)); 33endfunction 34 35foo_varargin_good(1); 36foo_varargin_good(1, 2); 37foo_varargin_good(a = 1, b = 2); 38foo_varargin_good(b = 2, a = 2); 39foo_varargin_good(b = 2, a = 2, 3, 4); 40 41function foo_varargin_bad(a, b, varargin) 42 x = checkNamedArguments(); 43 assert_checkfalse(isempty(x)); 44endfunction 45 46foo_varargin_bad(c = 2); 47foo_varargin_bad(a = 1, c = 2); 48foo_varargin_bad(c = 1, b = 2); 49foo_varargin_bad(b = 2, c = 3, a = 3, 4); 50foo_varargin_bad(c = 3, a = 1, b = 2, 4); 51