summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThiago Santos <ts.santos@sisa.samsung.com>2014-07-14 18:46:54 -0300
committerThiago Santos <ts.santos@sisa.samsung.com>2014-07-21 11:42:05 -0300
commit85d23d19b7de40541d63b0bc76d8b646c321af26 (patch)
tree45ffa58882b141fd06af2962be5366c4cea75f06
parentb0b89081591c1a47b88bd97a8c11f8e4ad75be3d (diff)
tests: taglist: add basic test for taglists serialization
Make sure it works with empty taglists
-rw-r--r--tests/check/Makefile.am1
-rw-r--r--tests/check/gst/gsttaglist.c58
2 files changed, 59 insertions, 0 deletions
diff --git a/tests/check/Makefile.am b/tests/check/Makefile.am
index f188b1a12a..1980a9d08b 100644
--- a/tests/check/Makefile.am
+++ b/tests/check/Makefile.am
@@ -128,6 +128,7 @@ check_PROGRAMS = \
gst/gstclock \
gst/gststructure \
gst/gsttag \
+ gst/gsttaglist \
gst/gsttagsetter \
gst/gsttask \
gst/gsttoc \
diff --git a/tests/check/gst/gsttaglist.c b/tests/check/gst/gsttaglist.c
new file mode 100644
index 0000000000..d164f88027
--- /dev/null
+++ b/tests/check/gst/gsttaglist.c
@@ -0,0 +1,58 @@
+/* GStreamer
+ *
+ * Copyright (C) 2014 Samsung Electronics. All rights reserved.
+ * Author: Thiago Santos <ts.santos@sisa.samsung.com>
+ *
+ * gsttaglist.c: Unit tests for GstTaglist
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
+ */
+
+
+#include <gst/gst.h>
+#include <gst/check/gstcheck.h>
+
+
+GST_START_TEST (test_no_tags_string_serialization)
+{
+ GstTagList *taglist, *taglist2;
+ gchar *str;
+
+ taglist = gst_tag_list_new_empty ();
+ str = gst_tag_list_to_string (taglist);
+ taglist2 = gst_tag_list_new_from_string (str);
+ fail_if (taglist2 == NULL);
+ fail_unless (gst_tag_list_is_equal (taglist, taglist2));
+
+ gst_tag_list_unref (taglist);
+ gst_tag_list_unref (taglist2);
+ g_free (str);
+}
+
+GST_END_TEST;
+
+static Suite *
+gst_tag_list_suite (void)
+{
+ Suite *s = suite_create ("GstTaglist");
+ TCase *tc_chain = tcase_create ("general");
+
+ suite_add_tcase (s, tc_chain);
+ tcase_add_test (tc_chain, test_no_tags_string_serialization);
+ return s;
+}
+
+GST_CHECK_MAIN (gst_tag_list);