File: error.t

package info (click to toggle)
libgravatar-url-perl 1.07-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 156 kB
  • sloc: perl: 652; makefile: 6
file content (48 lines) | stat: -r--r--r-- 1,127 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/usr/bin/perl -w

# Test argument error handling.

use strict;

use Test::More 'no_plan';

BEGIN { use_ok 'Gravatar::URL' }

my @tests = (
    [ {},
      "Cannot generate a Gravatar URI without an email address or gravatar id"
    ],

    [ { email => 'foo@bar.com', id => '12345' },
      "Both an id and an email were given.  gravatar_url() only takes one"
    ],

    [ { email => 'foo@bar.com', rating => 'Q' },
      "Gravatar rating can only be g, pg, r, or x"
    ],

    [ { email => 'foo@bar.com', size => 0 },
      "Gravatar size must be 1 .. 512"
    ],

    [ { email => 'foo@bar.com', size => 1 } ],
    [ { email => 'foo@bar.com', size => 512 } ],

    [ { email => 'foo@bar.com', size => 513 },
      "Gravatar size must be 1 .. 512"
    ],
);

for my $test (@tests) {
    my($args, $want) = @$test;
    
    eval { gravatar_url( %$args ) };

    my $error = $@;
    $error =~ s/\.\n/\n/;
    $want  = !$want ? ""
                    : sprintf "%s at %s line %d\n", $want, $0, __LINE__ - 5;

    my $name = join ", ", map { "$_ => '$args->{$_}'" } keys %$args;
    is $error, $want, "gravatar_url($name)";
}