diff options
author | Antti Ajanki <antti.ajanki@iki.fi> | 2013-08-08 17:16:00 +0300 |
---|---|---|
committer | Antti Ajanki <antti.ajanki@iki.fi> | 2013-08-08 17:16:00 +0300 |
commit | b3bdb5e6a1515c938fec0661bb56f4b39538195c (patch) | |
tree | 874355a1601ed713a8e4dc4e78806862f369fd63 /tests | |
parent | 78e8b44d32231a45086fe3c7e1465e8bb60b871c (diff) | |
download | vdr-plugin-webvideo-b3bdb5e6a1515c938fec0661bb56f4b39538195c.tar.gz vdr-plugin-webvideo-b3bdb5e6a1515c938fec0661bb56f4b39538195c.tar.bz2 |
Combine quvi and external downloader pipes into a pipe that reads a
menu written by an external shell script (src/menuscripts). Add YLE
Areena as an example script (TODO: downloading rtmp streams).
Diffstat (limited to 'tests')
-rw-r--r-- | tests/libwebvi_tests.c | 6 | ||||
-rw-r--r-- | tests/pipe_tests.c | 47 | ||||
-rw-r--r-- | tests/pipe_tests.h | 4 |
3 files changed, 57 insertions, 0 deletions
diff --git a/tests/libwebvi_tests.c b/tests/libwebvi_tests.c index 0e50e15..e1168a8 100644 --- a/tests/libwebvi_tests.c +++ b/tests/libwebvi_tests.c @@ -70,6 +70,12 @@ int main(int argc, char** argv) test_pipe_state_not_chaning_after_finished); g_test_add_func("/pipe/fdset", test_pipe_fdset); g_test_add_func("/pipe/delete_all", test_pipe_delete_all); + g_test_add_func("/pipe/menu_validator_valid_menu", + test_pipe_menu_validator_valid_menu); + g_test_add_func("/pipe/menu_validator_invalid_xml", + test_pipe_menu_validator_invalid_xml); + g_test_add_func("/pipe/menu_validator_invalid_root", + test_pipe_menu_validator_invalid_root); g_test_add_func("/urlutils/scheme", test_url_scheme); g_test_add_func("/urlutils/scheme_no_scheme", test_url_scheme_no_scheme); diff --git a/tests/pipe_tests.c b/tests/pipe_tests.c index 0dd15ba..d61b680 100644 --- a/tests/pipe_tests.c +++ b/tests/pipe_tests.c @@ -8,6 +8,12 @@ #define TEST_FD1 1 #define TEST_FD2 2 +#define MENU_VALID "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" \ + "<wvmenu><title>Test menu</title></wvmenu>" +#define INVALID_XML ">> this & is not XML >>" +#define MENU_INVALID_ROOT "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" \ + "<invalid></invalid>" + typedef struct CountingPipe { PipeComponent p; size_t bytes; @@ -244,3 +250,44 @@ void testpipe_delete2(PipeComponent *component) { delete2_called = TRUE; free(self); } + +void test_pipe_menu_validator_valid_menu() { + PipeMenuValidator *pipe = pipe_menu_validator_create(); + g_assert(pipe); + + pipe_component_append((PipeComponent *)pipe, MENU_VALID, + strlen(MENU_VALID)); + pipe_component_finished((PipeComponent *)pipe, WEBVISTATE_FINISHED_OK); + RequestState state = pipe_component_get_state((PipeComponent *)pipe); + g_assert(state == WEBVISTATE_FINISHED_OK); + + pipe_delete_full((PipeComponent *)pipe); +} + +void test_pipe_menu_validator_invalid_xml() { + PipeMenuValidator *pipe = pipe_menu_validator_create(); + g_assert(pipe); + + pipe_component_append((PipeComponent *)pipe, INVALID_XML, + strlen(INVALID_XML)); + pipe_component_finished((PipeComponent *)pipe, WEBVISTATE_FINISHED_OK); + RequestState state = pipe_component_get_state((PipeComponent *)pipe); + g_assert((state != WEBVISTATE_NOT_FINISHED) && + (state != WEBVISTATE_FINISHED_OK)); + + pipe_delete_full((PipeComponent *)pipe); +} + +void test_pipe_menu_validator_invalid_root() { + PipeMenuValidator *pipe = pipe_menu_validator_create(); + g_assert(pipe); + + pipe_component_append((PipeComponent *)pipe, MENU_INVALID_ROOT, + strlen(MENU_INVALID_ROOT)); + pipe_component_finished((PipeComponent *)pipe, WEBVISTATE_FINISHED_OK); + RequestState state = pipe_component_get_state((PipeComponent *)pipe); + g_assert((state != WEBVISTATE_NOT_FINISHED) && + (state != WEBVISTATE_FINISHED_OK)); + + pipe_delete_full((PipeComponent *)pipe); +} diff --git a/tests/pipe_tests.h b/tests/pipe_tests.h index 4ed02c2..0f0cf26 100644 --- a/tests/pipe_tests.h +++ b/tests/pipe_tests.h @@ -9,4 +9,8 @@ void test_pipe_state_not_chaning_after_finished(); void test_pipe_delete_all(); void test_pipe_fdset(); +void test_pipe_menu_validator_valid_menu(); +void test_pipe_menu_validator_invalid_xml(); +void test_pipe_menu_validator_invalid_root(); + #endif // PIPE_TESTS_H |