Mercurial > jwe > octave
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)