mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-19 06:46:38 +00:00
value: Add tests for the bitmask type
This commit is contained in:
parent
33f53d46ab
commit
da81ada9d0
1 changed files with 69 additions and 0 deletions
|
@ -473,6 +473,33 @@ GST_START_TEST (test_deserialize_flags)
|
||||||
|
|
||||||
GST_END_TEST;
|
GST_END_TEST;
|
||||||
|
|
||||||
|
GST_START_TEST (test_deserialize_bitmask)
|
||||||
|
{
|
||||||
|
GValue value = { 0 };
|
||||||
|
const char *strings[] = {
|
||||||
|
"0xffffffffffffffff",
|
||||||
|
"0x1234567890ABCDEF",
|
||||||
|
};
|
||||||
|
guint64 results[] = {
|
||||||
|
0xffffffffffffffffULL,
|
||||||
|
0x1234567890ABCDEFULL,
|
||||||
|
};
|
||||||
|
int i;
|
||||||
|
|
||||||
|
g_value_init (&value, GST_TYPE_BITMASK);
|
||||||
|
|
||||||
|
for (i = 0; i < G_N_ELEMENTS (strings); ++i) {
|
||||||
|
fail_unless (gst_value_deserialize (&value, strings[i]),
|
||||||
|
"could not deserialize %s (%d)", strings[i], i);
|
||||||
|
fail_unless (gst_value_get_bitmask (&value) == results[i],
|
||||||
|
"resulting value is 0x%016" G_GINT64_MODIFIER "x, not 0x%016"
|
||||||
|
G_GINT64_MODIFIER "x, for string %s (%d)",
|
||||||
|
gst_value_get_bitmask (&value), results[i], strings[i], i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
GST_END_TEST;
|
||||||
|
|
||||||
GST_START_TEST (test_string)
|
GST_START_TEST (test_string)
|
||||||
{
|
{
|
||||||
const gchar *try[] = {
|
const gchar *try[] = {
|
||||||
|
@ -737,6 +764,16 @@ GST_START_TEST (test_value_compare)
|
||||||
g_value_unset (&value1);
|
g_value_unset (&value1);
|
||||||
g_value_unset (&value2);
|
g_value_unset (&value2);
|
||||||
g_value_unset (&tmp);
|
g_value_unset (&tmp);
|
||||||
|
|
||||||
|
g_value_init (&value1, GST_TYPE_BITMASK);
|
||||||
|
gst_value_set_bitmask (&value1, 0x123);
|
||||||
|
g_value_init (&value2, GST_TYPE_BITMASK);
|
||||||
|
gst_value_set_bitmask (&value2, 0x321);
|
||||||
|
fail_unless (gst_value_compare (&value1, &value2) == GST_VALUE_UNORDERED);
|
||||||
|
fail_unless (gst_value_compare (&value2, &value1) == GST_VALUE_UNORDERED);
|
||||||
|
fail_unless (gst_value_compare (&value1, &value1) == GST_VALUE_EQUAL);
|
||||||
|
g_value_unset (&value1);
|
||||||
|
g_value_unset (&value2);
|
||||||
}
|
}
|
||||||
|
|
||||||
GST_END_TEST;
|
GST_END_TEST;
|
||||||
|
@ -776,6 +813,16 @@ GST_START_TEST (test_value_intersect)
|
||||||
g_value_unset (&src1);
|
g_value_unset (&src1);
|
||||||
g_value_unset (&src2);
|
g_value_unset (&src2);
|
||||||
g_value_unset (&dest);
|
g_value_unset (&dest);
|
||||||
|
|
||||||
|
g_value_init (&src1, GST_TYPE_BITMASK);
|
||||||
|
gst_value_set_bitmask (&src1, 0xf00f);
|
||||||
|
g_value_init (&src2, GST_TYPE_BITMASK);
|
||||||
|
gst_value_set_bitmask (&src2, 0xff00);
|
||||||
|
ret = gst_value_intersect (&dest, &src1, &src2);
|
||||||
|
fail_unless (ret == TRUE);
|
||||||
|
fail_unless_equals_uint64 (0xf000, gst_value_get_bitmask (&dest));
|
||||||
|
g_value_unset (&src1);
|
||||||
|
g_value_unset (&src2);
|
||||||
}
|
}
|
||||||
|
|
||||||
GST_END_TEST;
|
GST_END_TEST;
|
||||||
|
@ -1875,6 +1922,26 @@ GST_START_TEST (test_value_subtract_fraction_list)
|
||||||
|
|
||||||
GST_END_TEST;
|
GST_END_TEST;
|
||||||
|
|
||||||
|
GST_START_TEST (test_value_subtract_bitmask)
|
||||||
|
{
|
||||||
|
GValue result = { 0 };
|
||||||
|
GValue src1 = { 0 };
|
||||||
|
GValue src2 = { 0 };
|
||||||
|
|
||||||
|
/* Subtract 1/4 from 1/2 */
|
||||||
|
g_value_init (&src1, GST_TYPE_BITMASK);
|
||||||
|
g_value_init (&src2, GST_TYPE_BITMASK);
|
||||||
|
gst_value_set_bitmask (&src1, 0xffff);
|
||||||
|
gst_value_set_bitmask (&src2, 0xff00);
|
||||||
|
fail_unless (gst_value_subtract (&result, &src1, &src2) == TRUE);
|
||||||
|
fail_unless_equals_uint64 (0x00ff, gst_value_get_bitmask (&result));
|
||||||
|
|
||||||
|
g_value_unset (&src1);
|
||||||
|
g_value_unset (&src2);
|
||||||
|
g_value_unset (&result);
|
||||||
|
}
|
||||||
|
|
||||||
|
GST_END_TEST;
|
||||||
|
|
||||||
GST_START_TEST (test_date)
|
GST_START_TEST (test_date)
|
||||||
{
|
{
|
||||||
|
@ -2518,6 +2585,7 @@ gst_value_suite (void)
|
||||||
tcase_add_test (tc_chain, test_deserialize_guint64);
|
tcase_add_test (tc_chain, test_deserialize_guint64);
|
||||||
tcase_add_test (tc_chain, test_deserialize_guchar);
|
tcase_add_test (tc_chain, test_deserialize_guchar);
|
||||||
tcase_add_test (tc_chain, test_deserialize_gstfraction);
|
tcase_add_test (tc_chain, test_deserialize_gstfraction);
|
||||||
|
tcase_add_test (tc_chain, test_deserialize_bitmask);
|
||||||
tcase_add_test (tc_chain, test_serialize_flags);
|
tcase_add_test (tc_chain, test_serialize_flags);
|
||||||
tcase_add_test (tc_chain, test_deserialize_flags);
|
tcase_add_test (tc_chain, test_deserialize_flags);
|
||||||
tcase_add_test (tc_chain, test_serialize_deserialize_format_enum);
|
tcase_add_test (tc_chain, test_serialize_deserialize_format_enum);
|
||||||
|
@ -2531,6 +2599,7 @@ gst_value_suite (void)
|
||||||
tcase_add_test (tc_chain, test_value_subtract_fraction);
|
tcase_add_test (tc_chain, test_value_subtract_fraction);
|
||||||
tcase_add_test (tc_chain, test_value_subtract_fraction_range);
|
tcase_add_test (tc_chain, test_value_subtract_fraction_range);
|
||||||
tcase_add_test (tc_chain, test_value_subtract_fraction_list);
|
tcase_add_test (tc_chain, test_value_subtract_fraction_list);
|
||||||
|
tcase_add_test (tc_chain, test_value_subtract_bitmask);
|
||||||
tcase_add_test (tc_chain, test_date);
|
tcase_add_test (tc_chain, test_date);
|
||||||
tcase_add_test (tc_chain, test_date_time);
|
tcase_add_test (tc_chain, test_date_time);
|
||||||
tcase_add_test (tc_chain, test_fraction_range);
|
tcase_add_test (tc_chain, test_fraction_range);
|
||||||
|
|
Loading…
Reference in a new issue