summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarco Trevisan (Treviño) <mail@3v1n0.net>2022-10-10 20:55:24 +0200
committerMarco Trevisan (Treviño) <mail@3v1n0.net>2022-10-10 21:01:10 +0200
commit80cf66034b94496237f7cdfdc66fecbab8b872cd (patch)
tree96c694c5919fb843de5f2895e0737e4325ba9393
parent07e3ec6e0478b104db7135155c707f302e2ddbef (diff)
downloadglib-80cf66034b94496237f7cdfdc66fecbab8b872cd.tar.gz
gobject/tests/param: Add unit test for handling invalid NULL param spec
This was fixed by !2921 but there was no test with the MR, so add one.
-rw-r--r--gobject/tests/param.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/gobject/tests/param.c b/gobject/tests/param.c
index 1e037e6d3..08bc80fff 100644
--- a/gobject/tests/param.c
+++ b/gobject/tests/param.c
@@ -350,6 +350,25 @@ test_param_spec_param (void)
}
static void
+test_param_spec_null_param (void)
+{
+ GParamSpec *pspec;
+ GValue value = G_VALUE_INIT;
+
+ pspec = g_param_spec_param ("param", NULL, NULL,
+ G_TYPE_PARAM_POINTER, G_PARAM_READWRITE);
+
+ g_assert_cmpstr (g_param_spec_get_name (pspec), ==, "param");
+
+ g_value_init (&value, G_TYPE_PARAM_POINTER);
+ g_assert_false (g_param_value_is_valid (pspec, &value));
+ g_assert_false (g_param_value_validate (pspec, &value));
+
+ g_value_unset (&value);
+ g_param_spec_unref (pspec);
+}
+
+static void
test_param_spec_string (void)
{
GParamSpec *pspec;
@@ -1654,6 +1673,7 @@ main (int argc, char *argv[])
g_test_add_func ("/paramspec/double", test_param_spec_double);
g_test_add_func ("/paramspec/unichar", test_param_spec_unichar);
g_test_add_func ("/paramspec/param", test_param_spec_param);
+ g_test_add_func ("/paramspec/null-param", test_param_spec_null_param);
g_test_add_func ("/paramspec/string", test_param_spec_string);
g_test_add_func ("/paramspec/override", test_param_spec_override);
g_test_add_func ("/paramspec/gtype", test_param_spec_gtype);