my
$rparams
;
my
$rsources
;
my
$rtests
;
BEGIN {
$rparams
= {
'bbhb2'
=>
"-bbhb=2 -bbp=2"
,
'bbhb3'
=>
"-bbhb=3 -bbp=3"
,
'bbhb4'
=>
"-bbhb=3 -bbp=3 -bbhbi=2 -bbpi=2"
,
'bbhb5'
=>
"-bbhb=3 -bbp=3 -bbhbi=1 -bbpi=1"
,
'boa'
=>
<<'----------',
# -boa is default so we test nboa
-nboa
----------
'braces7'
=>
<<'----------',
-bli -blil='*' -blixl='eval'
----------
'def'
=>
""
,
'extrude'
=>
"--extrude"
,
'git45'
=>
"-vtc=1 -wn"
,
'here_long'
=>
"-l=33"
,
'kba1'
=>
<<'----------',
-kbb='=> ,' -kba='=>'
----------
'mangle'
=>
"--mangle"
,
'xci1'
=>
"-xci"
,
'xci2'
=>
"-pbp -nst -nse -xci"
,
};
$rsources
= {
'bbhb'
=>
<<'----------',
my %temp =
(
supsup => 123,
nested => {
asdf => 456,
yarg => 'yarp',
}, );
----------
'boa'
=>
<<'----------',
my @field
: field
: Default(1)
: Get('Name' => 'foo')
: Set('Name');
----------
'braces'
=>
<<'----------',
sub message {
if ( !defined( $_[0] ) ) {
print("Hello, World\n");
}
else {
print( $_[0], "\n" );
}
}
$myfun = sub {
print("Hello, World\n");
};
eval {
my $app = App::perlbrew->new( "install-patchperl", "-q" );
$app->run();
} or do {
$error = $@;
$produced_error = 1;
};
Mojo::IOLoop->next_tick(
sub {
$ua->get(
'/' => sub {
push @kept_alive, pop->kept_alive;
Mojo::IOLoop->next_tick( sub { Mojo::IOLoop->stop } );
}
);
}
);
$r = do {
sswitch( $words[ rand @words ] ) {
case $words[0]:
case $words[1]:
case $words[2]:
case $words[3]: { 'ok' }
default: { 'wtf' }
}
};
try {
die;
}
catch {
die;
};
----------
'extrude5'
=>
<<'----------',
use perl6-alpha;
$var{-y} = 1;
----------
'git45'
=>
<<'----------',
# git#45 -vtc=n and -wn were not working together
if (
$self->_add_fqdn_host(
name => $name,
realm => $realm
)
)
{
...;
}
# do not stack )->pack(
my $hlist = $control::control->Scrolled(
'HList',
drawbranch => 1,
width => 20,
-scrollbars => 'w'
)->pack(
-side => 'bottom',
-expand => 1
);
----------
'here_long'
=>
<<'----------',
# must not break after here target regardless of maximum-line-length
$sth= $dbh->prepare (<<"END_OF_SELECT") or die "Couldn't prepare SQL" ;
SELECT COUNT(duration),SUM(duration)
FROM logins WHERE username='$user'
END_OF_SELECT
----------
'kba1'
=>
<<'----------',
$this_env = join("", $before, $closures
, $contents
, ($defenv ? '': &balance_tags())
, $reopens ); $_ = $after;
method 'foo1'
=> [ Int, Int ]
=> sub {
my ( $self, $x, $y ) = ( shift, @_ );
...;
};
method 'foo2'=>
[ Int, Int ]=>
sub {
my ( $self, $x, $y ) = ( shift, @_ );
...;
};
----------
'mangle4'
=>
<<'----------',
# a useful parsing test from 'signatures.t'
use feature "signatures";
no warnings "experimental::signatures";
sub t086
( #foo)))
$ #foo)))
a #foo)))
, #foo)))
, #foo)))
$ #foo)))
b #foo)))
= #foo)))
333 #foo)))
, #foo)))
, #foo)))
) #foo)))
{ $a.$b }
----------
'xci'
=>
<<'----------',
$self->{_text} = (
!$section ? ''
: $type eq 'item' ? "the $section entry"
: "the section on $section"
)
. (
$page
? ( $section ? ' in ' : '' ) . "the $page$page_ext manpage"
: ' elsewhere in this document'
);
my $otherHashRef =
$condition
? {
'a' => 'a value',
'b' => 'b value',
'c' => {
'd' => 'd value',
'e' => 'e value'
}
}
: undef;
my @globlist = ( grep { defined } @opt{qw( l q S t )} )
? do {
local *DIR;
opendir DIR, './' or die "can't opendir './': $!";
my @a = grep { not /^\.+$/ } readdir DIR;
closedir DIR;
@a;
}
: ();
----------
};
$rtests
= {
'here_long.here_long'
=> {
source
=>
"here_long"
,
params
=>
"here_long"
,
expect
=>
<<'#1...........',
# must not break after here target regardless of maximum-line-length
$sth =
$dbh->prepare(
<<"END_OF_SELECT") or die "Couldn't prepare SQL";
SELECT COUNT(duration),SUM(duration)
FROM logins WHERE username='$user'
END_OF_SELECT
#1...........
},
'bbhb.bbhb2'
=> {
source
=>
"bbhb"
,
params
=>
"bbhb2"
,
expect
=>
<<'#2...........',
my %temp =
(
supsup => 123,
nested =>
{
asdf => 456,
yarg => 'yarp',
},
);
#2...........
},
'bbhb.bbhb3'
=> {
source
=>
"bbhb"
,
params
=>
"bbhb3"
,
expect
=>
<<'#3...........',
my %temp =
(
supsup => 123,
nested =>
{
asdf => 456,
yarg => 'yarp',
},
);
#3...........
},
'bbhb.def'
=> {
source
=>
"bbhb"
,
params
=>
"def"
,
expect
=>
<<'#4...........',
my %temp = (
supsup => 123,
nested => {
asdf => 456,
yarg => 'yarp',
},
);
#4...........
},
'bbhb.bbhb4'
=> {
source
=>
"bbhb"
,
params
=>
"bbhb4"
,
expect
=>
<<'#5...........',
my %temp =
(
supsup => 123,
nested =>
{
asdf => 456,
yarg => 'yarp',
},
);
#5...........
},
'bbhb.bbhb5'
=> {
source
=>
"bbhb"
,
params
=>
"bbhb5"
,
expect
=>
<<'#6...........',
my %temp =
(
supsup => 123,
nested =>
{
asdf => 456,
yarg => 'yarp',
},
);
#6...........
},
'braces.braces7'
=> {
source
=>
"braces"
,
params
=>
"braces7"
,
expect
=>
<<'#7...........',
sub message
{
if ( !defined( $_[0] ) )
{
print("Hello, World\n");
}
else
{
print( $_[0], "\n" );
}
}
$myfun = sub
{
print("Hello, World\n");
};
eval {
my $app = App::perlbrew->new( "install-patchperl", "-q" );
$app->run();
} or do
{
$error = $@;
$produced_error = 1;
};
Mojo::IOLoop->next_tick(
sub
{
$ua->get(
'/' => sub
{
push @kept_alive, pop->kept_alive;
Mojo::IOLoop->next_tick( sub { Mojo::IOLoop->stop } );
}
);
}
);
$r = do
{
sswitch( $words[ rand @words ] )
{
case $words[0]:
case $words[1]:
case $words[2]:
case $words[3]: { 'ok' }
default: { 'wtf' }
}
};
try
{
die;
}
catch
{
die;
};
#7...........
},
'xci.def'
=> {
source
=>
"xci"
,
params
=>
"def"
,
expect
=>
<<'#8...........',
$self->{_text} = (
!$section ? ''
: $type eq 'item' ? "the $section entry"
: "the section on $section"
)
. (
$page
? ( $section ? ' in ' : '' ) . "the $page$page_ext manpage"
: ' elsewhere in this document'
);
my $otherHashRef =
$condition
? {
'a' => 'a value',
'b' => 'b value',
'c' => {
'd' => 'd value',
'e' => 'e value'
}
}
: undef;
my @globlist = ( grep { defined } @opt{qw( l q S t )} )
? do {
local *DIR;
opendir DIR, './' or die "can't opendir './': $!";
my @a = grep { not /^\.+$/ } readdir DIR;
closedir DIR;
@a;
}
: ();
#8...........
},
'xci.xci1'
=> {
source
=>
"xci"
,
params
=>
"xci1"
,
expect
=>
<<'#9...........',
$self->{_text} = (
!$section ? ''
: $type eq 'item' ? "the $section entry"
: "the section on $section"
)
. (
$page
? ( $section ? ' in ' : '' ) . "the $page$page_ext manpage"
: ' elsewhere in this document'
);
my $otherHashRef =
$condition
? {
'a' => 'a value',
'b' => 'b value',
'c' => {
'd' => 'd value',
'e' => 'e value'
}
}
: undef;
my @globlist = ( grep { defined } @opt{qw( l q S t )} )
? do {
local *DIR;
opendir DIR, './' or die "can't opendir './': $!";
my @a = grep { not /^\.+$/ } readdir DIR;
closedir DIR;
@a;
}
: ();
#9...........
},
'xci.xci2'
=> {
source
=>
"xci"
,
params
=>
"xci2"
,
expect
=>
<<'#10...........',
$self->{_text} = (
!$section ? ''
: $type eq 'item' ? "the $section entry"
: "the section on $section"
)
. ( $page
? ( $section ? ' in ' : '' ) . "the $page$page_ext manpage"
: ' elsewhere in this document'
);
my $otherHashRef
= $condition
? { 'a' => 'a value',
'b' => 'b value',
'c' => {
'd' => 'd value',
'e' => 'e value'
}
}
: undef;
my @globlist = ( grep {defined} @opt{qw( l q S t )} )
? do {
local *DIR;
opendir DIR, './' or die "can't opendir './': $!";
my @a = grep { not /^\.+$/ } readdir DIR;
closedir DIR;
@a;
}
: ();
#10...........
},
'mangle4.def'
=> {
source
=>
"mangle4"
,
params
=>
"def"
,
expect
=>
<<'#11...........',
# a useful parsing test from 'signatures.t'
use feature "signatures";
no warnings "experimental::signatures";
sub t086 ( #foo)))
$ #foo)))
a #foo)))
, #foo)))
, #foo)))
$ #foo)))
b #foo)))
= #foo)))
333 #foo)))
, #foo)))
, #foo)))
) #foo)))
{ $a . $b }
#11...........
},
'mangle4.mangle'
=> {
source
=>
"mangle4"
,
params
=>
"mangle"
,
expect
=>
<<'#12...........',
# a useful parsing test from 'signatures.t'
use feature "signatures";
no warnings "experimental::signatures";
sub t086(#foo)))
$ #foo)))
a#foo)))
,#foo)))
,#foo)))
$ #foo)))
b#foo)))
=#foo)))
333#foo)))
,#foo)))
,#foo)))
)#foo)))
{$a.$b}
#12...........
},
'extrude5.def'
=> {
source
=>
"extrude5"
,
params
=>
"def"
,
expect
=>
<<'#13...........',
use perl6-alpha;
$var{-y} = 1;
#13...........
},
'extrude5.extrude'
=> {
source
=>
"extrude5"
,
params
=>
"extrude"
,
expect
=>
<<'#14...........',
use
perl6-alpha
;
$var{-y}
=
1
;
#14...........
},
'kba1.def'
=> {
source
=>
"kba1"
,
params
=>
"def"
,
expect
=>
<<'#15...........',
$this_env = join( "",
$before, $closures, $contents, ( $defenv ? '' : &balance_tags() ),
$reopens );
$_ = $after;
method 'foo1' => [ Int, Int ] => sub {
my ( $self, $x, $y ) = ( shift, @_ );
...;
};
method 'foo2' => [ Int, Int ] => sub {
my ( $self, $x, $y ) = ( shift, @_ );
...;
};
#15...........
},
'kba1.kba1'
=> {
source
=>
"kba1"
,
params
=>
"kba1"
,
expect
=>
<<'#16...........',
$this_env = join(
"", $before, $closures
, $contents
, ( $defenv ? '' : &balance_tags() )
, $reopens
);
$_ = $after;
method 'foo1'
=> [ Int, Int ]
=> sub {
my ( $self, $x, $y ) = ( shift, @_ );
...;
};
method 'foo2' =>
[ Int, Int ] =>
sub {
my ( $self, $x, $y ) = ( shift, @_ );
...;
};
#16...........
},
'git45.def'
=> {
source
=>
"git45"
,
params
=>
"def"
,
expect
=>
<<'#17...........',
# git#45 -vtc=n and -wn were not working together
if (
$self->_add_fqdn_host(
name => $name,
realm => $realm
)
)
{
...;
}
# do not stack )->pack(
my $hlist = $control::control->Scrolled(
'HList',
drawbranch => 1,
width => 20,
-scrollbars => 'w'
)->pack(
-side => 'bottom',
-expand => 1
);
#17...........
},
'git45.git45'
=> {
source
=>
"git45"
,
params
=>
"git45"
,
expect
=>
<<'#18...........',
# git#45 -vtc=n and -wn were not working together
if ( $self->_add_fqdn_host(
name => $name,
realm => $realm ) )
{
...;
}
# do not stack )->pack(
my $hlist = $control::control->Scrolled(
'HList',
drawbranch => 1,
width => 20,
-scrollbars => 'w'
)->pack(
-side => 'bottom',
-expand => 1 );
#18...........
},
'boa.boa'
=> {
source
=>
"boa"
,
params
=>
"boa"
,
expect
=>
<<'#19...........',
my @field : field : Default(1) : Get('Name' => 'foo') : Set('Name');
#19...........
},
};
my
$ntests
= 0 +
keys
%{
$rtests
};
plan
tests
=>
$ntests
;
}
foreach
my
$key
(
sort
keys
%{
$rtests
} ) {
my
$output
;
my
$sname
=
$rtests
->{
$key
}->{source};
my
$expect
=
$rtests
->{
$key
}->{expect};
my
$pname
=
$rtests
->{
$key
}->{params};
my
$source
=
$rsources
->{
$sname
};
my
$params
=
defined
(
$pname
) ?
$rparams
->{
$pname
} :
""
;
my
$stderr_string
;
my
$errorfile_string
;
my
$err
= Perl::Tidy::perltidy(
source
=> \
$source
,
destination
=> \
$output
,
perltidyrc
=> \
$params
,
argv
=>
''
,
stderr
=> \
$stderr_string
,
errorfile
=> \
$errorfile_string
,
);
if
(
$err
||
$stderr_string
||
$errorfile_string
) {
print
STDERR
"Error output received for test '$key'\n"
;
if
(
$err
) {
print
STDERR
"An error flag '$err' was returned\n"
;
ok( !
$err
);
}
if
(
$stderr_string
) {
print
STDERR
"---------------------\n"
;
print
STDERR
"<<STDERR>>\n$stderr_string\n"
;
print
STDERR
"---------------------\n"
;
ok( !
$stderr_string
);
}
if
(
$errorfile_string
) {
print
STDERR
"---------------------\n"
;
print
STDERR
"<<.ERR file>>\n$errorfile_string\n"
;
print
STDERR
"---------------------\n"
;
ok( !
$errorfile_string
);
}
}
else
{
if
( !is(
$output
,
$expect
,
$key
) ) {
my
$leno
=
length
(
$output
);
my
$lene
=
length
(
$expect
);
if
(
$leno
==
$lene
) {
print
STDERR
"#> Test '$key' gave unexpected output. Strings differ but both have length $leno\n"
;
}
else
{
print
STDERR
"#> Test '$key' gave unexpected output. String lengths differ: output=$leno, expected=$lene\n"
;
}
}
}
}