bug_11876: ilib_include_flag now returns a string when called with a string column... 90/13990/5
Pierre-Aime Agnel [Wed, 12 Mar 2014 10:17:36 +0000 (11:17 +0100)]
Change-Id: Ieb60fd2afac0b11131dc36c62cea79fe7694c923

scilab/CHANGES_5.5.X
scilab/modules/dynamic_link/macros/ilib_include_flag.sci
scilab/modules/dynamic_link/tests/nonreg_tests/bug_11876.dia.ref [new file with mode: 0644]
scilab/modules/dynamic_link/tests/nonreg_tests/bug_11876.tst [new file with mode: 0644]

index 0b4e263..b5c4949 100644 (file)
@@ -486,6 +486,8 @@ Scilab Bug Fixes
 
 * Bug #11814 fixed - Typo in CACSD help chapter fixed.
 
+* Bug #11876 fixed - ilib_include_flag now returns a string when called with a string column vector.
+
 * Bug #11953 fixed - Scilab crashed when global("") was typed.
 
 * Bug #11964 fixed - uicontrol coordinates system did not take figure resizing into account.
index b643713..2ef3c48 100644 (file)
@@ -16,6 +16,15 @@ function ret = ilib_include_flag(path_strings)
 
     ret = "";
 
+    if and(size(path_strings)<>1) then
+        //path_strings is not a vector
+        error(msprintf(gettext("%s: Wrong size for input argument #%d: Vector expected.\n"), "ilib_include_flag", 1));
+    else
+        //change path_strings to a line vector to have ret as a line vector
+        path_strings=path_strings(:)'
+    end
+
+
     for path = path_strings
         if ~isdir(fullpath(path)) then
             error(msprintf(gettext("%s: Failed to add include path : %s"), "ilib_include_flag", path));
diff --git a/scilab/modules/dynamic_link/tests/nonreg_tests/bug_11876.dia.ref b/scilab/modules/dynamic_link/tests/nonreg_tests/bug_11876.dia.ref
new file mode 100644 (file)
index 0000000..fe3a60b
--- /dev/null
@@ -0,0 +1,39 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Pierre-Aime Agnel
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 11876 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=11876
+//
+// <-- Short Description -->
+// ilib_include_flag returns a column vector of string when called
+// with a column vector of strings
+//Creating temporary directories
+cd TMPDIR ;
+mkdir('a');
+mkdir('b');
+mkdir('c');
+mkdir('d');
+matrix_error_msg = msprintf(...
+    _("%s: Wrong size for input argument #%d: Vector expected.\n"), ...
+    "ilib_include_flag", 1);
+//Testing error handling of matrices of strings instead of vector
+assert_checkerror(...
+    "ilib_include_flag([''a'', ''b''; ''c'', ''d''])", matrix_error_msg)
+ ans  =
+  T  
+//Testing row vector and column vector give the same answer
+assert_checkequal(...
+    ilib_include_flag(['a', 'b', 'c', 'd']), ...
+    ilib_include_flag(['a'; 'b'; 'c'; 'd']))
+ ans  =
+  T  
diff --git a/scilab/modules/dynamic_link/tests/nonreg_tests/bug_11876.tst b/scilab/modules/dynamic_link/tests/nonreg_tests/bug_11876.tst
new file mode 100644 (file)
index 0000000..e8fd45b
--- /dev/null
@@ -0,0 +1,38 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2014 - Scilab Enterprises - Pierre-Aime Agnel
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+//
+// <-- CLI SHELL MODE -->
+//
+// <-- Non-regression test for bug 11876 -->
+//
+// <-- Bugzilla URL -->
+// http://bugzilla.scilab.org/show_bug.cgi?id=11876
+//
+// <-- Short Description -->
+// ilib_include_flag returns a column vector of string when called
+// with a column vector of strings
+
+//Creating temporary directories
+cd TMPDIR ;
+mkdir('a');
+mkdir('b');
+mkdir('c');
+mkdir('d');
+
+matrix_error_msg = msprintf(...
+    _("%s: Wrong size for input argument #%d: Vector expected.\n"), ...
+    "ilib_include_flag", 1);
+
+//Testing error handling of matrices of strings instead of vector
+assert_checkerror(...
+    "ilib_include_flag([''a'', ''b''; ''c'', ''d''])", matrix_error_msg)
+
+//Testing row vector and column vector give the same answer
+assert_checkequal(...
+    ilib_include_flag(['a', 'b', 'c', 'd']), ...
+    ilib_include_flag(['a'; 'b'; 'c'; 'd']))
+