]> git.donarmstrong.com Git - perltidy.git/blobdiff - examples/testff.t
Imported Upstream version 20120701
[perltidy.git] / examples / testff.t
diff --git a/examples/testff.t b/examples/testff.t
new file mode 100644 (file)
index 0000000..9ac8309
--- /dev/null
@@ -0,0 +1,71 @@
+use strict;
+use Test;
+use Carp;
+BEGIN {plan tests => 1}
+use Perl::Tidy; 
+
+#----------------------------------------------------------------------
+## test file->file through arg list
+#   Also tests:
+#     passing parameters names through 'argv=>'
+#     -o flag
+#
+#     NOTE: This will read file 'lextest' and create file 'lextest.out'
+#     (for portability, 8.3 filenames are best)
+#     NOTE: must use -npro flag to avoid using local perltidyrc flags
+#----------------------------------------------------------------------
+
+my $input_file = "lextest";
+my $output_file = "lextest.out";
+
+Perl::Tidy::perltidy(
+    source      => undef,
+    destination => undef,
+    perltidyrc  => undef,
+    argv        => "-nsyn -npro $input_file -o $output_file",
+);
+
+open FILE, "< $output_file";
+my @output=<FILE>;
+my @expected_output=<DATA>;
+my $ok=1;
+if (@expected_output == @output) {
+        while ( $_ = pop @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 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";
+}