There are two forms this module can be used.
The first is a standalone test of your distributions META.yml file:
eval "use Test::CPAN::Meta::YAML";
plan skip_all => "Test::CPAN::Meta::YAML required for testing META.yml" if $@;
Note that you may provide an optional label/comment/message/etc to the
function, or one will be created automatically.
The second form allows you to test other META.yml files, or specify a specific
version you wish to test against:
use Test::More tests => 6;
# specify a file and specification version
# specify the specification version to validate the local META.yml
# specify a file, where the specification version is deduced
# from the file itself
Note that this form requires you to specify the number of tests you will be
running in your test script. Also note that each meta_spec_ok is actually two
tests under the hood.
There are currently three distributions to test META files:
All three have slightly different requirements and are intended to be used in
slightly different environments.
Test-CPAN-Meta-YAML requires a YAML parser, and currently looks for the YAML or
YAML::Syck modules. This is the original variant of the three and was intended to
provide a more complete YAML validation of a META.yml.
Test-CPAN-Meta requires the Parse::CPAN::Meta module, which is now part of Perl
Core as of perl-5.10.1. This version is intended to be used by those only
wishing to rely on core modules to test their META.yml files.
Test-CPAN-Meta-JSON is the most recent addition to the family, and is specifically
aimed at those distributions that use a META.json Meta file. The distribution
requires the JSON module to parse the Meta file.