Makefile.PL: Add -Ii to CXXFLAGS
[www-quvi.git] / t / WWW-Quvi-Defaults.t
bloba284d555a7338389088249f2a934ef95ad173701
2 use warnings;
3 use strict;
5 use Test::More tests => 40;
6 BEGIN { use_ok('WWW::Quvi') };
8 # Version.
10 like (&WWW::Quvi::version, qr{^\d+.\d+$});
12 like (&WWW::Quvi::version(WWW::Quvi::ModuleVersion), qr{^\d+.\d+$});
14 like (
15     &WWW::Quvi::version(WWW::Quvi::libquviVersion), qr{^\d+.\d+.\d+$});
17 like (
18     &WWW::Quvi::version(WWW::Quvi::libquviVersionLong),
19     qr{^\d+.\d+.\d+.* built on \d+.\d+.\d+ .* (.*)$}
22 # Options.
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");
44 $opts->{verify} = 0;
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);
56 # Url.
58 my $l = new WWW::Quvi::Url;
59 isa_ok ($l, 'WWW::Quvi::Url');
61 is ($l->{content_type}, "");
62 is ($l->{file_suffix},  "");
63 is ($l->{length_bytes}, -1);
64 is ($l->{url},          "");
66 # Media.
68 my $v = new WWW::Quvi::Media;
69 isa_ok ($v, 'WWW::Quvi::Media');
71 is ($v->{title},      "");
72 is ($v->{host},       "");
73 is ($v->{url},        "");
74 is ($v->{id},         "");
75 is ($v->{ok},         "");
76 is ($v->{start_time}, "");
78 # Query.
80 my $q = new WWW::Quvi::Query;
81 isa_ok ($q, 'WWW::Quvi::Query');
83 is ($q->{last_error}, "");
84 is ($q->{quvi_code},   0);
85 is ($q->{resp_code},  -1);
87 # Websites.
89 my ($rc, $domain, $formats) = $q->next_website;
90 is ($rc, WWW::Quvi::OK);
91 like ($domain, qr{^\w+.\w+$});
92 like ($formats, qr{^\w+(?:|)});
94 # Supported.
96 $rc = $q->supported ("http://dai.ly");
97 is ($rc, WWW::Quvi::OK);
99 # QUVIcode aliases.
101 my @QUVIcode = {
102    WWW::Quvi::OK,
103    WWW::Quvi::Mem,
104    WWW::Quvi::BadHandle,
105    WWW::Quvi::InvArg,
106    WWW::Quvi::CurlInit,
107    WWW::Quvi::Last,
108    WWW::Quvi::AbortedByCallback,
109    WWW::Quvi::LuaInit,
110    WWW::Quvi::NoLuaWebsite,
111    WWW::Quvi::NoSupport,
112    WWW::Quvi::CallbackError,
113    WWW::Quvi::IconvError,
114    WWW::Quvi::LuaError,
117 # QUVIcategory aliases.
119 my @QUVIcategory = {
120    WWW::Quvi::ProtoHttp,
121    WWW::Quvi::ProtoMms,
122    WWW::Quvi::ProtoRtsp,
123    WWW::Quvi::ProtoRtmp,
124    WWW::Quvi::ProtoAll,
125 0xffff # Pad to prevent "Odd number of elements in anonymous hash" warning