X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fcharacter.pure.lisp;h=1a35bbbe47afe9e219143cd2de890c33783ab4a6;hb=d4d6c4b16a3655ce99a87d43f411391363531260;hp=8546abcdc9077022afbc474489239793aa89d64a;hpb=0a535fd0f5db046624b05aa956395d3b502ec927;p=sbcl.git diff --git a/tests/character.pure.lisp b/tests/character.pure.lisp index 8546abc..1a35bbb 100644 --- a/tests/character.pure.lisp +++ b/tests/character.pure.lisp @@ -6,37 +6,35 @@ ;;;; While most of SBCL is derived from the CMU CL system, the test ;;;; files (like this one) were written from scratch after the fork ;;;; from CMU CL. -;;;; +;;;; ;;;; This software is in the public domain and is provided with ;;;; absolutely no warranty. See the COPYING and CREDITS files for ;;;; more information. (cl:in-package :cl-user) -(load "assertoid.lisp") - ;;; ANSI's specification of #'CHAR-NAME imposes these constraints. ;;; ;;; (Obviously, the numeric values in this test implicitly assume ;;; we're using an ASCII-based character set.) (dolist (i '(("Newline" 10) - ;; (ANSI also imposes a constraint on the "semi-standard - ;; character" "Linefeed", but in ASCII as interpreted by - ;; Unix it's shadowed by "Newline" and so doesn't exist - ;; as a separate character.) - ("Space" 32) - ("Tab" 9) - ("Page" 12) - ("Rubout" 127) - ("Return" 13) - ("Backspace" 8))) + ;; (ANSI also imposes a constraint on the "semi-standard + ;; character" "Linefeed", but in ASCII as interpreted by + ;; Unix it's shadowed by "Newline" and so doesn't exist + ;; as a separate character.) + ("Space" 32) + ("Tab" 9) + ("Page" 12) + ("Rubout" 127) + ("Return" 13) + ("Backspace" 8))) (destructuring-bind (name code) i (let ((named-char (name-char name)) - (coded-char (code-char code))) + (coded-char (code-char code))) (assert (eql named-char coded-char)) (assert (characterp named-char)) (let ((coded-char-name (char-name coded-char))) - (assert (string= name coded-char-name)))))) + (assert (string= name coded-char-name)))))) ;;; bug 230: CHAR= didn't check types of &REST arguments (dolist (form '((code-char char-code-limit) @@ -56,3 +54,10 @@ (digit-char 4 1) (digit-char 4 37))) (assert (raises-error? (apply (car form) (mapcar 'eval (cdr form))) type-error))) + +(dotimes (i 256) + (let* ((char (code-char i)) + (graphicp (graphic-char-p char)) + (name (char-name char))) + (unless graphicp + (assert name))))