1#============================================================= -*-perl-*- 2# 3# t/datafile.t 4# 5# Template script testing datafile plugin. 6# 7# Written by Andy Wardley <abw@kfs.org> 8# 9# Copyright (C) 1996-2000 Andy Wardley. All Rights Reserved. 10# Copyright (C) 1998-2000 Canon Research Centre Europe Ltd. 11# 12# This is free software; you can redistribute it and/or modify it 13# under the same terms as Perl itself. 14# 15# $Id$ 16# 17#======================================================================== 18 19use strict; 20use lib qw( ./lib ./blib/lib ./blib/arch ../lib ../blib/lib ../blib/arch ); 21use Template qw( :status ); 22use Template::Test; 23$^W = 1; 24 25$Template::Test::DEBUG = 0; 26 27my $base = -d 't' ? 't/test/lib' : 'test/lib'; 28my $params = { 29 datafile => [ "$base/udata1", "$base/udata2" ], 30}; 31 32test_expect(\*DATA, { INTERPOLATE => 1, POST_CHOMP => 1 }, $params); 33 34 35 36#------------------------------------------------------------------------ 37# test input 38#------------------------------------------------------------------------ 39 40__DATA__ 41[% USE userlist = datafile(datafile.0) %] 42Users: 43[% FOREACH user = userlist %] 44 * $user.id: $user.name 45[% END %] 46 47-- expect -- 48Users: 49 * way: Wendy Yardley 50 * mop: Marty Proton 51 * nellb: Nell Browser 52 53-- test -- 54[% USE userlist = datafile(datafile.1, delim = '|') %] 55Users: 56[% FOREACH user = userlist %] 57 * $user.id: $user.name <$user.email> 58[% END %] 59 60-- expect -- 61Users: 62 * way: Wendy Yardley <way@cre.canon.co.uk> 63 * mop: Marty Proton <mop@cre.canon.co.uk> 64 * nellb: Nell Browser <nellb@cre.canon.co.uk> 65 66-- test -- 67[% USE userlist = datafile(datafile.1, delim = '|') -%] 68size: [% userlist.size %] 69-- expect -- 70size: 3 71 72 73