diff options
author | Martyn Russell <martyn@lanedo.com> | 2014-02-07 16:11:28 +0000 |
---|---|---|
committer | Martyn Russell <martyn@lanedo.com> | 2014-02-07 16:34:09 +0000 |
commit | 4d3a06eb14b302c827b3af97b40c869aba0650be (patch) | |
tree | 067f7569efd278d1f3217098fa79040e17c88090 /tests/mediaarttest.c | |
parent | 12d8d77900295a2c0e856eb71bfc7ed262b9a3b6 (diff) | |
download | libmediaart-4d3a06eb14b302c827b3af97b40c869aba0650be.tar.gz |
cache: Improve _strip_invalid_entites() API
Add more information to documentation.
Add a check on the input string to make sure we avoid crashes.
Add test case
Diffstat (limited to 'tests/mediaarttest.c')
-rw-r--r-- | tests/mediaarttest.c | 33 |
1 files changed, 27 insertions, 6 deletions
diff --git a/tests/mediaarttest.c b/tests/mediaarttest.c index 967c911..77a5a42 100644 --- a/tests/mediaarttest.c +++ b/tests/mediaarttest.c @@ -99,10 +99,29 @@ test_mediaart_stripping (void) static void test_mediaart_stripping_null (void) { - // FIXME: Decide what is the expected behaviour here... - // a. Return NULL - // b. Return "" - //g_assert (!mediaart_strip_invalid_entities (NULL)); +} + +static void +test_mediaart_stripping_failures_subprocess (void) +{ + g_assert (!media_art_strip_invalid_entities (NULL)); +} + +static void +test_mediaart_stripping_failures (void) +{ + gchar *stripped = NULL; + + /* a. Return NULL for NULL (subprocess) + * b. Return NULL for "" + */ + stripped = media_art_strip_invalid_entities (""); + g_assert (stripped); + g_assert_cmpstr (stripped, ==, ""); + + g_test_trap_subprocess ("/mediaart/stripping_failures/subprocess", 0, 0); + g_test_trap_assert_failed (); + g_test_trap_assert_stderr ("*assertion 'original != NULL' failed*"); } static void @@ -283,8 +302,10 @@ main (int argc, char **argv) test_mediaart_init); g_test_add_func ("/mediaart/stripping", test_mediaart_stripping); - g_test_add_func ("/mediaart/stripping_null", - test_mediaart_stripping_null); + g_test_add_func ("/mediaart/stripping_failures", + test_mediaart_stripping_failures); + g_test_add_func ("/mediaart/stripping_failures/subprocess", + test_mediaart_stripping_failures_subprocess); g_test_add_func ("/mediaart/location", test_mediaart_location); g_test_add_func ("/mediaart/location_null", |