summary refs log tree commit diff
path: root/t/11_method_protected.t
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--t/11_method_protected.t39
1 files changed, 39 insertions, 0 deletions
diff --git a/t/11_method_protected.t b/t/11_method_protected.t
new file mode 100644
index 0000000..3b3d35d
--- /dev/null
+++ b/t/11_method_protected.t
@@ -0,0 +1,39 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use Test::More tests => 4;
+use Test::Exception;
+
+{
+
+    package Foo;
+    use Moose;
+    use MooseX::MethodPrivate;
+
+    protected 'bar' => sub {
+        my $self = shift;
+        return 'baz';
+    };
+}
+
+{
+
+    package Bar;
+    use Moose;
+    extends 'Foo';
+
+    sub baz {
+        my $self = shift;
+        return $self->bar;
+    }
+}
+
+my $foo = Foo->new();
+isa_ok( $foo, 'Foo' );
+dies_ok { $foo->bar } "... can't call bar, method is protected";
+
+my $bar = Bar->new();
+isa_ok( $bar, 'Bar' );
+is $bar->baz(), 'baz', "... got the good value from &bar";