X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=tests%2Fprint.impure.lisp;h=382483a2cbc2af3242d9d72e1fcf7646a37721d6;hb=11b5ac86a98f058fe0375b0a707c6ef9e24590c9;hp=d1ccc0169e7b49cd0e78820b59d99d2e7d8f2008;hpb=10b242aeb4e031f02a1f32ec0aea79bbe92fa1d0;p=sbcl.git diff --git a/tests/print.impure.lisp b/tests/print.impure.lisp index d1ccc01..382483a 100644 --- a/tests/print.impure.lisp +++ b/tests/print.impure.lisp @@ -414,7 +414,8 @@ (assert (string= (format nil (formatter "~:C") #\a) "a")) ;;; This used to trigger an AVER instead. -(assert (raises-error? (format t "~>") sb-format:format-error)) +(assert (raises-error? (eval '(formatter "~>")) sb-format:format-error)) +(assert (raises-error? (eval '(format t "~>")) sb-format:format-error)) ;;; readably printing hash-tables, check for circularity (let ((x (cons 1 2)) @@ -446,4 +447,29 @@ (princ (make-condition 'sb-kernel::heap-exhausted-error))))) (assert (string/= result "#<" :end1 2))) +(with-test (:name (:with-standard-io-syntax :bind-print-pprint-dispatch)) + (let ((*print-pprint-dispatch* (copy-pprint-dispatch nil))) + (set-pprint-dispatch 'symbol #'(lambda (stream obj) + (declare (ignore obj)) + (write-string "FOO" stream))) + (with-standard-io-syntax + (let ((*print-pretty* t)) + (assert (string= (princ-to-string 'bar) "BAR")))))) + +;;; bug-lp#488979 + +(defclass a-class-name () ()) + +(assert (find #\Newline + (let ((*print-pretty* t) + (*print-right-margin* 10)) + (format nil "~A" (make-instance 'a-class-name))) + :test #'char=)) + +(assert (not (find #\Newline + (let ((*print-pretty* nil) + (*print-right-margin* 10)) + (format nil "~A" (make-instance 'a-class-name))) + :test #'char=))) + ;;; success