X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fcharacter.pure.lisp;h=742723456c5254e220ffc4871651edfcc22e4a7a;hb=9304704f68a18894fa8eb985b387465e5d25e1d5;hp=015d347585b7538d165aaa130877df29c067fb04;hpb=97698cd441721fbd216f0294606d144de8865b4c;p=sbcl.git diff --git a/tests/character.pure.lisp b/tests/character.pure.lisp index 015d347..7427234 100644 --- a/tests/character.pure.lisp +++ b/tests/character.pure.lisp @@ -118,3 +118,25 @@ (assert-coercion (code-char 955) character) (assert-coercion 'a character) (assert-coercion "a" character))) + +(with-test (:name :bug-994487) + (let ((f (compile nil `(lambda (char) + (code-char (1+ (char-code char))))))) + (assert (equal `(function (t) (values (sb-kernel:character-set + ((1 . ,(1- char-code-limit)))) + &optional)) + (sb-impl::%fun-type f))))) + +(with-test (:name (:case-insensitive-char-comparisons :eacute)) + (assert (char-equal (code-char 201) (code-char 233)))) + +(with-test (:name (:case-insensitive-char-comparisons :exhaustive)) + (dotimes (i char-code-limit) + (let* ((char (code-char i)) + (down (char-downcase char)) + (up (char-upcase char))) + (assert (char-equal char char)) + (when (char/= char down) + (assert (char-equal char down))) + (when (char/= char up) + (assert (char-equal char up))))))