tests: default: theonion(_2).json: Update thumbnail_url
[libquvi-scripts.git] / tests / t / expire.t
blobe4c24f6ea61955d708fcef57b402fc1405199430
1 # libquvi-scripts
2 # Copyright (C) 2011  Toni Gundogdu <legatvs@gmail.com>
4 # This program is free software; you can redistribute it and/or
5 # modify it under the terms of the GNU General Public License
6 # as published by the Free Software Foundation; either version 2
7 # of the License, or (at your option) any later version.
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
14 # You should have received a copy of the GNU General Public License
15 # along with this program; if not, write to the Free Software
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17 # 02110-1301, USA.
19 use warnings;
20 use strict;
22 use Test::More;
24 eval "use LWP::UserAgent";
25 plan skip_all => "LWP::UserAgent required for testing" if $@;
27 use Test::Quvi;
29 my $q = Test::Quvi->new;
30 plan skip_all => "FIXME"; # Both website/{arte,pluzz}.lua need to be fixed.
31 plan skip_all => "TEST_SKIP rule" if $q->test_skip("expire");
33 my $ua = new LWP::UserAgent;
34 $ua->env_proxy;
36 my %h = (
37   "http://videos.arte.tv" => sub {
38     my $qr = qr|<h2><a href="/(\w\w)/videos/(.*?)"|;
39     my ($page) = @_;
40     "http://videos.arte.tv/$1/videos/$2" if $page =~ /$qr/;
41   },
42   "http://www.pluzz.fr/" => sub {
43     my ($page, $url) = @_;
44     my $rx_href = qr|class=""\s+href="(.*?)"|i;
45     my $rx_url  = qr|$url|;
46     for my $c ($page =~ /$rx_href/g)
47     {
48       return $c if $c =~ /$rx_url/;
49     }
50   }
53 plan tests => scalar(keys %h) * 2;
55 foreach (keys %h)
57   note "fetching $_ ...";
58   my $r = $ua->request(HTTP::Request->new(GET => $_));
59   is($r->is_success, 1, "request is success") or diag $r->status_line;
60 SKIP:
61   {
62     skip 'request failed', 1 unless $r->is_success;
63     note "matching...";
64     my $url = $h{$_}($r->decoded_content, $_);
65   SKIP:
66     {
67       skip 'no match: url', 1 unless $url;
68       note "querying media...";
69       ($r) = $q->run($url, "-vq -e-r");
70       is($r, 0x00, "quvi exit status == QUVI_OK")
71         or diag $url;
72     }
73   }
76 # vim: set ts=2 sw=2 tw=72 expandtab: