608 |
(change-class obj new-class '(nonsense) 'a))) |
(change-class obj new-class '(nonsense) 'a))) |
609 |
program-error) |
program-error) |
610 |
|
|
611 |
|
;;; According to the page for BUILT-IN-CLASS, using CHANGE-CLASS |
612 |
|
;;; to change the class to/from a builtin class should raise a |
613 |
|
;;; signal of type ERROR. |
614 |
|
|
615 |
|
(deftest change-class.error.5 |
616 |
|
(let ((built-in-class (find-class 'built-in-class))) |
617 |
|
(loop for e in *mini-universe* |
618 |
|
for class = (class-of e) |
619 |
|
when (and (eq (class-of class) built-in-class) |
620 |
|
(handler-case |
621 |
|
(progn |
622 |
|
(change-class (make-instance 'change-class-class-01a) |
623 |
|
class) |
624 |
|
t) |
625 |
|
(error () nil))) |
626 |
|
collect e)) |
627 |
|
nil) |
628 |
|
|
629 |
|
(deftest change-class.error.6 |
630 |
|
(let ((built-in-class (find-class 'built-in-class))) |
631 |
|
(loop for e in *mini-universe* |
632 |
|
for class = (class-of e) |
633 |
|
when (and (eq (class-of class) built-in-class) |
634 |
|
(handler-case |
635 |
|
(progn |
636 |
|
(change-class e (find-class 'change-class-class-01a)) |
637 |
|
t) |
638 |
|
(error () nil))) |
639 |
|
collect e)) |
640 |
|
nil) |