App-MARC-Validator
view release on metacpan or search on metacpan
t/App-MARC-Validator/04-run.t view on Meta::CPAN
use strict;
use warnings;
use App::MARC::Validator;
use English;
use File::Object;
use File::Spec::Functions qw(abs2rel);
use Test::More 'tests' => 7;
use Test::NoWarnings;
use Test::Output;
use Test::Warn 0.31;
# Data directory.
my $data_dir = File::Object->new->up->dir('data');
# Test.
@ARGV = (
'-l',
);
my $right_ret = "List of plugins:\n- MARC::Validator";
stdout_like(
sub {
App::MARC::Validator->new->run;
return;
},
qr{^$right_ret},
'List plugins (-l).',
);
# Test.
@ARGV = (
'-p',
'-u',
'plugin:MARC::Validator::Plugin::Field008',
$data_dir->file('cnb003755915.xml')->s,
);
$right_ret = <<'END';
{
"field_008" : {
"checks" : {
"not_valid" : {
"1426868" : [
{
"error" : "Bad length of MARC leader.",
"params" : {
"Length" : 23
}
}
]
}
},
END
chomp $right_ret;
stdout_like(
sub {
App::MARC::Validator->new->run;
return;
},
qr{^\Q$right_ret\E},
'Process MARC record with shorter leader that 24 characters.',
);
# Test.
@ARGV = (
'-h',
);
$right_ret = help();
stderr_is(
sub {
App::MARC::Validator->new->run;
return;
},
$right_ret,
'Run help (-h).',
);
# Test.
@ARGV = ();
$right_ret = help();
stderr_is(
sub {
App::MARC::Validator->new->run;
return;
},
$right_ret,
'Run help (no arguments).',
);
# Test.
@ARGV = (
'-x',
);
$right_ret = help();
stderr_is(
sub {
warning_is { App::MARC::Validator->new->run; } "Unknown option: x\n",
'Warning about bad argument';
return;
},
$right_ret,
'Run help (-x - bad option).',
( run in 0.748 second using v1.01-cache-2.11-cpan-9581c071862 )