37d6a6eb54458b5f596433c063361dd278430230
[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
29 done_testing();