Change the error message for when you rebless into a non-subclass. If anyone has...
Shawn M Moore [Sun, 13 Jan 2008 05:03:00 +0000 (05:03 +0000)]
lib/Class/MOP/Class.pm
t/046-rebless.t

index 7ac3f06..7d47e17 100644 (file)
@@ -399,7 +399,7 @@ sub rebless_instance {
     my $meta_instance = $self->get_meta_instance();
 
     $self->name->isa($old_metaclass->name)
-        || confess "You may rebless only into a subclass. (". $self->name .") is not a subclass of (". $old_metaclass->name .").";
+        || confess "You may rebless only into a subclass of (". $old_metaclass->name ."), of which (". $self->name .") isn't.";
 
     # rebless!
     $meta_instance->rebless_instance_structure($instance, $self);
index a6baa40..5ee4b7c 100644 (file)
@@ -44,10 +44,10 @@ is($foo->parent, "parent", 'reblessed->parent gives parent');
 is($foo->child, "child", 'reblessed->child gives child');
 
 throws_ok { LeftField->meta->rebless_instance($foo, "LeftField") }
-          qr/You may rebless only into a subclass. \(LeftField\) is not a subclass of \(Child\)\./;
+          qr/You may rebless only into a subclass of \(Child\), of which \(LeftField\) isn't\./;
 
 throws_ok { Class::MOP::Class->initialize("NonExistent")->rebless_instance($foo) }
-          qr/You may rebless only into a subclass. \(NonExistent\) is not a subclass of \(Child\)\./;
+          qr/You may rebless only into a subclass of \(Child\), of which \(NonExistent\) isn't\./;
 
 # make sure our ->meta is still sane
 my $bar = Parent->new;