docs for Moose::Meta::Role::Composite
[gitmo/Moose.git] / xt / pod_coverage.t
1 #!/usr/bin/perl
2
3 use strict;
4 use warnings;
5
6 use Test::More;
7
8 eval "use Test::Pod::Coverage 1.04";
9 plan skip_all => "Test::Pod::Coverage 1.04 required for testing POD coverage" if $@;
10
11 # This is a stripped down version of all_pod_coverage_ok which lets us
12 # vary the trustme parameter per module.
13 my @modules = all_modules();
14 plan tests => scalar @modules;
15
16 my %trustme = (
17     'Moose'                  => ['make_immutable'],
18     'Moose::Meta::Attribute' => [ 'interpolate_class', 'throw_error' ],
19     'Moose::Meta::Class'     => [
20         qw( check_metaclass_compatibility
21             construct_instance
22             create_error
23             create_immutable_transformer
24             raise_error
25             )
26     ],
27     'Moose::Meta::Method'           => ['throw_error'],
28     'Moose::Meta::Method::Accessor' => [
29         qw( generate_accessor_method
30             generate_accessor_method_inline
31             generate_clearer_method
32             generate_predicate_method
33             generate_reader_method
34             generate_reader_method_inline
35             generate_writer_method
36             generate_writer_method_inline
37             )
38     ],
39     'Moose::Meta::Method::Constructor' => [
40         qw( attributes
41             generate_constructor_method
42             generate_constructor_method_inline
43             initialize_body
44             meta_instance
45             new
46             options
47             )
48     ],
49     'Moose::Meta::Method::Destructor' => [ 'initialize_body', 'options' ],
50     'Moose::Meta::Role'               => [
51         qw( alias_method
52             get_method_modifier_list
53             reset_package_cache_flag
54             update_package_cache_flag
55             wrap_method_body
56             )
57     ],
58     'Moose::Meta::Role::Composite' => ['add_method'],
59     'Moose::Role'                  => [
60         qw( after
61             around
62             augment
63             before
64             extends
65             has
66             inner
67             make_immutable
68             override
69             super
70             with )
71     ],
72 );
73
74 for my $module ( sort @modules ) {
75     my $trustme = [];
76     if ( $trustme{$module} ) {
77         my $methods = join '|', @{ $trustme{$module} };
78         $trustme = [qr/^(?:$methods)$/];
79     }
80
81     pod_coverage_ok(
82         $module, { trustme => $trustme },
83         "Pod coverage for $module"
84     );
85 }