summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMartyn Russell <martyn@lanedo.com>2014-02-07 16:11:28 +0000
committerMartyn Russell <martyn@lanedo.com>2014-02-07 16:34:09 +0000
commit4d3a06eb14b302c827b3af97b40c869aba0650be (patch)
tree067f7569efd278d1f3217098fa79040e17c88090 /tests
parent12d8d77900295a2c0e856eb71bfc7ed262b9a3b6 (diff)
downloadlibmediaart-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')
-rw-r--r--tests/mediaarttest.c33
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",