Remove unused Module::Build tests
[p5sagit/p5-mst-13.2.git] / lib / Module / Build / t / parents.t
CommitLineData
bb4e9162 1#!/usr/bin/perl -w
2
3use strict;
4use lib $ENV{PERL_CORE} ? '../lib/Module/Build/t/lib' : 't/lib';
5use MBTest tests => 27;
6
7#########################
8
9use Module::Build;
10ok(1);
11
12package Foo;
13sub foo;
14
15package MySub1;
16use base 'Module::Build';
17
18package MySub2;
19use base 'MySub1';
20
21package MySub3;
22use base qw(MySub2 Foo);
23
24package MyTest;
25use base 'Module::Build';
26
27package MyBulk;
28use base qw(MySub2 MyTest);
29
30package main;
31
32ok my @parents = MySub1->mb_parents;
33# There will be at least one platform class in between.
34ok @parents >= 2;
35# They should all inherit from Module::Build::Base;
36ok ! grep { !$_->isa('Module::Build::Base') } @parents;
37is $parents[0], 'Module::Build';
38is $parents[-1], 'Module::Build::Base';
39
40ok @parents = MySub2->mb_parents;
41ok @parents >= 3;
42ok ! grep { !$_->isa('Module::Build::Base') } @parents;
43is $parents[0], 'MySub1';
44is $parents[1], 'Module::Build';
45is $parents[-1], 'Module::Build::Base';
46
47ok @parents = MySub3->mb_parents;
48ok @parents >= 4;
49ok ! grep { !$_->isa('Module::Build::Base') } @parents;
50is $parents[0], 'MySub2';
51is $parents[1], 'MySub1';
52is $parents[2], 'Module::Build';
53is $parents[-1], 'Module::Build::Base';
54
55ok @parents = MyBulk->mb_parents;
56ok @parents >= 5;
57ok ! grep { !$_->isa('Module::Build::Base') } @parents;
58is $parents[0], 'MySub2';
59is $parents[1], 'MySub1';
60is $parents[2], 'Module::Build';
61is $parents[-2], 'Module::Build::Base';
62is $parents[-1], 'MyTest';