update repo to point to github
[gitmo/Moo.git] / t / demolish-basics.t
CommitLineData
c2cc003f 1
2use strictures 1;
3use Test::More;
4use Test::Fatal;
5
6our @demolished;
7package Foo;
8use Moo;
9
10sub DEMOLISH {
11 my $self = shift;
12 push @::demolished, __PACKAGE__;
13}
14
15package Foo::Sub;
16use Moo;
17extends 'Foo';
18
19sub DEMOLISH {
20 my $self = shift;
21 push @::demolished, __PACKAGE__;
22}
23
24package Foo::Sub::Sub;
25use Moo;
26extends 'Foo::Sub';
27
28sub DEMOLISH {
29 my $self = shift;
30 push @::demolished, __PACKAGE__;
31}
32
33package main;
34{
35 my $foo = Foo->new;
36}
37is_deeply(\@demolished, ['Foo'], "Foo demolished properly");
38@demolished = ();
39{
40 my $foo_sub = Foo::Sub->new;
41}
42is_deeply(\@demolished, ['Foo::Sub', 'Foo'], "Foo::Sub demolished properly");
43@demolished = ();
44{
45 my $foo_sub_sub = Foo::Sub::Sub->new;
46}
47is_deeply(\@demolished, ['Foo::Sub::Sub', 'Foo::Sub', 'Foo'],
48 "Foo::Sub::Sub demolished properly");
49@demolished = ();
50
51done_testing;