Skip to content

Commit

Permalink
Run all URL tests on Libravatar::URL too
Browse files Browse the repository at this point in the history
  • Loading branch information
fmarier committed Feb 21, 2011
1 parent 1d887b3 commit 3546077
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 5 deletions.
2 changes: 2 additions & 0 deletions lib/Libravatar/URL.pm
Expand Up @@ -102,6 +102,7 @@ my %defaults = (
# Extra the domain component of an email address
sub email_domain {
my ( $email ) = @_;
return undef unless $email;

if ( $email =~ m/@([^@]+)$/ ) {
return $1;
Expand Down Expand Up @@ -136,6 +137,7 @@ sub build_url {
sub federated_url {
my ( $email ) = @_;
my $domain = email_domain($email);
return undef unless $domain;

my $resolver = Net::DNS::Resolver->new;
my $packet = $resolver->query('_avatars._tcp.' . $domain, 'SRV');
Expand Down
24 changes: 19 additions & 5 deletions t/url.t 100644 → 100755
Expand Up @@ -2,12 +2,27 @@

use Test::More 'no_plan';

BEGIN { use_ok 'Gravatar::URL'; }
BEGIN { use_ok 'Gravatar::URL';
use_ok 'Libravatar::URL'; }

my %interfaces = (
libravatar => {
func => \&libravatar_url,
base => 'http://cdn.libravatar.org/avatar',
},
gravatar => {
func => \&gravatar_url,
base => 'http://www.gravatar.com/avatar',
},
);

for my $interface_name (keys %interfaces) {
my $interface = $interfaces{$interface_name};
my $base = $interface->{base};
my $func = $interface->{func};

{
my $id = 'a60fc0828e808b9a6a9d50f1792240c8';
my $email = 'whatever@wherever.whichever';
my $base = 'http://www.gravatar.com/avatar';

my @tests = (
[{ email => $email },
Expand Down Expand Up @@ -98,7 +113,6 @@ BEGIN { use_ok 'Gravatar::URL'; }

for my $test (@tests) {
my($args, $url) = @$test;
is gravatar_url( %$args ), $url, join ", ", keys %$args;
is &$func( %$args ), $url, join ", ", keys %$args;
}
}

0 comments on commit 3546077

Please sign in to comment.