Mercurial > octave
changeset 22496:d7931cb69486
strcat: trim trailing whitespace when called with one character array (bug #49094)
* strcat.m: Trim trailing whitespace when called with one character array.
Ensure that numeric array is returned as character array. Add %!tests.
author | Mike Miller <mtmiller@octave.org> |
---|---|
date | Thu, 15 Sep 2016 08:56:14 -0700 |
parents | ad815427f376 |
children | a3f74fed899b |
files | scripts/strings/strcat.m |
diffstat | 1 files changed, 12 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/scripts/strings/strcat.m Thu Sep 15 08:59:14 2016 -0700 +++ b/scripts/strings/strcat.m Thu Sep 15 08:56:14 2016 -0700 @@ -84,7 +84,13 @@ if (nargin == 0) st = ""; elseif (nargin == 1) - st = varargin{1}; + if (iscellstr (varargin{1})) + st = varargin{1}; + elseif (isreal (varargin{1}) || ischar (varargin{1})) + st = char (cellstr (varargin{1})); + else + error ("strcat: inputs must be strings or cells of strings"); + endif else ## Convert to cells of strings uo = "uniformoutput"; @@ -144,6 +150,11 @@ %!assert (all (strcmp (strcat ({"a", "bb"}, "ccc"), {"accc", "bbccc"}))) %!assert (all (strcmp (strcat ("a", {"bb", "ccc"}), {"abb", "accc"}))) +## test with a single string or cell input +%!assert <49094> (strcat ("foo "), "foo") +%!assert <49094> (strcat ({"foo"}), {"foo"}) + +%!assert (strcat (1), char (1)) %!assert (strcat (1, 2), strcat (char (1), char (2))) %!assert (strcat ("", 2), strcat ([], char (2)))