Test::DZil(3) User Contributed Perl Documentation Test::DZil(3)NAMETest::DZil - tools for testing Dist::Zilla plugins
VERSION
version 4.300014
DESCRIPTIONTest::DZil provides routines for writing tests for Dist::Zilla plugins.
FUNCTIONS
Builder
Minter
my $tzil = Builder->from_config(...);
These return class names that subclass Dist::Zilla::Dist::Builder or
Dist::Zilla::Dist::Minter, respectively, with the Dist::Zilla::Tester
behavior added.
is_filelist
is_filelist( \@files_we_have, \@files_we_want, $desc );
This test assertion compares two arrayrefs of filenames, taking care of
slash normalization and sorting. @files_we_have may also contain
objects that do Dist::Zilla::Role::File.
is_yaml
is_yaml( $yaml_string, $want_struct, $comment );
This test assertion deserializes the given YAML string and does a
"cmp_deeply".
is_json
is_json( $json_string, $want_struct, $comment );
This test assertion deserializes the given JSON string and does a
"cmp_deeply".
dist_ini
my $ini_text = dist_ini(\%root_config, @plugins);
This routine returns a string that could be used to populate a simple
dist.ini file. The %root_config gives data for the "root" section of
the configuration. To provide a line multiple times, provide an
arrayref. For example, the root section could read:
{
name => 'Dist-Sample',
author => [
'J. Smith <jsmith@example.com>',
'Q. Smith <qsmith@example.com>',
],
}
The root section is optional.
Plugins can be given in a few ways:
"PluginMoniker"
"[ "PluginMoniker" ]"
These become "[PluginMoniker]"
"[ "PluginMoniker", "PluginName" ]"
This becomes "[PluginMoniker / PluginName]"
"[ "PluginMoniker", { ... } ]"
"[ "PluginMoniker", "PluginName", { ... } ]"
These use the given hashref as the parameters inside the section,
with the same semantics as the root section.
simple_ini
This behaves exactly like "dist_ini", but it merges any given root
config into a starter config, which means that you can often skip any
explicit root config. The starter config may change slightly over
time, but is something like this:
{
name => 'DZT-Sample',
abstract => 'Sample DZ Dist',
version => '0.001',
author => 'E. Xavier Ample <example@example.org>',
license => 'Perl_5',
copyright_holder => 'E. Xavier Ample',
}
AUTHOR
Ricardo SIGNES <rjbs@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Ricardo SIGNES.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
perl v5.14.2 2012-04-05 Test::DZil(3)