#!/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); }