changeset 25234:b02d5a4c7452

base2dec.m: Improve input validation to reject NaN as a base (bug #53477). * base2dec.m: Change structure of input comparisons so that a base of NaN will fail. Add BIST test. Modify %!error BIST tests to look for a fail pattern.
author Rik <rik@octave.org>
date Thu, 12 Apr 2018 13:46:00 -0700
parents c64f7a95b464
children 27e6b38571d3
files scripts/strings/base2dec.m
diffstat 1 files changed, 7 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/strings/base2dec.m	Thu Apr 12 13:30:50 2018 -0700
+++ b/scripts/strings/base2dec.m	Thu Apr 12 13:46:00 2018 -0700
@@ -74,7 +74,7 @@
     endif
   elseif (! isscalar (base))
     error ("base2dec: cannot convert from several bases at once");
-  elseif (base < 2 || base > length (symbols))
+  elseif (! (base >= 2 && base <= length (symbols)))
     error ("base2dec: BASE must be between 2 and 36, or a string of symbols");
   else
     s = toupper (s);
@@ -127,7 +127,9 @@
 %!error base2dec ()
 %!error base2dec ("11120")
 %!error base2dec ("11120", 3, 4)
-%!error base2dec ("11120", "1231")
-%!error base2dec ("11120", "12 3")
-%!error base2dec ("11120", ones (2))
-%!error base2dec ("11120", 37)
+%!error <symbols .* must be unique> base2dec ("11120", "1231")
+%!error <whitespace characters are not valid> base2dec ("11120", "12 3")
+%!error <cannot convert from several bases> base2dec ("11120", ones (2))
+%!error <BASE must be between 2 and 36> base2dec ("11120", 1)
+%!error <BASE must be between 2 and 36> base2dec ("11120", 37)
+%!error <BASE must be between 2 and 36> base2dec ("11120", NaN)