xref: /openbsd-src/gnu/usr.bin/perl/cpan/HTTP-Tiny/t/004_timeout.t (revision 5759b3d249badf144a6240f7eec4dcf9df003e6b)
1*5759b3d2Safresh1#!perl
2*5759b3d2Safresh1
3*5759b3d2Safresh1use strict;
4*5759b3d2Safresh1use warnings;
5*5759b3d2Safresh1
6*5759b3d2Safresh1use Test::More tests => 5;
7*5759b3d2Safresh1use HTTP::Tiny;
8*5759b3d2Safresh1
9*5759b3d2Safresh1# Just make sure timeout is handled correctly as a constructor param,
10*5759b3d2Safresh1# and that it works as expected as an "attribute".
11*5759b3d2Safresh1
12*5759b3d2Safresh1my $default = 60;
13*5759b3d2Safresh1
14*5759b3d2Safresh1{
15*5759b3d2Safresh1    my $ua = HTTP::Tiny->new();
16*5759b3d2Safresh1    is $ua->timeout, $default, 'default timeout is as expected';
17*5759b3d2Safresh1}
18*5759b3d2Safresh1
19*5759b3d2Safresh1{
20*5759b3d2Safresh1    my $ua = HTTP::Tiny->new(timeout => 10);
21*5759b3d2Safresh1    is $ua->timeout, 10, 'timeout is handled as a constructor param';
22*5759b3d2Safresh1}
23*5759b3d2Safresh1
24*5759b3d2Safresh1{
25*5759b3d2Safresh1    my $ua = HTTP::Tiny->new(timeout => 0);
26*5759b3d2Safresh1    is $ua->timeout, 0, 'constructor arg of timeout=0 is passed through';
27*5759b3d2Safresh1}
28*5759b3d2Safresh1
29*5759b3d2Safresh1{
30*5759b3d2Safresh1    my $ua = HTTP::Tiny->new(timeout => undef);
31*5759b3d2Safresh1    is $ua->timeout, $default, 'constructor arg of timeout=undef is ignored';
32*5759b3d2Safresh1}
33*5759b3d2Safresh1
34*5759b3d2Safresh1{
35*5759b3d2Safresh1    my $ua = HTTP::Tiny->new();
36*5759b3d2Safresh1    $ua->timeout(15);
37*5759b3d2Safresh1    is $ua->timeout, 15, 'timeout works as expected as a r/w attribute';
38*5759b3d2Safresh1}
39