use strict; use Test; use Carp; BEGIN {plan tests => 1} use Perl::Tidy; #---------------------------------------------------------------------- ## test file->array # # Also tests: # passing perltidyrc (we cannot allow local .perltidyrc flags to be used) # the -gnu flag #---------------------------------------------------------------------- my $source = "lextest"; my $perltidyrc = <<'EOM'; -gnu EOM my @tidy_output; Perl::Tidy::perltidy( source => $source, destination => \@tidy_output, perltidyrc => \$perltidyrc, argv => '-nsyn', ); my @expected_output=; my $ok=1; if (@expected_output == @tidy_output) { while ( $_ = pop @tidy_output ) { my $expect = pop @expected_output; if ( $expect ne $_ ) { print STDERR "got:$_"; print STDERR "---\n"; print STDERR "expected_output:$expect"; $ok=0; last; } } } else { print STDERR "Line Counts differ\n"; $ok=0; } ok ($ok,1); # This is the expected result of 'perltidy -gnu lextest': __DATA__ # This is a simple testfile to demonstrate perltidy, from perlop(1). # One way (of several) to run perltidy is as follows: # # perl ./perltidy lextest # # The output will be "lextest.tdy" $_ = <<'EOL'; $url = new URI::URL "http://www/"; die if $url eq "xXx"; EOL LOOP: { print(" digits"), redo LOOP if /\G\d+\b[,.;]?\s*/gc; print(" lowercase"), redo LOOP if /\G[a-z]+\b[,.;]?\s*/gc; print(" UPPERCASE"), redo LOOP if /\G[A-Z]+\b[,.;]?\s*/gc; print(" Capitalized"), redo LOOP if /\G[A-Z][a-z]+\b[,.;]?\s*/gc; print(" MiXeD"), redo LOOP if /\G[A-Za-z]+\b[,.;]?\s*/gc; print(" alphanumeric"), redo LOOP if /\G[A-Za-z0-9]+\b[,.;]?\s*/gc; print(" line-noise"), redo LOOP if /\G[^A-Za-z0-9]+/gc; print ". That's all!\n"; }