[glib: 17/19] signals: Add tests for constructing signals with invalid names
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib: 17/19] signals: Add tests for constructing signals with invalid names
- Date: Thu, 12 Dec 2019 12:12:45 +0000 (UTC)
commit 463a75c11e7be876ce8906e2953ed9bd2e93f7d9
Author: Philip Withnall <withnall endlessm com>
Date: Tue Nov 12 21:09:11 2019 +0000
signals: Add tests for constructing signals with invalid names
Signed-off-by: Philip Withnall <withnall endlessm com>
gobject/tests/signals.c | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)
---
diff --git a/gobject/tests/signals.c b/gobject/tests/signals.c
index 32d89f4d8..0864f2a31 100644
--- a/gobject/tests/signals.c
+++ b/gobject/tests/signals.c
@@ -1403,6 +1403,31 @@ test_parse_name_invalid (void)
g_type_class_unref (test_class);
}
+static void
+test_signals_invalid_name (gconstpointer test_data)
+{
+ const gchar *signal_name = test_data;
+
+ g_test_summary ("Check that g_signal_new() rejects invalid signal names.");
+
+ if (g_test_subprocess ())
+ {
+ g_signal_new (signal_name,
+ test_get_type (),
+ G_SIGNAL_RUN_LAST | G_SIGNAL_NO_RECURSE,
+ 0,
+ NULL, NULL,
+ NULL,
+ G_TYPE_NONE,
+ 0);
+ return;
+ }
+
+ g_test_trap_subprocess (NULL, 0, 0);
+ g_test_trap_assert_failed ();
+ g_test_trap_assert_stderr ("*CRITICAL*is_valid_signal_name (signal_name)*");
+}
+
/* --- */
int
@@ -1432,6 +1457,9 @@ main (int argc,
g_test_add_func ("/gobject/signals/lookup", test_lookup);
g_test_add_func ("/gobject/signals/parse-name", test_parse_name);
g_test_add_func ("/gobject/signals/parse-name/invalid", test_parse_name_invalid);
+ g_test_add_data_func ("/gobject/signals/invalid-name/colon", "my_int:hello", test_signals_invalid_name);
+ g_test_add_data_func ("/gobject/signals/invalid-name/first-char", "7zip", test_signals_invalid_name);
+ g_test_add_data_func ("/gobject/signals/invalid-name/empty", "", test_signals_invalid_name);
return g_test_run ();
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]