adding a property test
authorThomas Vander Stichele <thomas@apestaart.org>
Wed, 28 Aug 2002 14:08:22 +0000 (14:08 +0000)
committerThomas Vander Stichele <thomas@apestaart.org>
Wed, 28 Aug 2002 14:08:22 +0000 (14:08 +0000)
Original commit message from CVS:
adding a property test

tests/old/testsuite/elements/Makefile.am
tests/old/testsuite/elements/property.c [new file with mode: 0644]
testsuite/elements/Makefile.am
testsuite/elements/property.c [new file with mode: 0644]

index 9db1afa..45d0fc5 100644 (file)
@@ -3,7 +3,7 @@ tests_failing = fake
 else
 tests_failing =
 endif
-tests_working = name tee
+tests_working = name tee property
 
 GST_PLUGIN_PATH=$(shell cd $(top_builddir) && pwd)
 
diff --git a/tests/old/testsuite/elements/property.c b/tests/old/testsuite/elements/property.c
new file mode 100644 (file)
index 0000000..2e461dd
--- /dev/null
@@ -0,0 +1,98 @@
+/*
+ * test for setting and getting of object properties
+ * creates a fakesrc
+ * sets silent (boolean), name (string), and sizemin (int)
+ * then retrieves the set values and compares
+ * thomas@apestaart.org
+ * originally written for 0.4.0
+ */
+
+#include <string.h>
+#include <gst/gst.h>
+
+GstElement *
+element_create (char *name, char *element)
+  /*
+   * create the element
+   * print an error if it can't be created
+   * return NULL if it couldn't be created
+   * return element if it did work
+   */
+{
+  GstElement *el = NULL;
+
+  el = (GstElement *) gst_element_factory_make (element, name);
+  if (el == NULL)
+  {
+    fprintf (stderr, "Could not create element %s (%s) !\n", name, element);
+    return NULL;
+  }
+  else
+    return el;
+}
+
+int
+main (int argc, char *argv[])
+{
+  GstElement *src;
+  gint retval = 0;
+  gboolean silent_set, silent_get;
+  gint sizemin_set, sizemin_get;
+  gchar *name_set, *name_get;
+
+  /* init */
+  gst_init (&argc, &argv);
+
+  /* create */
+  g_print ("Creating element\n");
+  if (!(src = element_create ("src", "fakesrc"))) return 1;
+  /* set */
+  silent_set = TRUE;
+  sizemin_set = 1;
+  name_set = g_strdup_printf ("test");
+
+  gst_element_set (src, 
+                   "name", name_set,
+                  "sizemin", sizemin_set,
+                  "silent", silent_set,
+                  NULL);
+  /* get */
+  gst_element_get (src,
+                   "name", &name_get,
+                  "sizemin", &sizemin_get,
+                  "silent", &silent_get,
+                  NULL);
+
+  /* compare */
+  if (sizemin_set != sizemin_get)
+  {
+    g_print ("sizemin: set value %d differs from returned value %d\n",
+            sizemin_set, sizemin_get);
+    retval = 1;
+  }
+  else
+    g_print ("name: set right\n");
+
+  if (silent_set != silent_get)
+  {
+    g_print ("silent: set value %s differs from returned value %s\n",
+            silent_set ? "TRUE" : "FALSE",
+            silent_get ? "TRUE" : "FALSE");
+    retval = 1;
+  }
+  else
+    g_print ("silent: set right\n");
+  
+  if (strcmp (name_set, name_get) != 0)
+  {
+    g_print ("name: set value %s differs from returned value %s\n",
+            name_set, name_get);
+    retval = 1;
+  }
+  else
+    g_print ("name: set right\n");
+
+  return retval;
+}
+
index 9db1afa..45d0fc5 100644 (file)
@@ -3,7 +3,7 @@ tests_failing = fake
 else
 tests_failing =
 endif
-tests_working = name tee
+tests_working = name tee property
 
 GST_PLUGIN_PATH=$(shell cd $(top_builddir) && pwd)
 
diff --git a/testsuite/elements/property.c b/testsuite/elements/property.c
new file mode 100644 (file)
index 0000000..2e461dd
--- /dev/null
@@ -0,0 +1,98 @@
+/*
+ * test for setting and getting of object properties
+ * creates a fakesrc
+ * sets silent (boolean), name (string), and sizemin (int)
+ * then retrieves the set values and compares
+ * thomas@apestaart.org
+ * originally written for 0.4.0
+ */
+
+#include <string.h>
+#include <gst/gst.h>
+
+GstElement *
+element_create (char *name, char *element)
+  /*
+   * create the element
+   * print an error if it can't be created
+   * return NULL if it couldn't be created
+   * return element if it did work
+   */
+{
+  GstElement *el = NULL;
+
+  el = (GstElement *) gst_element_factory_make (element, name);
+  if (el == NULL)
+  {
+    fprintf (stderr, "Could not create element %s (%s) !\n", name, element);
+    return NULL;
+  }
+  else
+    return el;
+}
+
+int
+main (int argc, char *argv[])
+{
+  GstElement *src;
+  gint retval = 0;
+  gboolean silent_set, silent_get;
+  gint sizemin_set, sizemin_get;
+  gchar *name_set, *name_get;
+
+  /* init */
+  gst_init (&argc, &argv);
+
+  /* create */
+  g_print ("Creating element\n");
+  if (!(src = element_create ("src", "fakesrc"))) return 1;
+  /* set */
+  silent_set = TRUE;
+  sizemin_set = 1;
+  name_set = g_strdup_printf ("test");
+
+  gst_element_set (src, 
+                   "name", name_set,
+                  "sizemin", sizemin_set,
+                  "silent", silent_set,
+                  NULL);
+  /* get */
+  gst_element_get (src,
+                   "name", &name_get,
+                  "sizemin", &sizemin_get,
+                  "silent", &silent_get,
+                  NULL);
+
+  /* compare */
+  if (sizemin_set != sizemin_get)
+  {
+    g_print ("sizemin: set value %d differs from returned value %d\n",
+            sizemin_set, sizemin_get);
+    retval = 1;
+  }
+  else
+    g_print ("name: set right\n");
+
+  if (silent_set != silent_get)
+  {
+    g_print ("silent: set value %s differs from returned value %s\n",
+            silent_set ? "TRUE" : "FALSE",
+            silent_get ? "TRUE" : "FALSE");
+    retval = 1;
+  }
+  else
+    g_print ("silent: set right\n");
+  
+  if (strcmp (name_set, name_get) != 0)
+  {
+    g_print ("name: set value %s differs from returned value %s\n",
+            name_set, name_get);
+    retval = 1;
+  }
+  else
+    g_print ("name: set right\n");
+
+  return retval;
+}
+