[Moose-commits] r7227 - in Moose/trunk: lib/Moose/Meta
	t/020_attributes
    rafl at code2.0beta.co.uk 
    rafl at code2.0beta.co.uk
       
    Sat Jan  3 05:28:27 GMT 2009
    
    
  
Author: rafl
Date: 2009-01-02 21:28:26 -0800 (Fri, 02 Jan 2009)
New Revision: 7227
Modified:
   Moose/trunk/lib/Moose/Meta/Class.pm
   Moose/trunk/t/020_attributes/009_attribute_inherited_slot_specs.t
Log:
Mention the offending class when reporting errors when processing inherited attributes.
Also test for it.
Modified: Moose/trunk/lib/Moose/Meta/Class.pm
===================================================================
--- Moose/trunk/lib/Moose/Meta/Class.pm	2009-01-02 20:34:16 UTC (rev 7226)
+++ Moose/trunk/lib/Moose/Meta/Class.pm	2009-01-03 05:28:26 UTC (rev 7227)
@@ -514,7 +514,7 @@
     my ($self, $attr_name, %options) = @_;
     my $inherited_attr = $self->find_attribute_by_name($attr_name);
     (defined $inherited_attr)
-        || $self->throw_error("Could not find an attribute by the name of '$attr_name' to inherit from", data => $attr_name);
+        || $self->throw_error("Could not find an attribute by the name of '$attr_name' to inherit from in ${\$self->name}", data => $attr_name);
     if ($inherited_attr->isa('Moose::Meta::Attribute')) {
         return $inherited_attr->clone_and_inherit_options(%options);
     }
Modified: Moose/trunk/t/020_attributes/009_attribute_inherited_slot_specs.t
===================================================================
--- Moose/trunk/t/020_attributes/009_attribute_inherited_slot_specs.t	2009-01-02 20:34:16 UTC (rev 7226)
+++ Moose/trunk/t/020_attributes/009_attribute_inherited_slot_specs.t	2009-01-03 05:28:26 UTC (rev 7227)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 82;
+use Test::More tests => 83;
 use Test::Exception;
 
 
@@ -100,6 +100,9 @@
     ::dies_ok { 
         has '+other_fail' => (weak_ref => 1);           
     } '... cannot create an attribute with an illegal option';   
+    ::throws_ok {
+        has '+does_not_exist' => (isa => 'Str');
+    } qr/in Bar/, '... cannot extend a non-existing attribute';
 }
 
 my $foo = Foo->new;
    
    
More information about the Moose-commits
mailing list