fix tests properly for 5.8 (yay perlbrew)
[gitmo/Moo.git] / t / method-generate-accessor.t
index 6914ba5..74a6aae 100644 (file)
@@ -13,7 +13,7 @@ my $gen = Method::Generate::Accessor->new;
 
 {
   package WithOverload;
-  use overload '&{}' => sub { sub { 5 } };
+  use overload '&{}' => sub { sub { 5 } }, fallback => 1;
   sub new { bless {} }
 }
 
@@ -68,6 +68,26 @@ for my $setting (qw( default coerce )) {
   );
 }
 
+is(
+  exception { $gen->generate_method('Foo' => 'ten' => { is => 'ro', builder => '_build_ten' }) },
+  undef, 'builder - string accepted',
+);
+
+like(
+  exception { $gen->generate_method('Foo' => 'eleven' => { is => 'ro', builder => sub {} }) },
+  qr/Invalid builder/, 'builder - coderef rejected'
+);
+
+like(
+  exception { $gen->generate_method('Foo' => 'twelve' => { is => 'ro', builder => 'build:twelve' }) },
+  qr/Invalid builder/, 'builder - invalid name rejected',
+);
+
+is(
+  exception { $gen->generate_method('Foo' => 'thirteen' => { is => 'ro', builder => 'build::thirteen' }) },
+  undef, 'builder - fully-qualified name accepted',
+);
+
 my $foo = Foo->new(one => 1);
 
 is($foo->one, 1, 'ro reads');