Mercurial > hg > octave-nkf
changeset 5666:4a48a1df26b7
[project @ 2006-03-15 02:37:55 by jwe]
author | jwe |
---|---|
date | Wed, 15 Mar 2006 02:37:55 +0000 |
parents | d42bd103de79 |
children | ec3ffbf9982b |
files | scripts/ChangeLog scripts/strings/bin2dec.m scripts/testfun/fail.m |
diffstat | 3 files changed, 7 insertions(+), 110 deletions(-) [+] |
line wrap: on
line diff
--- a/scripts/ChangeLog +++ b/scripts/ChangeLog @@ -1,3 +1,7 @@ +2006-03-14 Keith Goodman <kwgoodman@gmail.com> + + * strings/bin2dec.m: Doc fix. + 2006-03-10 Paul Kienzle <pkienzle@users.sf.net> * time/etime.m: Use datenum to support times spanning year boundaries.
--- a/scripts/strings/bin2dec.m +++ b/scripts/strings/bin2dec.m @@ -18,18 +18,18 @@ ## 02110-1301, USA. ## -*- texinfo -*- -## @deftypefn {Function File} {} hex2dec (@var{s}) +## @deftypefn {Function File} {} bin2dec (@var{s}) ## Return the decimal number corresponding to the binary number stored ## in the string @var{s}. For example, ## ## @example -## hex2dec ("1110") +## bin2dec ("1110") ## @result{} 14 ## @end example ## ## If @var{s} is a string matrix, returns a column vector of converted ## numbers, one per row of @var{s}. Invalid rows evaluate to NaN. -## @seealso{dec2hex, base2dec, dec2base, bin2dec, dec2bin} +## @seealso{dec2hex, base2dec, dec2base, hex2dec, dec2bin} ## @end deftypefn ## Author: Daniel Calvelo <dcalvelo@yahoo.com>
deleted file mode 100644 --- a/scripts/testfun/fail.m +++ /dev/null @@ -1,107 +0,0 @@ -## -*- texinfo -*- -## @deftypefn {Function File} {} fail (@var{code},@var{pattern}) -## @deftypefnx {Function File} {} fail (@var{code},'warning',@var{pattern}) -## -## Return true if @var{code} fails with an error message matching -## @var{pattern}, otherwise produce an error. Note that @var{code} -## is a string and if @var{code} runs successfully, the error produced is: -## -## @example -## expected error but got none -## @end example -## -## If the code fails with a different error, the message produced is: -## -## @example -## expected <pattern> -## but got <text of actual error> -## @end example -## -## The angle brackets are not part of the output. -## -## Called with three arguments, the behavior is similar to -## @code{fail(@var{code}, @var{pattern})}, but produces an error if no -## warning is given during code execution or if the code fails. -## -## @end deftypefn - -## This program is public domain -## Author: Paul Kienzle <pkienzle@users.sf.net> - -## PKG_ADD mark_as_command fail -function ret=fail(code,pattern,warning_pattern) - if nargin < 1 || nargin > 3 - usage("fail(code [, 'warning'] [, pattern])"); - endif - - ## sort out arguments - test_warning = (nargin > 1 && strcmp(pattern,'warning')); - if nargin == 3 - pattern = warning_pattern; - elseif nargin == 1 || (nargin==2 && test_warning) - pattern = ""; - endif - if isempty(pattern), pattern = "."; endif # match any nonempty message - - ## allow assert(fail()) - if nargout, ret=1; endif - - ## don't test failure if evalin doesn't exist - if !exist('evalin') || !exist('lastwarn'), return; endif - - if test_warning - ## perform the warning test - lastwarn(); # clear old warnings - state = warning("query","quiet"); # make sure warnings are turned on - warning("on","quiet"); - try - ## printf("lastwarn before %s: %s\n",code,lastwarn); - evalin("caller",sprintf("%s;",code)); - ## printf("lastwarn after %s: %s\n",code,lastwarn); - err = lastwarn; # retrieve new warnings - warning(state.state,"quiet"); - if isempty(err), - msg = sprintf("expected warning <%s> but got none", pattern); - else - err([1:9,end]) = []; # transform "warning: ...\n" to "..." - if !isempty(regexp(err,pattern,"once")), return; end - msg = sprintf("expected warning <%s>\nbut got <%s>", pattern,err); - endif - catch - warning(state.state,"quiet"); - err = lasterr; - err([1:7,end]) = []; # transform "error: ...\n", to "..." - msg = sprintf("expected warning <%s> but got error <%s>", pattern, err); - end - - else - ## perform the error test - try - evalin("caller",sprintf("%s;",code)); - msg = sprintf("expected error <%s> but got none", pattern); - catch - err=lasterr; - if (strcmp(err(1:7),"error:")) - err([1:6,end]) = []; # transform "error: ...\n", to "..." - endif - if !isempty(regexp(err,pattern,"once")), return; end - msg = sprintf("expected error <%s>\nbut got <%s>",pattern,err); - end - endif - - ## if we get here, then code didn't fail or error didn't match - error(msg); -endfunction - -%!fail ('[1,2]*[2,3]','nonconformant') -%!fail ("fail('[1,2]*[2;3]','nonconformant')","expected error <nonconformant> but got none") -%!fail ("fail('[1,2]*[2,3]','usage:')","expected error <usage:>\nbut got.*nonconformant") -%!fail ("warning('test warning')",'warning','test warning'); - -%!# fail ("warning('next test')",'warning','next test'); ## only allowed one warning test?!? - -## Comment out the following tests if you don't want to see what -## errors look like -% !fail ('a*[2;3]', 'nonconformant') -% !fail ('a*[2,3]', 'usage:') -% !fail ("warning('warning failure')", 'warning', 'success')