[glib: 15/17] tests: Test various different invalid encoding names for key files
- From: Sebastian Dröge <sdroege src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glib: 15/17] tests: Test various different invalid encoding names for key files
- Date: Tue, 2 Nov 2021 11:08:17 +0000 (UTC)
commit e8a6d0b54e9ac80bf99857d6a238d87ff723d352
Author: Philip Withnall <pwithnall endlessos org>
Date: Sun Mar 14 17:02:16 2021 +0000
tests: Test various different invalid encoding names for key files
These exercise different branches in
`g_key_file_parse_key_value_pair()`.
Signed-off-by: Philip Withnall <pwithnall endlessos org>
glib/tests/keyfile.c | 39 +++++++++++++++++++++++++--------------
1 file changed, 25 insertions(+), 14 deletions(-)
---
diff --git a/glib/tests/keyfile.c b/glib/tests/keyfile.c
index 213da8278..04c0fd962 100644
--- a/glib/tests/keyfile.c
+++ b/glib/tests/keyfile.c
@@ -1675,21 +1675,32 @@ test_limbo (void)
static void
test_utf8 (void)
{
- GKeyFile *file;
- static const char data[] =
-"[group]\n"
-"Encoding=non-UTF-8\n";
- gboolean ok;
- GError *error;
-
- file = g_key_file_new ();
+ const gchar *invalid_encoding_names[] =
+ {
+ "non-UTF-8",
+ "UTF",
+ "UTF-9",
+ };
+ gsize i;
- error = NULL;
- ok = g_key_file_load_from_data (file, data, strlen (data), 0, &error);
- g_assert_false (ok);
- g_assert_error (error, G_KEY_FILE_ERROR, G_KEY_FILE_ERROR_UNKNOWN_ENCODING);
- g_clear_error (&error);
- g_key_file_free (file);
+ for (i = 0; i < G_N_ELEMENTS (invalid_encoding_names); i++)
+ {
+ GKeyFile *file = NULL;
+ gchar *data = NULL;
+ gboolean ok;
+ GError *error = NULL;
+
+ g_test_message ("Testing invalid encoding ‘%s’", invalid_encoding_names[i]);
+
+ file = g_key_file_new ();
+ data = g_strdup_printf ("[group]\n"
+ "Encoding=%s\n", invalid_encoding_names[i]);
+ ok = g_key_file_load_from_data (file, data, strlen (data), 0, &error);
+ g_assert_false (ok);
+ g_assert_error (error, G_KEY_FILE_ERROR, G_KEY_FILE_ERROR_UNKNOWN_ENCODING);
+ g_clear_error (&error);
+ g_key_file_free (file);
+ }
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]