summaryrefslogtreecommitdiff
path: root/xt/author/pod-coverage.t
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2015-06-06 17:50:16 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2015-06-06 17:50:16 +0000
commit5ac2026f7eed78958d69d051e7a8e993dcf51205 (patch)
tree298c3d2f08bdfe5689998b11892d72a897985be1 /xt/author/pod-coverage.t
downloadMoose-tarball-master.tar.gz
Diffstat (limited to 'xt/author/pod-coverage.t')
-rw-r--r--xt/author/pod-coverage.t233
1 files changed, 233 insertions, 0 deletions
diff --git a/xt/author/pod-coverage.t b/xt/author/pod-coverage.t
new file mode 100644
index 0000000..b0d4f43
--- /dev/null
+++ b/xt/author/pod-coverage.t
@@ -0,0 +1,233 @@
+
+use strict;
+use warnings;
+
+use Test::More;
+
+use Test::Requires {
+ 'Test::Pod::Coverage' => '1.04', # skip all if not installed
+};
+
+# This is a stripped down version of all_pod_coverage_ok which lets us
+# vary the trustme parameter per module.
+my @modules
+ = grep { !/Accessor::Native.*$/ && !/::Conflicts$/ && !/^Moose::Exception::/ } all_modules();
+plan tests => scalar @modules;
+
+my %trustme = (
+ 'Class::MOP' => [
+ 'DEBUG_NO_META',
+ 'HAVE_ISAREV',
+ 'IS_RUNNING_ON_5_10',
+ 'subname',
+ 'in_global_destruction',
+ 'check_package_cache_flag',
+ 'load_first_existing_class',
+ 'is_class_loaded',
+ 'load_class',
+ ],
+ 'Class::MOP::Attribute' => ['process_accessors'],
+ 'Class::MOP::Class' => [
+
+ # deprecated
+ 'alias_method',
+ 'compute_all_applicable_attributes',
+ 'compute_all_applicable_methods',
+
+ # unfinished feature
+ 'add_dependent_meta_instance',
+ 'add_meta_instance_dependencies',
+ 'invalidate_meta_instance',
+ 'invalidate_meta_instances',
+ 'remove_dependent_meta_instance',
+ 'remove_meta_instance_dependencies',
+ 'update_meta_instance_dependencies',
+
+ # effectively internal
+ 'check_metaclass_compatibility',
+ 'clone_instance',
+ 'construct_class_instance',
+ 'construct_instance',
+ 'create_meta_instance',
+ 'reset_package_cache_flag',
+ 'update_package_cache_flag',
+ 'reinitialize',
+
+ # doc'd with rebless_instance
+ 'rebless_instance_away',
+
+ # deprecated
+ 'get_attribute_map',
+ ],
+ 'Class::MOP::Class::Immutable::Trait' => ['.+'],
+ 'Class::MOP::Class::Immutable::Class::MOP::Class' => ['.+'],
+ 'Class::MOP::Deprecated' => ['.+'],
+ 'Class::MOP::Instance' => [
+ qw( BUILDARGS
+ bless_instance_structure
+ is_dependent_on_superclasses ),
+ ],
+ 'Class::MOP::Instance' => [
+ qw( BUILDARGS
+ bless_instance_structure
+ is_dependent_on_superclasses ),
+ ],
+ 'Class::MOP::Method::Accessor' => [
+ qw( generate_accessor_method
+ generate_accessor_method_inline
+ generate_clearer_method
+ generate_clearer_method_inline
+ generate_predicate_method
+ generate_predicate_method_inline
+ generate_reader_method
+ generate_reader_method_inline
+ generate_writer_method
+ generate_writer_method_inline
+ initialize_body
+ )
+ ],
+ 'Class::MOP::Method::Constructor' => [
+ qw( attributes
+ generate_constructor_method
+ generate_constructor_method_inline
+ initialize_body
+ meta_instance
+ options
+ )
+ ],
+ 'Class::MOP::Method::Generated' => [
+ qw( new
+ definition_context
+ is_inline
+ initialize_body
+ )
+ ],
+ 'Class::MOP::MiniTrait' => ['.+'],
+ 'Class::MOP::Mixin::AttributeCore' => ['.+'],
+ 'Class::MOP::Mixin::HasAttributes' => ['.+'],
+ 'Class::MOP::Mixin::HasMethods' => ['.+'],
+ 'Class::MOP::Mixin::HasOverloads' => ['.+'],
+ 'Class::MOP::Overload' => [ 'attach_to_class' ],
+ 'Class::MOP::Package' => [ 'get_method_map', 'wrap_method_body' ],
+ 'Moose' => [ 'init_meta', 'throw_error' ],
+ 'Moose::Error::Confess' => ['new'],
+ 'Moose::Exception' => ['BUILD'],
+ 'Moose::Meta::Attribute' => [
+ qw( interpolate_class
+ throw_error
+ attach_to_class
+ )
+ ],
+ 'Moose::Meta::Attribute::Native::MethodProvider::Array' => ['.+'],
+ 'Moose::Meta::Attribute::Native::MethodProvider::Bool' => ['.+'],
+ 'Moose::Meta::Attribute::Native::MethodProvider::Code' => ['.+'],
+ 'Moose::Meta::Attribute::Native::MethodProvider::Counter' => ['.+'],
+ 'Moose::Meta::Attribute::Native::MethodProvider::Hash' => ['.+'],
+ 'Moose::Meta::Attribute::Native::MethodProvider::String' => ['.+'],
+ 'Moose::Meta::Class' => [
+ qw( check_metaclass_compatibility
+ construct_instance
+ create_error
+ raise_error
+ reinitialize
+ superclasses
+ )
+ ],
+ 'Moose::Meta::Class::Immutable::Trait' => ['.+'],
+ 'Moose::Meta::Method' => ['throw_error'],
+ 'Moose::Meta::Method::Accessor' => [
+ qw( generate_accessor_method
+ generate_accessor_method_inline
+ generate_clearer_method
+ generate_predicate_method
+ generate_reader_method
+ generate_reader_method_inline
+ generate_writer_method
+ generate_writer_method_inline
+ new
+ )
+ ],
+ 'Moose::Meta::Method::Constructor' => [
+ qw( attributes
+ initialize_body
+ meta_instance
+ new
+ options
+ )
+ ],
+ 'Moose::Meta::Method::Destructor' => [ 'initialize_body', 'options' ],
+ 'Moose::Meta::Method::Meta' => ['wrap'],
+ 'Moose::Meta::Role' => [
+ qw( alias_method
+ get_method_modifier_list
+ reinitialize
+ reset_package_cache_flag
+ update_package_cache_flag
+ wrap_method_body
+ )
+ ],
+ 'Moose::Meta::Mixin::AttributeCore' => ['.+'],
+ 'Moose::Meta::Role::Composite' => [
+ qw( add_method
+ get_method
+ get_method_list
+ has_method
+ is_anon
+ add_overloaded_operator
+ get_all_overloaded_operators
+ get_overload_fallback_value
+ is_overloaded
+ set_overload_fallback_value
+ ),
+ ],
+ 'Moose::Object' => [ 'BUILDALL', 'DEMOLISHALL' ],
+ 'Moose::Role' => [
+ qw( after
+ around
+ augment
+ before
+ extends
+ has
+ inner
+ override
+ super
+ with
+ init_meta )
+ ],
+ 'Moose::Meta::TypeCoercion' => ['compile_type_coercion'],
+ 'Moose::Meta::TypeCoercion::Union' => ['compile_type_coercion'],
+ 'Moose::Meta::TypeConstraint' => [qw( compile_type_constraint inlined )],
+ 'Moose::Meta::TypeConstraint::Class' =>
+ [qw( equals is_a_type_of is_a_subtype_of )],
+ 'Moose::Meta::TypeConstraint::Enum' => [qw( constraint equals )],
+ 'Moose::Meta::TypeConstraint::DuckType' =>
+ [qw( constraint equals get_message )],
+ 'Moose::Meta::TypeConstraint::Parameterizable' => ['.+'],
+ 'Moose::Meta::TypeConstraint::Parameterized' => ['.+'],
+ 'Moose::Meta::TypeConstraint::Role' => [qw( equals is_a_type_of )],
+ 'Moose::Meta::TypeConstraint::Union' => [
+ qw( compile_type_constraint
+ coercion
+ has_coercion
+ can_be_inlined
+ inline_environment )
+ ],
+ 'Moose::Util' => ['add_method_modifier'],
+ 'Moose::Util::MetaRole' => ['apply_metaclass_roles'],
+ 'Moose::Util::TypeConstraints' => ['find_or_create_type_constraint'],
+ 'Moose::Util::TypeConstraints::Builtins' => ['.+'],
+);
+
+for my $module ( sort @modules ) {
+
+ my $trustme = [];
+ if ( $trustme{$module} ) {
+ my $methods = join '|', @{ $trustme{$module} };
+ $trustme = [qr/^(?:$methods)$/];
+ }
+
+ pod_coverage_ok(
+ $module, { trustme => $trustme },
+ "Pod coverage for $module"
+ );
+}