Blame t/141_no_proxy.t

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();