Commit | Line | Data |
9f32bdd8 |
1 | #!/usr/bin/perl |
2 | |
3 | use strict; |
4 | use warnings; |
5 | |
6 | use Test::More; |
7 | |
0f352882 |
8 | use Test::Requires { |
9 | 'Test::Pod::Coverage' => '1.04', # skip all if not installed |
10 | }; |
9f32bdd8 |
11 | |
12 | # This is a stripped down version of all_pod_coverage_ok which lets us |
13 | # vary the trustme parameter per module. |
14 | my @modules = all_modules(); |
15 | plan tests => scalar @modules; |
16 | |
17 | my %trustme = ( |
10c5d753 |
18 | 'Class::MOP' => [ |
19 | 'DEBUG_NO_META', |
20 | 'HAVE_ISAREV', |
21 | 'subname', |
22 | 'in_global_destruction', |
23 | ], |
9f32bdd8 |
24 | 'Class::MOP::Attribute' => ['process_accessors'], |
c02d53a4 |
25 | 'Class::MOP::Class' => [ |
4054ae31 |
26 | # deprecated |
27 | 'alias_method', |
2620be77 |
28 | 'compute_all_applicable_attributes', |
4054ae31 |
29 | 'compute_all_applicable_methods', |
30 | |
31 | # unfinished feature |
32 | 'add_dependent_meta_instance', |
33 | 'add_meta_instance_dependencies', |
34 | 'invalidate_meta_instance', |
35 | 'invalidate_meta_instances', |
36 | 'remove_dependent_meta_instance', |
37 | 'remove_meta_instance_dependencies', |
38 | 'update_meta_instance_dependencies', |
39 | |
40 | # effectively internal |
41 | 'check_metaclass_compatibility', |
42 | 'clone_instance', |
43 | 'construct_class_instance', |
44 | 'construct_instance', |
4054ae31 |
45 | 'create_meta_instance', |
4054ae31 |
46 | 'reset_package_cache_flag', |
47 | 'update_package_cache_flag', |
2d09de80 |
48 | 'reinitialize', |
4054ae31 |
49 | |
334d8f6e |
50 | # doc'd with rebless_instance |
51 | 'rebless_instance_away', |
b1aaf0dc |
52 | |
53 | # deprecated |
54 | 'get_attribute_map', |
c02d53a4 |
55 | ], |
f5d1c6d0 |
56 | 'Class::MOP::Class::Immutable::Trait' => ['.+'], |
57 | 'Class::MOP::Class::Immutable::Class::MOP::Class' => ['.+'], |
b409c969 |
58 | 'Class::MOP::Deprecated' => ['.+'], |
9b871d79 |
59 | 'Class::MOP::Instance' => [ |
fbedcfb3 |
60 | qw( BUILDARGS |
61 | bless_instance_structure |
62 | is_dependent_on_superclasses ), |
63 | ], |
20315887 |
64 | 'Class::MOP::Instance' => [ |
65 | qw( BUILDARGS |
66 | bless_instance_structure |
67 | is_dependent_on_superclasses ), |
68 | ], |
fbedcfb3 |
69 | 'Class::MOP::Method::Accessor' => [ |
70 | qw( generate_accessor_method |
71 | generate_accessor_method_inline |
72 | generate_clearer_method |
73 | generate_clearer_method_inline |
74 | generate_predicate_method |
75 | generate_predicate_method_inline |
76 | generate_reader_method |
77 | generate_reader_method_inline |
78 | generate_writer_method |
79 | generate_writer_method_inline |
80 | initialize_body |
81 | ) |
82 | ], |
fbedcfb3 |
83 | 'Class::MOP::Method::Constructor' => [ |
84 | qw( attributes |
85 | generate_constructor_method |
86 | generate_constructor_method_inline |
87 | initialize_body |
88 | meta_instance |
a18e1521 |
89 | options |
fbedcfb3 |
90 | ) |
91 | ], |
fbedcfb3 |
92 | 'Class::MOP::Method::Generated' => [ |
93 | qw( new |
94 | definition_context |
95 | is_inline |
96 | initialize_body |
97 | ) |
98 | ], |
35cb21ab |
99 | 'Class::MOP::MiniTrait' => ['.+'], |
9b871d79 |
100 | 'Class::MOP::Mixin::AttributeCore' => ['.+'], |
101 | 'Class::MOP::Mixin::HasAttributes' => ['.+'], |
102 | 'Class::MOP::Mixin::HasMethods' => ['.+'], |
103 | 'Class::MOP::Module' => ['create'], |
b409c969 |
104 | 'Class::MOP::Package' => [ 'get_method_map', 'wrap_method_body' ], |
9f32bdd8 |
105 | ); |
106 | |
107 | for my $module ( sort @modules ) { |
108 | my $trustme = []; |
109 | if ( $trustme{$module} ) { |
110 | my $methods = join '|', @{ $trustme{$module} }; |
896dacc0 |
111 | $trustme = [qr/^(?:$methods)$/]; |
9f32bdd8 |
112 | } |
113 | |
114 | pod_coverage_ok( |
115 | $module, { trustme => $trustme }, |
116 | "Pod coverage for $module" |
117 | ); |
118 | } |