diff options
author | Young-Ho Cha <ganadist@gmail.com> | 2013-05-28 16:56:28 +0900 |
---|---|---|
committer | Tim-Philipp Müller <tim.muller@collabora.co.uk> | 2013-07-16 19:06:20 +0100 |
commit | 1456511b79098524b638a2777467b1956a76687b (patch) | |
tree | 8aade9bc9b7399965819fbd7e51164f86c3da62a | |
parent | 69169e06281a759fc1da5cda138f28bd02c0aa20 (diff) | |
download | gstreamer-plugins-base-1456511b79098524b638a2777467b1956a76687b.tar.gz |
tests: update sami parser testcases
Remove libxml dependency for sami parser
and add more testcases.
https://bugzilla.gnome.org/show_bug.cgi?id=693056
-rw-r--r-- | tests/check/elements/subparse.c | 75 |
1 files changed, 71 insertions, 4 deletions
diff --git a/tests/check/elements/subparse.c b/tests/check/elements/subparse.c index 75f3a351f..9cabe79ad 100644 --- a/tests/check/elements/subparse.c +++ b/tests/check/elements/subparse.c @@ -662,7 +662,6 @@ GST_START_TEST (test_dks) GST_END_TEST; -#ifndef GST_DISABLE_XML GST_START_TEST (test_sami) { SubParseInputChunk sami_input[] = { @@ -698,7 +697,74 @@ GST_START_TEST (test_sami) } GST_END_TEST; -#endif + +GST_START_TEST (test_sami_xml_entities) +{ + SubParseInputChunk sami_input[] = { + {"<SAMI>\n" + "<BODY>\n" + " <SYNC Start=1000>\n" + " <P Class=CC>\n" " <Hello> &\n", + 1000 * GST_MSECOND, 2000 * GST_MSECOND, + "<Hello> &"}, + {" <SYNC Start=2000>\n" + " <P Class=CC>\n" + " "World'\n" "</BODY>\n" "</SAMI>\n", + 2000 * GST_MSECOND, GST_CLOCK_TIME_NONE, + ""World'"} + + }; + + do_test (sami_input, G_N_ELEMENTS (sami_input), "pango-markup"); +} + +GST_END_TEST; + +GST_START_TEST (test_sami_html_entities) +{ + SubParseInputChunk sami_input[] = { + {"<SAMI>\n" + "<BODY>\n" + " <SYNC Start=1000>\n" + " <P Class=CC>\n" " ± ´\n", + 1000 * GST_MSECOND, 2000 * GST_MSECOND, + "\xc2\xa0 \xc2\xb1 \xc2\xb4"}, + {" <SYNC Start=2000>\n" + " <P Class=CC>\n" " Α ω\n", + 2000 * GST_MSECOND, 3000 * GST_MSECOND, + "\xce\x91 \xcf\x89"}, + {" <SYNC Start=3000>\n" + " <P Class=CC>\n" + "   ± ´\n" "</BODY>\n" "</SAMI>\n", + 3000 * GST_MSECOND, GST_CLOCK_TIME_NONE, + "\xc2\xa0 \xc2\xb1 \xc2\xb4"} + }; + + do_test (sami_input, G_N_ELEMENTS (sami_input), "pango-markup"); +} + +GST_END_TEST; + +GST_START_TEST (test_sami_bad_entities) +{ + SubParseInputChunk sami_input[] = { + {"<SAMI>\n" + "<BODY>\n" + " <SYNC Start=1000>\n" + " <P Class=CC>\n" "   &\n", + 1000 * GST_MSECOND, 2000 * GST_MSECOND, + "\xc2\xa0 &"}, + {" <SYNC Start=2000>\n" + " <P Class=CC>\n" + "   ± ´\n" "</BODY>\n" "</SAMI>\n", + 2000 * GST_MSECOND, GST_CLOCK_TIME_NONE, + "\xc2\xa0 \xc2\xb1 \xc2\xb4"} + }; + + do_test (sami_input, G_N_ELEMENTS (sami_input), "pango-markup"); +} + +GST_END_TEST; /* TODO: * - add/modify tests so that lines aren't dogfed to the parsers in complete @@ -728,9 +794,10 @@ subparse_suite (void) tcase_add_test (tc_chain, test_subviewer); tcase_add_test (tc_chain, test_subviewer2); tcase_add_test (tc_chain, test_dks); -#ifndef GST_DISABLE_XML tcase_add_test (tc_chain, test_sami); -#endif + tcase_add_test (tc_chain, test_sami_xml_entities); + tcase_add_test (tc_chain, test_sami_html_entities); + tcase_add_test (tc_chain, test_sami_bad_entities); return s; } |