CGI-Header
view release on metacpan or search on metacpan
t/10_basic.t view on Meta::CPAN
use strict;
use warnings;
use CGI::Header;
use Test::More tests => 11;
use Test::Exception;
use Test::Output;
subtest 'normalization' => sub {
my $header = CGI::Header->new;
my %data = (
'-Content_Type' => 'type',
'-Cookie' => 'cookies',
#'-Set_Cookie' => 'cookies',
#'-Window_Target' => 'target',
);
while ( my ($input, $expected) = each %data ) {
is $header->_normalize($input), $expected;
}
};
subtest 'CGI::Header#new' => sub {
my $header = CGI::Header->new;
isa_ok $header, 'CGI::Header';
isa_ok $header->header, 'HASH';
isa_ok $header->query, 'CGI';
throws_ok {
CGI::Header->new(
header => {
-Type => 'text/plain',
Content_Type => 'text/html',
}
)
} qr{^Property 'type' already exists};
};
subtest 'header fields' => sub {
my $header = CGI::Header->new( header => { foo => 'bar' } );
is $header->set( 'Foo' => 'bar' ), 'bar';
is $header->get('Foo'), 'bar';
ok $header->exists('Foo');
is $header->delete('Foo'), 'bar';
};
subtest '#get' => sub {
my $header = CGI::Header->new(
header => {
foo => 'bar',
bar => 'baz',
},
);
is $header->get('Foo'), 'bar';
is $header->get('Foo', 'Bar'), 'baz',
'get last property in scalar context';
is_deeply(
[ $header->get('Foo', 'Bar') ],
[ 'bar', 'baz' ],
'get multiple props. at once'
);
};
subtest '#set' => sub {
my $header = CGI::Header->new;
throws_ok { $header->set('Foo') } qr{^Odd number of arguments passed},
'exception with odd number arguments';
is $header->set( Foo => 'bar' ), 'bar',
( run in 0.669 second using v1.01-cache-2.11-cpan-39bf76dae61 )