~ chicken-core (chicken-5) 70c3e3b60ef07d4a20c66ba77ee0b3b337c4f312
commit 70c3e3b60ef07d4a20c66ba77ee0b3b337c4f312 Author: Evan Hanson <evhan@foldling.org> AuthorDate: Sun Apr 3 17:12:28 2016 +1200 Commit: Evan Hanson <evhan@foldling.org> CommitDate: Sun Apr 3 17:29:41 2016 +1200 Add a simple test case for invalid string->number bases diff --git a/tests/numbers-string-conversion-tests.scm b/tests/numbers-string-conversion-tests.scm index 3c19c24d..c33b4787 100644 --- a/tests/numbers-string-conversion-tests.scm +++ b/tests/numbers-string-conversion-tests.scm @@ -12,6 +12,7 @@ ;;; It also doesn't try to support Schemes which support *only* integers or ;;; *only* flonums (which is also allowed by R5RS). ;;; + (use srfi-1 ports) (define the-nan (fp/ 0.0 0.0)) @@ -342,4 +343,11 @@ ("#o1#/2" 4.0 6.0 "4.0" "4." "6.0" "6.") ("#b1#/2" #f) ("#b1#/10" 1.0 1.5 "1.0" "1." "1.5") - ) \ No newline at end of file + ) + +;; #1272 - Bases not in [2,36] throw errors. +(let ((check-base (lambda (b) + (string->number "123" b) + (error "No error on invalid base" b)))) + (condition-case (check-base 1) ((exn type) 'ok)) + (condition-case (check-base 37) ((exn type) 'ok)))Trap