NAME
Test::Dist::Zilla::BuiltFiles - TODO: Test your Dist::Zilla plugin in build action
VERSION
Version v0.3.1, released on 2015-09-21 23:32 UTC.
SYNOPSIS
package ManifestTester;
use Moose;
with 'Test::Dist::Zilla::Build';
with 'Test::Dist::Zilla::BuiltFiles';
use Test::Deep qw{ cmp_deeply re };
use Test::More;
run_me 'A test' => {
plugins => [
'GatherDir',
'Manifest',
'MetaJSON',
],
files => {
'lib/Dummy.pm' => 'package Dummy; 1;',
},
expected => {
files => {
'MANIFEST' => [
'lib/Dunny.pm',
'MANIFEST',
'META.json',
],
},
};
};
exit( 0 );
DESCRIPTION
This is a Test::Routine-based role for testing Dist::Zilla and its plugins. It is intended to be used in cooperation with Test::Dist::Zilla::Build role. Test::Dist::Zilla::Build builds the distribution and checks exception and build messages, while Test::Dist::Zilla::BuiltFiles checks built files.
OBJECT METHODS
BuiltFiles
It is a test routine. It checks built files. Names of files to check should be be enlisted in files key of expected hash. Value should be HashRef, keys are filenames, values are file content. File content may be specified as Str or ArrayRef[Str]:
run_me {
…
expected => {
files => {
'filename1' => "line1\nline2\n",
'filename2' => [
'line1', # Should not include newline character.
'line2'
],
'filename3' => undef, # This file should not exist.
},
},
};
For every file the test routine checks the file exists and its actual content matches the expected content. If expected content is undef, the file should not exists.
Note: BuiltFiles assumes successful build. If an exception occurred, BuiltFiles skips all the checks.
SEE ALSO
- Test::Dist::Zilla
- Test::Dist::Zilla::Build
- "$ok = cmp_deeply($got, $expected, $name)" in Test::Deep
- Test::Routine
AUTHOR
Van de Bugger <van.de.bugger@gmail.com>
COPYRIGHT AND LICENSE
Copyright © 2015 Van de Bugger
This file is part of perl-Test-Dist-Zilla.
perl-Test-Dist-Zilla is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
perl-Test-Dist-Zilla is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with perl-Test-Dist-Zilla. If not, see <http://www.gnu.org/licenses/>.