5 use Test::More tests => 38;
6 BEGIN { use_ok('WWW::Quvi') };
10 like (&WWW::Quvi::version, qr{^\d+.\d+$});
12 like (&WWW::Quvi::version(WWW::Quvi::ModuleVersion), qr{^\d+.\d+$});
15 &WWW::Quvi::version(WWW::Quvi::libquviVersion), qr{^\d+.\d+.\d+$});
18 &WWW::Quvi::version(WWW::Quvi::libquviVersionLong),
19 qr{^\d+.\d+.\d+.* built on \d+.\d+.\d+ .* (.*)$}
24 my $opts = new WWW::Quvi::Options;
25 isa_ok ($opts, 'WWW::Quvi::Options');
27 is ($opts->{user_agent}, "");
28 is ($opts->{http_proxy}, "");
29 is ($opts->{format}, "default");
30 is ($opts->{verify}, 1);
31 is ($opts->{verbose_libcurl}, "");
32 is ($opts->{shortened}, 1);
33 is ($opts->{category}, WWW::Quvi::ProtoHttp);
35 $opts->{user_agent} = "Mozilla/5.0";
36 is ($opts->{user_agent}, "Mozilla/5.0");
38 $opts->{http_proxy} = "http://foo:1234";
39 is ($opts->{http_proxy}, "http://foo:1234");
41 $opts->{format} = "hd";
42 is ($opts->{format}, "hd");
45 is ($opts->{verify}, "");
47 $opts->{verbose_libcurl} = 1;
48 is ($opts->{verbose_libcurl}, 1);
50 $opts->{shortened} = 0;
51 is ($opts->{shortened}, "");
53 $opts->{category} = WWW::Quvi::ProtoMms;
54 is ($opts->{category}, WWW::Quvi::ProtoMms);
58 my $l = new WWW::Quvi::Link;
59 isa_ok ($l, 'WWW::Quvi::Link');
61 is ($l->{content_type}, "");
62 is ($l->{file_suffix}, "");
63 is ($l->{length_bytes}, -1);
68 my $v = new WWW::Quvi::Video;
69 isa_ok ($v, 'WWW::Quvi::Video');
79 my $q = new WWW::Quvi::Query;
80 isa_ok ($q, 'WWW::Quvi::Query');
82 is ($q->{last_error}, "");
83 is ($q->{quvi_code}, 0);
84 is ($q->{resp_code}, -1);
88 my ($rc, $domain, $formats) = $q->next_website;
90 like ($domain, qr{^\w+.\w+$});
91 like ($formats, qr{^\w+(?:|)});
102 WWW::Quvi::AbortedByCallback,
104 WWW::Quvi::NoLuaWebsite,
105 WWW::Quvi::PcreError,
106 WWW::Quvi::NoSupport,
107 WWW::Quvi::CurlError,
108 WWW::Quvi::IconvError,
112 # QUVIcategory aliases.
115 WWW::Quvi::ProtoHttp,
117 WWW::Quvi::ProtoRtsp,
118 WWW::Quvi::ProtoRtmp,
120 0xffff # Pad to prevent "Odd number of elements in anonymous hash" warning