litle changes, almost ready to ship
Guillermo Roditi [Tue, 29 Jul 2008 18:52:42 +0000 (18:52 +0000)]
lib/MooseX/Emulate/Class/Accessor/Fast.pm
t/adopt.t

index 64955d6..55a7015 100644 (file)
@@ -72,7 +72,7 @@ sub BUILD {
   my %args;
   if (scalar @_ == 1 && defined $_[0] && ref($_[0]) eq 'HASH') {
     %args = %{$_[0]};
-  } else {
+  } elsif( scalar(@_) ) {
     %args = @_;
   }
   my @extra = grep { !exists($self->{$_}) } keys %args;
@@ -230,7 +230,7 @@ L<Class::MOP::Attribute>, L<MooseX::Adopt::Class::Accessor::Fast>
 
 =head1 AUTHOR
 
-Guillermo Roditi (groditi) <groditi@cpan.org>
+Guillermo Roditi (groditi) E<lt>groditi@cpan.orgE<gt>
 
 =head1 LICENSE
 
index c7900a9..b9b931f 100644 (file)
--- a/t/adopt.t
+++ b/t/adopt.t
@@ -1,7 +1,7 @@
 #!perl
 use strict;
 use lib 't/lib';
-use Test::More tests => 12;
+use Test::More tests => 13;
 
 #1,2
 require_ok("MooseX::Adopt::Class::Accessor::Fast");
@@ -12,6 +12,16 @@ ok(TestAdoptCAF->can('meta'), 'Adopt seems to work');
 ok(TestAdoptCAF->meta->find_attribute_by_name($_), "attribute $_ created")
   for qw(foo bar baz);
 
+{
+  my $ok = eval {
+    local $SIG{__WARN__} = sub { 
+      die "Warning generated when new was called with no arguments: " . 
+        join("; ", @_);
+    };
+    TestAdoptCAF->new(());
+  };
+  ok( ref($ok), ref($ok) ? "no warnings when instantiating object" : $@);
+}
 #7-9
 my $t = TestAdoptCAF->new(foo => 100, bar => 200, groditi => 300);
 is($t->{foo},     100, '$self->{foo} set');
@@ -20,6 +30,7 @@ is($t->{groditi}, 300, '$self->{groditi} set');
 
 #10-12
 my $u = TestAdoptCAF->new({foo => 100, bar => 200, groditi => 300});
-is($t->{foo},     100, '$self->{foo} set');
-is($t->{bar},     200, '$self->{bar} set');
-is($t->{groditi}, 300, '$self->{groditi} set');
+is($u->{foo},     100, '$self->{foo} set');
+is($u->{bar},     200, '$self->{bar} set');
+is($u->{groditi}, 300, '$self->{groditi} set');
+