#!/usr/bin/perl
BEGIN {
unless
(
$ENV
{AUTHOR_TESTING}) {
Test::More::plan(
skip_all
=>
'these tests are for testing by the author'
);
}
}
my
$root_dir
= tempdir_simple(
'Code-TidyAll-XXXX'
);
sub
make {
my
(
$file
,
$content
) =
@_
;
$file
=
"$root_dir/$file"
;
mkpath( dirname(
$file
), 0, 0775 );
write_file(
$file
,
$content
);
}
sub
make_foo {
make(
"lib/Foo.pm"
,
method foo {
print
"hi\n"
;
}
method bar (
$x
) {
print
"$x\n"
;
}
method baz (
$y
,
$z
) {
print
"$y, $z\n"
;
}
method foo2
{
print
"hi\n"
;
}
method bar2 (
$x
)
{
print
"$x\n"
;
}
method baz2 (
$y
,
$z
)
{
print
"$y, $z\n"
;
}
1;
'
);
}
make_foo();
my
$ct
= Code::TidyAll->new(
root_dir
=>
$root_dir
,
plugins
=> {
PerlTidy
=> {
select
=>
'**/*.{pl,pm}'
},
'Perl::IgnoreMethodSignaturesSimple'
=> {
select
=>
'**/*.{pl,pm}'
},
}
);
my
$output
= capture_merged {
$ct
->process_all() };
is(
$output
,
"[tidied] lib/Foo.pm\n"
,
"tidied msg"
);
is(
read_file(
"$root_dir/lib/Foo.pm"
),
method foo () {
print
"hi\n"
;
}
method bar (
$x
) {
print
"$x\n"
;
}
method baz (
$y
,
$z
) {
print
"$y, $z\n"
;
}
method foo2 () {
print
"hi\n"
;
}
method bar2 (
$x
) {
print
"$x\n"
;
}
method baz2 (
$y
,
$z
) {
print
"$y, $z\n"
;
}
1;
',
"tidied content"
);
make_foo();
$ct
= Code::TidyAll->new(
root_dir
=>
$root_dir
,
plugins
=> {
PerlTidy
=> {
select
=>
'**/*.{pl,pm}'
,
argv
=>
'-bl'
},
'Perl::IgnoreMethodSignaturesSimple'
=> {
select
=>
'**/*.{pl,pm}'
},
}
);
$output
= capture_merged {
$ct
->process_all() };
is(
$output
,
"[tidied] lib/Foo.pm\n"
,
"tidied msg - -bl"
);
is(
read_file(
"$root_dir/lib/Foo.pm"
),
method foo ()
{
print
"hi\n"
;
}
method bar (
$x
)
{
print
"$x\n"
;
}
method baz (
$y
,
$z
)
{
print
"$y, $z\n"
;
}
method foo2 ()
{
print
"hi\n"
;
}
method bar2 (
$x
)
{
print
"$x\n"
;
}
method baz2 (
$y
,
$z
)
{
print
"$y, $z\n"
;
}
1;
',
'tidied content - -bl'
);
done_testing();