File-Dir-Dumper
view release on metacpan or search on metacpan
my $scanner = File::Dir::Dumper::Scanner->new(
{
dir => $t->get_path($test_dir),
}
);
my $token;
$token = $scanner->fetch();
# TEST
is ($token->{type}, "header", "Token is of type header");
# TEST
is ($token->{dir_to_dump}, $t->get_path($test_dir),
"dir_to_dump is OK."
);
# TEST
is ($token->{stream_type}, "Directory Dump",
"stream_type is OK."
);
$token = $scanner->fetch();
# TEST
is ($token->{type}, "dir", "type is dir");
# TEST
is ($token->{depth}, 0, "depth is 0");
$token = $scanner->fetch();
# TEST
is ($token->{type}, "file", "Type is file");
# TEST
is ($token->{filename}, "a.doc", "Filename is OK.");
# TEST
is ($token->{mtime},
strftime("%Y-%m-%dT%H:%M:%S", localtime($a_doc_time)),
"mtime is OK.",
);
# TEST
is ($token->{size},
length("This file was spotted in the wild."),
"size is OK.",
);
# TEST
is ($token->{perms},
sprintf("%04o", ((stat($t->get_path("$test_dir/a.doc")))[2]&07777)),
"perms are OK."
);
# TEST
is ($token->{user},
File::Dir::Dumper::Scanner::_my_getpwuid($UID),
"user is OK."
);
# TEST
is ($token->{group},
(
os_is('Unix')
? scalar(getgrgid((stat($t->get_path("$test_dir/a.doc")))[5]))
: "unknown"
),
"group is OK."
);
# TEST
is ($token->{depth}, 1, "Token depth is 1");
$token = $scanner->fetch();
# TEST
is ($token->{type}, "dir", "Token is dir");
# TEST
is ($token->{depth}, 1, "Token depth is 1");
# TEST
is ($token->{filename}, "b", "dir name is 'b'");
# TEST
is ($token->{perms},
sprintf("%04o", ((stat($t->get_path("$test_dir/b/")))[2]&07777)),
"perms are OK."
);
# TEST
is ($token->{user},
File::Dir::Dumper::Scanner::_my_getpwuid($UID),
"user is OK."
);
# TEST
is ($token->{group},
(
os_is('Unix')
? scalar(getgrgid((stat($t->get_path("$test_dir/b/")))[5]))
: "unknown"
),
"group is OK."
);
$token = $scanner->fetch();
# TEST
is ($token->{type}, "updir", "Token is updir");
# TEST
is ($token->{depth}, 1, "updir token (from 'b') has depth 1");
$token = $scanner->fetch();
# TEST
is ($token->{type}, "dir", "Token is dir");
# TEST
is ($token->{filename}, "foo", "dir name is 'foo'");
# TEST
is ($token->{depth}, 1, "Token depth is 1");
$token = $scanner->fetch();
# TEST
is ($token->{type}, "dir", "Token is dir");
# TEST
is ($token->{filename}, "yet", "dir name is 'yet'");
# TEST
is ($token->{depth}, 2, "Token depth is 2");
$token = $scanner->fetch();
# TEST
is ($token->{type}, "updir", "Token is updir");
# TEST
is ($token->{depth}, 2, "Token depth is 2");
$token = $scanner->fetch();
# TEST
is ($token->{type}, "updir", "Token is updir");
# TEST
is ($token->{depth}, 1, "Token depth is 1");
$token = $scanner->fetch();
( run in 3.379 seconds using v1.01-cache-2.11-cpan-5837b0d9d2c )