Commits

Anonymous committed 31d5eec

Added a rudimentary test script to test the ::App.

  • Participants
  • Parent commits 508a31e

Comments (0)

Files changed (2)

File File-Dir-Dumper/MANIFEST

 t/pod-coverage.t
 t/pod.t
 t/sample-data/placeholder.txt
+t/script.t
 t/test-stream.t

File File-Dir-Dumper/t/script.t

+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use Test::More tests => 2;
+
+use POSIX qw(mktime strftime);
+use File::Path;
+use English;
+
+use File::Spec;
+use lib File::Spec->catdir(File::Spec->curdir(), "t", "lib");
+
+use File::Find::Object::TreeCreate;
+use File::Dir::Dumper::Stream::JSON::Reader;
+
+{
+    my $tree =
+    {
+        'name' => "traverse-1/",
+        'subs' =>
+        [
+            {
+                'name' => "a.doc",
+                'contents' => "This file was spotted in the wild.",
+            },
+            {
+                'name' => "b/",
+            },
+            {
+                'name' => "foo/",
+                'subs' =>
+                [
+                    {
+                        'name' => "yet/",
+                    },
+                ],
+            },
+        ],
+    };
+
+    my $t = File::Find::Object::TreeCreate->new();
+    $t->create_tree("./t/sample-data/", $tree);
+
+    my $test_dir = "t/sample-data/traverse-1";
+    my $out_file = File::Spec->catfile("t", "sample-data", "out.txt");
+
+    my $ret =
+    system(
+        $^X,
+        "-Mblib",
+        "-e",
+        <<'EOF',
+use strict;
+use warnings;
+use File::Dir::Dumper::App;
+
+my $app = File::Dir::Dumper::App->new({argv => \@ARGV});
+exit($app->run());
+EOF
+        "--",
+        "--output", $out_file,
+        $t->get_path("$test_dir")
+    );
+
+    # TEST
+    ok (!$ret, "system returned OK.");
+
+
+    open my $from_out, "<", $out_file;
+
+    my $reader = File::Dir::Dumper::Stream::JSON::Reader->new(
+        {
+            input => $from_out,
+        }
+    );
+
+    my $token = $reader->fetch();
+
+    # TEST
+    is ($token->{'type'}, "header",
+        "Token type is header - file was written OK."
+    );
+
+    # Cleanup.
+    close($from_out);
+    undef($reader);
+    rmtree($t->get_path($test_dir));
+    unlink($out_file);
+}