From 913b1e6f20dd50c2bac2a85ea44f63a30ae24c33 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tim-Philipp=20M=C3=BCller?= Date: Wed, 8 May 2013 10:26:15 +0100 Subject: [PATCH] tests: add some basic checks for gst_buffer_fill() --- tests/check/gst/gstbuffer.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/tests/check/gst/gstbuffer.c b/tests/check/gst/gstbuffer.c index e839ed9..ec67be8 100644 --- a/tests/check/gst/gstbuffer.c +++ b/tests/check/gst/gstbuffer.c @@ -742,6 +742,44 @@ GST_START_TEST (test_find) GST_END_TEST; +GST_START_TEST (test_fill) +{ + GstBuffer *buf; + guint8 data[1024], data2[25]; + gint i; + + buf = gst_buffer_new (); + gst_buffer_append_memory (buf, gst_allocator_alloc (NULL, 0, NULL)); + gst_buffer_append_memory (buf, gst_allocator_alloc (NULL, 10, NULL)); + gst_buffer_append_memory (buf, gst_allocator_alloc (NULL, 15, NULL)); + gst_buffer_append_memory (buf, gst_allocator_alloc (NULL, 0, NULL)); + + for (i = 0; i < G_N_ELEMENTS (data); ++i) + data[i] = i & 0xff; + + /* a NULL src pointer should be ok if the src length is 0 bytes */ + fail_unless_equals_int (gst_buffer_fill (buf, 0, NULL, 0), 0); + fail_unless_equals_int (gst_buffer_fill (buf, 20, NULL, 0), 0); + fail_unless_equals_int (gst_buffer_fill (buf, 0, data, 0), 0); + + fail_unless_equals_int (gst_buffer_fill (buf, 0, data, 1), 1); + fail_unless_equals_int (gst_buffer_fill (buf, 0, data, 11), 11); + fail_unless_equals_int (gst_buffer_fill (buf, 0, data, 15), 15); + fail_unless_equals_int (gst_buffer_fill (buf, 0, data, 25), 25); + fail_unless_equals_int (gst_buffer_fill (buf, 0, data, 26), 25); + fail_unless_equals_int (gst_buffer_fill (buf, 1, data, 26), 24); + fail_unless_equals_int (gst_buffer_fill (buf, 10, data, 100), 15); + fail_unless_equals_int (gst_buffer_fill (buf, 11, data, 100), 14); + fail_unless_equals_int (gst_buffer_fill (buf, 25, data, 100), 0); + + fail_unless_equals_int (gst_buffer_fill (buf, 0, data + 10, 25), 25); + fail_unless_equals_int (gst_buffer_extract (buf, 0, data2, 25), 25); + fail_unless (memcmp (data2, data + 10, 25) == 0); + + gst_buffer_unref (buf); +} + +GST_END_TEST; static Suite * gst_buffer_suite (void) @@ -761,6 +799,7 @@ gst_buffer_suite (void) tcase_add_test (tc_chain, test_resize); tcase_add_test (tc_chain, test_map); tcase_add_test (tc_chain, test_find); + tcase_add_test (tc_chain, test_fill); return s; } -- 2.7.4