diff options
Diffstat (limited to 't/04-abstract-subclass.t')
-rw-r--r-- | t/04-abstract-subclass.t | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/t/04-abstract-subclass.t b/t/04-abstract-subclass.t new file mode 100644 index 0000000..3542d07 --- /dev/null +++ b/t/04-abstract-subclass.t @@ -0,0 +1,35 @@ +#!/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; +extends 'Foo'; + +requires 'baz'; + +sub bar { 'BAR' } + +package Foo::Sub::Sub; +use Moose; +extends 'Foo::Sub'; + +sub foo { 'FOO' } +sub baz { 'BAZ' } + +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'); |