Retrive episode links by type and some more docs
[cascardo/www-eztv.git] / t / 02-find.t
1 #!/usr/bin/env perl
2
3 use strict;
4 use Test::More;
5
6 BEGIN { use_ok( 'WWW::EZTV' ); }
7
8 ok( my $eztv = WWW::EZTV->new, 'Build eztv crawler' );
9
10 my $show;
11
12 subtest 'Find a show' => sub {
13     ok( $eztv->has_shows, 'Can fetch shows list' );
14     ok( $show = $eztv->find_show(sub{ $_->name =~ /Walking dead/i }), 'Find a known show' );
15     is( $show->name, 'The Walking Dead', 'Name looks good' );
16     ok( $show->url, 'Has url ' . $show->url );
17     ok( $show->status, 'Has status ' . $show->status );
18 };
19
20 subtest 'Find episodes' => sub {
21     ok( $show->has_episodes, 'Show fetch show episodes' );
22     ok( my $ep = $show->find_episode(sub{ $_->season == 3 && $_->number == 8 && $_->quality eq 'standard' }), 'Find a known episode' );
23     diag( 'Title:   ' . $ep->title );
24     diag( 'Version: ' . $ep->version );
25     diag( 'Size:    ' . $ep->size );
26     is( $ep->name, 'The Walking Dead', 'Name looks good' );
27
28     ok( $ep->has_links, 'Episode has links' );
29     ok( my $link = $ep->find_link(sub{ $_->type eq 'torrent' }), 'Find a torrent link' );
30     ok( $link->url, 'Link has URL' );
31 };
32
33 done_testing();