Add the following packages libalgorithm-diff-perl libspiffy-perl libtext-diff-perl...
[pkg-perl] / deb-src / libspiffy-perl / libspiffy-perl-0.30 / t / base.t
1 use lib 't', 'lib';
2 use strict;
3 use warnings;
4
5 package XXX;
6 BEGIN {require Thing}
7 use base 'Thing';
8
9 package Foo;
10 use base 'Spiffy';
11 BEGIN { @Foo::EXPORT=qw(xxx) }
12 sub xxx {}
13
14 package Bar;
15 use base 'Foo', 'Thing';
16
17 package Boo;
18 BEGIN { @Boo::EXPORT=qw(xxx) }
19 sub xxx {}
20
21 package Goo;
22 use base 'Boo';
23
24 package Something;
25 use base 'Spiffy';
26 BEGIN { @Something::EXPORT = qw(qwerty) }
27 sub qwerty {}
28
29 package SomethingGood;
30 use base 'Something';
31
32 package main;
33 use Test::More tests => 24;
34
35 ok(Thing->isa('Spiffy'));
36 ok(defined &XXX::thing);
37 ok(defined &XXX::field);
38 ok(defined &XXX::const);
39
40 ok(defined &Foo::field);
41 ok(defined &Foo::const);
42 ok(defined &Foo::xxx);
43
44 ok(Bar->isa('Spiffy'));
45 ok(Bar->isa('Foo'));
46 ok(Bar->isa('Thing'));
47 ok(defined &Bar::field);
48 ok(defined &Bar::const);
49 ok(defined &Bar::xxx);
50 ok(defined &Bar::thing);
51
52 ok(not Boo->isa('Spiffy'));
53 ok(defined &Boo::xxx);
54
55 ok(not Goo->isa('Spiffy'));
56 ok(Goo->isa('Boo'));
57 ok(not defined &Goo::xxx);
58
59 ok(SomethingGood->isa('Something'));
60 ok(SomethingGood->isa('Spiffy'));
61 ok(not SomethingGood->isa('Thing'));
62 ok(not defined &SomethingGood::thing);
63
64 ok(not @Spiffy::ISA);