0.7.13.11:
[sbcl.git] / tests / stream.impure.lisp
index caf58cc..d2891f4 100644 (file)
@@ -11,9 +11,8 @@
 ;;;; absolutely no warranty. See the COPYING and CREDITS files for
 ;;;; more information.
 
-(in-package :cl-user)
-
 (load "assertoid.lisp")
+(use-package "ASSERTOID")
 
 ;;; type errors for inappropriate stream arguments, fixed in
 ;;; sbcl-0.7.8.19
                          (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)