1#!perl 2 3use strict; 4use warnings; 5 6use Test::More tests => 4; 7use lib 't'; 8use SimpleCookieJar; 9use BrokenCookieJar; 10use HTTP::Tiny; 11 12### a couple tests to ensure that: 13### * by default there is no cookie jar defined 14### * the correct cookie jar is returned when specified 15### * error when cookie jar does not support the add and cookie_header methods 16 17 18my $default = undef; 19my $jar = SimpleCookieJar->new(); 20my $mug = BrokenCookieJar->new(); 21my $dog = BrokenCookieJar2->new(); 22 23{ 24 my $ua = HTTP::Tiny->new(); 25 is $ua->cookie_jar, $default, 'default cookie jar is as expected'; 26} 27 28{ 29 my $ua = HTTP::Tiny->new(cookie_jar => $jar); 30 is $ua->cookie_jar, $jar, 'cookie_jar is as expected'; 31} 32 33{ 34 my $ua = eval { HTTP::Tiny->new(cookie_jar => $mug) }; 35 my $err = $@; 36 like( $err, qr/must provide .* 'add' method/ 37 => 'invalid jar does not support add method' ); 38 39 $ua = eval { HTTP::Tiny->new(cookie_jar => $dog) }; 40 $err = $@; 41 like( $err, qr/must provide .* 'cookie_header' method/ 42 => 'invalid jar does not support cookie_header method' ); 43} 44