|
Packit |
3f4df8 |
#!perl
|
|
Packit |
3f4df8 |
use strict;
|
|
Packit |
3f4df8 |
use warnings;
|
|
Packit |
3f4df8 |
|
|
Packit |
3f4df8 |
use Test::More 0.88;
|
|
Packit |
3f4df8 |
|
|
Packit |
3f4df8 |
use HTTP::Tiny;
|
|
Packit |
3f4df8 |
|
|
Packit |
3f4df8 |
# blank slate for testing
|
|
Packit |
3f4df8 |
delete $ENV{no_proxy};
|
|
Packit |
3f4df8 |
|
|
Packit |
3f4df8 |
{
|
|
Packit |
3f4df8 |
my $c = HTTP::Tiny->new();
|
|
Packit |
3f4df8 |
is_deeply( $c->no_proxy, [], "no no_proxy given" );
|
|
Packit |
3f4df8 |
}
|
|
Packit |
3f4df8 |
|
|
Packit |
3f4df8 |
my @cases = (
|
|
Packit |
3f4df8 |
#<<< No perltidy
|
|
Packit |
3f4df8 |
{
|
|
Packit |
3f4df8 |
no_proxy => [
|
|
Packit |
3f4df8 |
undef,
|
|
Packit |
3f4df8 |
[],
|
|
Packit |
3f4df8 |
],
|
|
Packit |
3f4df8 |
expect => [],
|
|
Packit |
3f4df8 |
},
|
|
Packit |
3f4df8 |
{
|
|
Packit |
3f4df8 |
no_proxy => [
|
|
Packit |
3f4df8 |
"localhost",
|
|
Packit |
3f4df8 |
["localhost"],
|
|
Packit |
3f4df8 |
],
|
|
Packit |
3f4df8 |
expect => ["localhost"],
|
|
Packit |
3f4df8 |
},
|
|
Packit |
3f4df8 |
{
|
|
Packit |
3f4df8 |
no_proxy => [
|
|
Packit |
3f4df8 |
"localhost,example.com",
|
|
Packit |
3f4df8 |
"localhost, example.com",
|
|
Packit |
3f4df8 |
[qw/localhost example.com/]
|
|
Packit |
3f4df8 |
],
|
|
Packit |
3f4df8 |
expect => [ "localhost", "example.com" ],
|
|
Packit |
3f4df8 |
},
|
|
Packit |
3f4df8 |
#>>>
|
|
Packit |
3f4df8 |
);
|
|
Packit |
3f4df8 |
|
|
Packit |
3f4df8 |
for my $c (@cases) {
|
|
Packit |
3f4df8 |
for my $no_proxy ( @{ $c->{no_proxy} } ) {
|
|
Packit |
3f4df8 |
my $label =
|
|
Packit |
3f4df8 |
!defined $no_proxy ? 'undef'
|
|
Packit |
3f4df8 |
: ref $no_proxy ? "[qw/@$no_proxy/]"
|
|
Packit |
3f4df8 |
: "'$no_proxy'";
|
|
Packit |
3f4df8 |
|
|
Packit |
3f4df8 |
# Can't test environment with array ref (ENV stringifies in new perls)
|
|
Packit |
3f4df8 |
if ( ref $no_proxy ) {
|
|
Packit |
3f4df8 |
my $ht = HTTP::Tiny->new( no_proxy => $no_proxy );
|
|
Packit |
3f4df8 |
is_deeply( $ht->no_proxy, $c->{expect}, "new(no_proxy => $label)" );
|
|
Packit |
3f4df8 |
}
|
|
Packit |
3f4df8 |
else {
|
|
Packit |
3f4df8 |
{
|
|
Packit |
3f4df8 |
local $ENV{no_proxy} = $no_proxy;
|
|
Packit |
3f4df8 |
my $ht = HTTP::Tiny->new();
|
|
Packit |
3f4df8 |
is_deeply( $ht->no_proxy, $c->{expect}, "\$ENV{no_proxy} = $label" );
|
|
Packit |
3f4df8 |
}
|
|
Packit |
3f4df8 |
{
|
|
Packit |
3f4df8 |
local $ENV{no_proxy} = "Shouldnt,see,this";
|
|
Packit |
3f4df8 |
my $ht = HTTP::Tiny->new( no_proxy => $no_proxy );
|
|
Packit |
3f4df8 |
is_deeply( $ht->no_proxy, $c->{expect},
|
|
Packit |
3f4df8 |
"new(no_proxy => $label) versus other \$ENV{no_proxy}" );
|
|
Packit |
3f4df8 |
}
|
|
Packit |
3f4df8 |
}
|
|
Packit |
3f4df8 |
}
|
|
Packit |
3f4df8 |
}
|
|
Packit |
3f4df8 |
|
|
Packit |
3f4df8 |
done_testing();
|