#!/usr/bin/perl -w
#============================================================= -*-perl-*-
#
# t/multikeys.t
#
# Template script testing the Template side of the page plugin.
#
# Written by Perrin Harkins <perrin@elem.com>
#
# This is free software; you can redistribute it and/or modify it
# under the same terms as Perl itself.
#
#========================================================================
use strict;
use lib qw( ./lib ../blib );
use Template qw( :status );
use Template::Test;
use Cache::FileCache;
$^W = 1;
$Template::Test::DEBUG = 1;
$Template::Test::PRESERVE = 1;
# Clear cache before beginning.
my $cache = Cache::FileCache->new();
$cache->Clear();
test_expect(\*DATA, {
INTERPOLATE => 1,
POST_CHOMP => 1,
PLUGIN_BASE => 'Template::Plugin',
});
#------------------------------------------------------------------------
# test input
#------------------------------------------------------------------------
__DATA__
[% USE cache = Cache %]
[% BLOCK cache_me %]
Hello [% name %]
[% END %]
[% SET name = 'World' %]
[% PROCESS cache_me %]
[% SET name = 'To-be-cached' %]
[% cache.proc(
'template' => 'cache_me',
'keys' => {
'Adele' => 30,
'Pearl Jam' => 'Ten'
'Prince' => 1999,
'Rush' => 2112,
'Van Halen' => 5150,
'Yes' => 90125,
},
'ttl' => 15
) %]
[% SET name = 'Other stuff' %]
[%# Now we should get back the "To-be-cached" version, because all the keys match. %]
[% cache.proc(
'template' => 'cache_me',
'keys' => {
# Intentionally different than the previous call.
Adele => '30',
'Pearl Jam' => 'Ten'
Prince => '1999',
Rush => '2112',
'Van Halen' => '5150',
Yes => '90125',
},
'ttl' => 15
) %]
-- expect --
Hello World
Hello To-be-cached
Hello To-be-cached