1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
|
use Apache::ASP::CGI;
&Apache::ASP::CGI::do_self('CollectionItem' => 1, 'NoState' => 0);
__END__
<%
for('Form', 'QueryString') {
# basic assignment & lookup
my $self = $t->eok($Request->$_(), "no collection for $_ found");
$Request->$_('test', 'value');
$t->eok($self->{'test'} eq 'value', "count not set value");
$t->eok($Request->$_('test')->Item() eq 'value', "could not fetch value");
# $t->eok($Request->Form->('test')->Item() eq 'value', "could not fetch value");
$Request->{$_}{'undef_test'} = undef;
$t->eok(! defined $Request->$_('undef_test')->Item(), "could not have undef value");
# array assignment & lookup
$self->{'array'} = [1,0,2];
my @values = $Request->$_('array');
$t->eok(@values == 3, 'array block lookup test failed');
my $value = $Request->$_('array');
$t->eok($value->Item() == 1, 'array single lookup test failed');
# Item syntax
$t->eok($Request->$_()->Item('test')->Item() eq 'value', '$Collection->Item(key) lookup syntax');
$Request->$_()->Item('test', 'value2');
$t->eok($self->{'test'} eq 'value2', '$Collection->Item(key, value) assignment syntax');
# Multi values & Count()/Item() testing
$Request->{$_}{'multi'} = ['4','2','3'];
my @items = $Request->$_('multi')->Item();
$t->eok($Request->$_('multi')->Count == 3, 'Multiple values ->Count()');
$t->eok($Request->$_('multi')->Item() == 4, 'First item of many, scalar context');
$t->eok($items[1] == 2, 'Middle item of many, array context');
# collection arrays start counting at 1?
$t->eok($Request->$_('multi')->Item(1) == 4, 'Index access to multi Item()');
# Null values & Count() & Item() testing
$t->eok($Request->$_('NULL')->Count() == 0, 'NULL Item Count == 0');
$t->eok(! defined $Request->$_('NULL')->Item(), 'NULL Item returns NULL');
}
$Application->{contents} = 1;
$t->eok($Application->Contents('contents'), '$Collection->Contents(key) lookup syntax');
%>
|