File: 47-global_image_usage.t

package info (click to toggle)
libmediawiki-bot-perl 5.007000-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, sid, trixie
  • size: 656 kB
  • sloc: perl: 1,992; makefile: 5
file content (40 lines) | stat: -rw-r--r-- 1,237 bytes parent folder | download | duplicates (2)
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
use strict;
use warnings;
use Test::RequiresInternet 'commons.wikimedia.org' => 80;
use Test::More tests => 3;

use MediaWiki::Bot;
my $t = __FILE__;

my $bot = MediaWiki::Bot->new({
    agent   => "MediaWiki::Bot tests (https://metacpan.org/MediaWiki::Bot; $t)",
    host    => 'commons.wikimedia.org',
});

my $file = 'File:Example.jpg';

subtest 'default' => sub {
    plan tests => 5;

    my @pages = $bot->global_image_usage($file);

    ok(     @pages,                                             'No error');
    cmp_ok( scalar @pages,                  '>', 1,             'More than one result');
    ok(     defined($pages[0]),                                 'Something was returned');
    isa_ok( $pages[0],                      'HASH',             'Results are hashref');
    is_deeply( [sort keys %{ $pages[0] }], [sort qw(title url wiki)], 'Has the right keys');
};

subtest 'limit' => sub {
    my $limit = 20;
    my @pages = $bot->global_image_usage($file, $limit);

    is scalar @pages, $limit, "$limit results returned";
};

subtest 'more' => sub {
    my $limit = 10000000;
    my @pages = $bot->global_image_usage('SadSmiley.svg', $limit, 1);

    cmp_ok scalar @pages, '<', $limit, "<$limit results returned";
};