summaryrefslogtreecommitdiffstats
path: root/t/004-abstract-subclass.t
diff options
context:
space:
mode:
Diffstat (limited to 't/004-abstract-subclass.t')
-rw-r--r--t/004-abstract-subclass.t33
1 files changed, 33 insertions, 0 deletions
diff --git a/t/004-abstract-subclass.t b/t/004-abstract-subclass.t
new file mode 100644
index 0000000..3f57b59
--- /dev/null
+++ b/t/004-abstract-subclass.t
@@ -0,0 +1,33 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Test::More tests => 3;
+use Test::Exception;
+
+package Foo;
+use Moose;
+use MooseX::ABC;
+
+requires 'foo';
+requires 'bar';
+
+package Foo::Sub;
+use Moose;
+use MooseX::ABC;
+requires 'foo';
+extends 'Foo';
+
+sub bar { 'BAR' }
+
+package Foo::Sub::Sub;
+use Moose;
+extends 'Foo::Sub';
+
+sub foo { 'FOO' }
+
+package main;
+
+dies_ok { Foo->new } "can't create Foo objects";
+dies_ok { Foo::Sub->new } "can't create Foo::Sub objects";
+my $foo = Foo::Sub::Sub->new;
+is($foo->foo, 'FOO', 'successfully created a Foo::Sub::Sub object');