2 * Copyright (C) 2012,2013 Toni Gundogdu <legatvs@gmail.com>
4 * This file is part of libquvi-scripts <http://quvi.sourceforge.net>.
6 * This program is free software: you can redistribute it and/or
7 * modify it under the terms of the GNU Affero General Public
8 * License as published by the Free Software Foundation, either
9 * version 3 of the License, or (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU Affero General Public License for more details.
16 * You should have received a copy of the GNU Affero General
17 * Public License along with this program. If not, see
18 * <http://www.gnu.org/licenses/>.
22 * NOTE: Media hosted at videos.arte.tv expire after some time. For this
23 * test, we need to fetch the front page and parse a test media URL from
35 static const gchar PATTERN
[] = "<h2><a href=\"(.*)\"";
36 static const gchar WWW
[] = "http://videos.arte.tv";
38 static void test_media_arte()
40 struct qm_test_opts_s o
;
45 if (chk_geoblocked() == FALSE
)
48 memset(&o
, 0, sizeof(o
));
50 /* Normally done in qm_test, due to fetch-parse, do it here. */
52 if (chk_skip(__func__
) == TRUE
)
61 c
= capture_new(p
, PATTERN
, 0);
64 while (capture_matches(c
) == TRUE
)
66 r
= capture_fetch(c
, 1);
67 l
= g_slist_prepend(l
, g_strdup_printf("%s%s", WWW
, r
));
71 l
= g_slist_reverse(l
);
72 g_assert_cmpint(g_slist_length(l
), >, 0);
74 /* Pick a random URL from the stack. */
76 const gint32 n
= g_random_int_range(0, g_slist_length(l
));
77 u
= (gchar
*) g_slist_nth_data(l
, n
);
81 g_test_message("media URL=%s", u
);
82 qm_test(__func__
, u
, NULL
, &o
);
84 slist_free_full(l
, (GFunc
) g_free
);
89 gint
main(gint argc
, gchar
**argv
)
91 g_test_init(&argc
, &argv
, NULL
);
92 g_test_add_func("/media/arte", test_media_arte
);
93 return (g_test_run());
96 /* vim: set ts=2 sw=2 tw=72 expandtab: */