Test count fix
[gitmo/Perl-Critic-Dynamic-Moose.git] / t / DynamicMoose / ProhibitPublicBuilders.run
index ceff4ed..0b17a8b 100644 (file)
@@ -9,3 +9,147 @@ has attr => (
     is => 'rw',
 );
 
+#-----------------------------------------------------------------------------
+
+## name Private builder method
+## failures 0
+## cut
+
+package Class;
+use Moose;
+
+has attr => (
+    is => 'rw',
+    builder => '_build_attr',
+);
+
+#-----------------------------------------------------------------------------
+
+## name Public builder method
+## failures 1
+## cut
+
+package Class;
+use Moose;
+
+has attr => (
+    is => 'rw',
+    builder => 'build_attr',
+);
+
+#-----------------------------------------------------------------------------
+
+## name Public builder method, declared dynamically
+## failures 1
+## cut
+
+package Class;
+use Moose;
+
+__PACKAGE__->meta->add_attribute(attr => (
+    is => 'rw',
+    builder => 'build_attr',
+));
+
+#-----------------------------------------------------------------------------
+
+## name Public builder method, named dynamically
+## failures 1
+## cut
+
+package Class;
+use Moose;
+
+my $builder = 'build_' . rand;
+__PACKAGE__->meta->add_attribute(attr => (
+    is => 'rw',
+    builder => $builder,
+));
+
+#-----------------------------------------------------------------------------
+
+## name Role sans builder
+## failures 0
+## cut
+
+package Role;
+use Moose::Role;
+
+has attr => (
+    is => 'rw',
+);
+
+#-----------------------------------------------------------------------------
+
+## name Role with private builder
+## failures 0
+## cut
+
+package Role;
+use Moose::Role;
+
+has attr => (
+    is => 'rw',
+    builder => '_build_attr',
+);
+
+#-----------------------------------------------------------------------------
+
+## name Role with public builder
+## failures 1
+## cut
+
+package Role;
+use Moose::Role;
+
+has attr => (
+    is => 'rw',
+    builder => 'build_attr',
+);
+
+#-----------------------------------------------------------------------------
+
+## name Public role builder method, named dynamically
+## failures 1
+## cut
+
+package Role;
+use Moose::Role;
+
+my $builder = 'build_' . rand;
+__PACKAGE__->meta->add_attribute(attr => (
+    is => 'rw',
+    builder => $builder,
+));
+
+#-----------------------------------------------------------------------------
+
+## name Lazy build
+## failures 0
+## cut
+
+package Class;
+use Moose;
+
+has foo => (
+    is => 'rw',
+    lazy_build => 1,
+);
+
+#-----------------------------------------------------------------------------
+
+## name The Gauntlet
+## failures 5
+## cut
+
+for (1 .. 5) {
+    Class::MOP::Class->create_anon_class(
+        attributes => [
+            Class::MOP::Attribute->new(
+                name => "foo_$_",
+                builder => "build_foo_$_",
+            ),
+        ],
+    );
+}
+