App-CPANCoverBadge

 view release on metacpan or  search on metacpan

t/badge_with_db.t  view on Meta::CPAN

#!/usr/bin/perl

use strict;
use warnings;

use File::Basename;
use Test::More;

use lib dirname(__FILE__);
use MyTestUA;

use App::CPANCoverBadge;

my $badger = App::CPANCoverBadge->new(
    ua      => MyTestUA->new,
    db_file => dirname(__FILE__) . '/cpancover-' . $$ . '.db',
);

isa_ok $badger, 'App::CPANCoverBadge';

$badger->sql->db->insert( 'badges', { dist => 'red', badge => <<'SVG' });
<?xml version="1.0"?>
<svg xmlns="http://www.w3.org/2000/svg" height="20" width="114"><linearGradient x2="0" id="smooth" y2="100%"><stop stop-color="#bbb" offset="0" stop-opacity=".1"/><stop offset="1" stop-opacity=".1"/></linearGradient><clipPath id="round"><rect fill="#...
SVG

my %tests = (
    'invalid' => {
        content_like => qr/unknown<\/text>/,
    },
    'types-reneeb' => {
        content_like => qr/100.0<\/text>/,
    },
    'does-not-exist' => {
        content_like => qr/unknown<\/text>/,
    },
    'red' => {
        content_like => qr/22.0<\/text>/,
    },
    'orange' => {
        content_like => qr/82.0<\/text>/,
    },
    'yellow' => {
        content_like => qr/92.0<\/text>/,
    },
);

for my $dist ( sort keys %tests ) {
    my $badge = $badger->badge( $dist );

    my $re = $tests{$dist}->{content_like};
    like $badge, $re, $dist;
}

unlink dirname(__FILE__) . '/cpancover-' . $$ . '.db',

done_testing();



( run in 2.072 seconds using v1.01-cache-2.11-cpan-ff9377addf4 )