2 | 2 |
use lib '../lib';
|
3 | 3 |
|
4 | 4 |
BEGIN {
|
5 | |
use_ok( 'File::Path::Tiny' );
|
|
5 |
use_ok('File::Path::Tiny');
|
6 | 6 |
}
|
7 | 7 |
|
8 | |
diag( "Testing File::Path::Tiny $File::Path::Tiny::VERSION" );
|
|
8 |
diag("Testing File::Path::Tiny $File::Path::Tiny::VERSION");
|
9 | 9 |
|
10 | 10 |
# cleanup from last time
|
11 | 11 |
|
12 | |
for my $path qw(
|
13 | |
foo/bar/mode foo/bar/mode2 foo/bar/mode3
|
14 | |
foo/bar/mode_mkdir foo/bar/mode_mkdir2 foo/bar/dir
|
|
12 |
for my $path (
|
|
13 |
qw(
|
|
14 |
foo/bar/mode foo/bar/mode2 foo/bar/mode3
|
|
15 |
foo/bar/mode_mkdir foo/bar/mode_mkdir2 foo/bar/dir
|
15 | 16 |
foo/bar/file foo/bar foo
|
16 | |
) {
|
17 | |
if (!-l $path && -d $path) {
|
|
17 |
)
|
|
18 |
) {
|
|
19 |
if ( !-l $path && -d $path ) {
|
18 | 20 |
rmdir $path;
|
19 | 21 |
}
|
20 | 22 |
else {
|
|
24 | 26 |
|
25 | 27 |
SKIP: {
|
26 | 28 |
skip 'Stale testing files exist', 5 if -d 'foo/bar';
|
27 | |
ok(File::Path::Tiny::mk("foo/bar"), "make simple path - return true");
|
28 | |
ok(-d "foo/bar", "make simple path - path recursively created");
|
29 | |
ok(File::Path::Tiny::mk("foo") == 2, "make already existing dir");
|
30 | |
if( open my $fh, '>', 'foo/bar/file') {
|
|
29 |
ok( File::Path::Tiny::mk("foo/bar"), "make simple path - return true" );
|
|
30 |
ok( -d "foo/bar", "make simple path - path recursively created" );
|
|
31 |
ok( File::Path::Tiny::mk("foo") == 2, "make already existing dir" );
|
|
32 |
if ( open my $fh, '>', 'foo/bar/file' ) {
|
31 | 33 |
print {$fh} "test";
|
32 | 34 |
close $fh;
|
33 | 35 |
}
|
34 | |
SKIP: {
|
|
36 |
SKIP: {
|
35 | 37 |
skip 'test file not created', 2 if !-e 'foo/bar/file';
|
36 | |
ok(!File::Path::Tiny::mk("foo/bar/file"), "make already existing non dir - return false");
|
37 | |
ok($! == 20, "make already existing file - errno");
|
|
38 |
ok( !File::Path::Tiny::mk("foo/bar/file"), "make already existing non dir - return false" );
|
|
39 |
ok( $! == 20, "make already existing file - errno" );
|
38 | 40 |
}
|
39 | 41 |
}
|
40 | 42 |
|
41 | 43 |
mkdir 'foo/bar/dir';
|
42 | 44 |
|
43 | |
my $mk_mode = (stat('foo/bar'))[2];
|
|
45 |
my $mk_mode = ( stat('foo/bar') )[2];
|
|
46 |
|
44 | 47 |
# $mk_mode = sprintf('%04o', $mk_mode & 07777);
|
45 | |
my $mkdir_mode = (stat('foo/bar/dir'))[2];
|
|
48 |
my $mkdir_mode = ( stat('foo/bar/dir') )[2];
|
|
49 |
|
46 | 50 |
# $mkdir_mode = sprintf('%04o', $mkdir_mode & 07777);
|
47 | 51 |
# diag("mk: $mk_mode, mkdir: $mkdir_mode");
|
48 | |
ok($mk_mode == $mkdir_mode, 'MASK logic gets same results as mkdir()');
|
|
52 |
ok( $mk_mode == $mkdir_mode, 'MASK logic gets same results as mkdir()' );
|
49 | 53 |
|
50 | |
File::Path::Tiny::mk("foo/bar/mode",0700);
|
|
54 |
File::Path::Tiny::mk( "foo/bar/mode", 0700 );
|
51 | 55 |
mkdir 'foo/bar/mode_mkdir', 0700;
|
52 | |
ok((stat('foo/bar/mode'))[2] == (stat('foo/bar/mode_mkdir'))[2], 'MASK arg OCT gets same results as mkdir()');
|
|
56 |
ok( ( stat('foo/bar/mode') )[2] == ( stat('foo/bar/mode_mkdir') )[2], 'MASK arg OCT gets same results as mkdir()' );
|
53 | 57 |
|
54 | |
File::Path::Tiny::mk("foo/bar/mode2",oct('0700'));
|
|
58 |
File::Path::Tiny::mk( "foo/bar/mode2", oct('0700') );
|
55 | 59 |
mkdir 'foo/bar/mode_mkdir2', oct('0700');
|
56 | |
ok((stat('foo/bar/mode2'))[2] == (stat('foo/bar/mode_mkdir2'))[2], 'MASK arg oct(STR) gets same results as mkdir()');
|
|
60 |
ok( ( stat('foo/bar/mode2') )[2] == ( stat('foo/bar/mode_mkdir2') )[2], 'MASK arg oct(STR) gets same results as mkdir()' );
|
57 | 61 |
|
58 | |
File::Path::Tiny::mk("foo/bar/mode3", "0700");
|
|
62 |
File::Path::Tiny::mk( "foo/bar/mode3", "0700" );
|
|
63 |
|
59 | 64 |
# mkdir 'foo/bar/mode_mkdir3', "0700"; # this breaks permissions so we compare with previous one
|
60 | |
ok((stat('foo/bar/mode3'))[2] == (stat('foo/bar/mode2'))[2], 'MASK arg STR gets detected and handled - different results as mkdir()');
|
|
65 |
ok( ( stat('foo/bar/mode3') )[2] == ( stat('foo/bar/mode2') )[2], 'MASK arg STR gets detected and handled - different results as mkdir()' );
|
61 | 66 |
|
62 | |
ok(!File::Path::Tiny::rm("foo/bar/file"), "remove existing non dir - return false");
|
63 | |
ok($! == 20, "remove existing non dir - errno");
|
|
67 |
ok( !File::Path::Tiny::rm("foo/bar/file"), "remove existing non dir - return false" );
|
|
68 |
ok( $! == 20, "remove existing non dir - errno" );
|
64 | 69 |
undef $!;
|
65 | |
ok(File::Path::Tiny::rm('foo/bar'), "empty and remove simple path - return true");
|
66 | |
ok(!-d 'foo/bar', "remove simple path - path recursively removed");
|
67 | |
ok(File::Path::Tiny::rm('foo/bar') == 2, "remove already non-existing dir");
|
68 | |
ok(File::Path::Tiny::rm('foo'), 'remove empty dir');⏎
|
|
70 |
ok( File::Path::Tiny::rm('foo/bar'), "empty and remove simple path - return true" );
|
|
71 |
ok( !-d 'foo/bar', "remove simple path - path recursively removed" );
|
|
72 |
ok( File::Path::Tiny::rm('foo/bar') == 2, "remove already non-existing dir" );
|
|
73 |
ok( File::Path::Tiny::rm('foo'), 'remove empty dir' );
|