6 BEGIN { use_ok( 'WWW::EZTV' ); }
8 ok( my $eztv = WWW::EZTV->new, 'Build eztv crawler' );
9 isa_ok( $eztv->shows, 'Mojo::Collection' );
10 isa_ok( $eztv->shows->[0], 'WWW::EZTV::Show' );
12 subtest 'All shows has name and URL' => sub {
14 $eztv->shows->each(sub {
16 ok( $show->name, 'Found show ' . $show->name );
17 ok( $show->url, 'Has url ' . $show->url );
18 ok( $show->status, 'Has status ' . $show->status );
19 $has_year++ if $show->year;
21 ok( $has_year, "Some shows has year info" );
24 subtest 'Show object' => sub {
25 ok( my $show = $eztv->shows->[0], 'Pick first show' );
26 diag( $show->name . ' was choosen!' );
27 ok( $show->has_episodes, 'Has episodes' );
28 ok( $show->episodes, 'Retrieve episodes' );
29 $show->episodes->each(sub{
31 diag( 'Title: '. $ep->title );
32 diag( 'Name: '. $ep->name );
33 diag( 'Season: '. $ep->season );
34 diag( 'Number: '. $ep->number );
35 diag( 'Version: '. $ep->version );
36 diag( 'Size: '. $ep->size );
37 ok( $ep->season >= 1, 'Has season' );
38 ok( $ep->number >= 1, 'Has number' );
40 ok( my $link = $ep->links->[0], 'Get first link' );
41 ok( $link->url, 'Link has url' );