tests: default: theonion(_2).json: Update thumbnail_url
[libquvi-scripts.git] / tests / t / redirect.t
blobb4592eb15e37d356db6a91ea40ced50dfeae56dd
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 JSON::XS";
25 plan skip_all => "JSON::XS required for testing" if $@;
27 eval "use Test::Deep";
28 plan skip_all => "Test::Deep required for testing" if $@;
30 use Test::Quvi;
32 my $q = Test::Quvi->new;
34 plan skip_all => "TEST_SKIP rule"
35   if $q->test_skip("redirect");
37 plan tests => 10;
39 my $j = $q->get_json_obj;
41 test_redirect_url(    # Test self.redirect_url in academicearth.lua
42        "http://www.academicearth.org/lectures/intro-roman-architecture",
43        "data/resolve/redirect_url_academicearth.json"
44                  );
46 test_redirect_url(    # Test self.redirect_url in collegehumor.lua
47   "http://www.dorkly.com/embed/17349/ridiculous-way-to-get-ammo-to-teammates-in-battlefield-bad-company-2",
48   "data/resolve/redirect_url_dorkly.json"
49                  );
51 test_redirect_url(    # Test self.redirect_url in ted.lua
52       "http://www.ted.com/talks/paul_lewis_crowdsourcing_the_news.html",
53       "data/resolve/redirect_url_ted.json"
54                  );
56 test_redirect_url(    # Test (one of three) self.redirect_url in tcmag.lua
57       "http://www.tcmag.com/magazine/traffic_in_ho_chi_minh_city_time_lapse/",
58       "data/resolve/redirect_url_tcmag.json"
59                  );
61 test_url_shortener(    # Test URL shortener support
62         "http://is.gd/EbVFoa",             # -> http://vimeo.com/1485507
63         "data/format/default/vimeo.json"
64                   );
66 sub test_redirect_url
68   my ($url, $json) = @_;
69   my ($r, $o) = $q->run($url, "-vq");
70   is($r, 0, "quvi exit status == 0") or diag $url;
71 SKIP:
72   {
73     skip 'quvi exit status != 0', 1 if $r != 0;
74     my $e = $q->read_json($json, 1)
75       ;    # 1=prepend --data-root (if specified in cmdline)
76     cmp_deeply($j->decode($o), $e, "compare with $json")
77       or diag $url;
78   }
81 sub test_url_shortener
83   my ($url, $json) = @_;
84   my ($r, $o) = $q->run($url, "-vq");
85   is($r, 0, "quvi exit status == 0") or diag $url;
86 SKIP:
87   {
88     skip 'quvi exit status != 0', 1 if $r != 0;
89     my $e = $q->read_json($json, 1)
90       ;    # 1=prepend --data-root (if specified in cmdline)
91     cmp_deeply($j->decode($o), $e, "compare with $json")
92       or diag $url;
93   }
96 # vim: set ts=2 sw=2 tw=72 expandtab: