0.7.9.42:
[sbcl.git] / tests / stream.impure.lisp
index caf58cc..0908560 100644 (file)
                          (make-string-output-stream)
                          (make-string-input-stream "foo"))
                         type-error)))
+
+;;; bug 225: STRING-STREAM was not a class
+(eval `(defgeneric bug225 (s)
+         ,@(mapcar (lambda (class)
+                     `(:method :around ((s ,class)) (cons ',class (call-next-method))))
+                   '(stream string-stream sb-impl::string-input-stream
+                     sb-impl::string-output-stream))
+         (:method (class) nil)))
+
+(assert (equal (bug225 (make-string-input-stream "hello"))
+               '(sb-impl::string-input-stream string-stream stream)))
+(assert (equal (bug225 (make-string-output-stream))
+               '(sb-impl::string-output-stream string-stream stream)))
+
 \f
 ;;; success
 (quit :unix-status 104)