void test_setinteger() { GKeyFile *keyfile; gint *value; gsize n = 2; gint list[2] = {111,222}; const gchar *data = "[1]\n" "key1=123\n" "key2=456\n"; keyfile = load_data (data, 0); check_integer_value (keyfile, "1", "key1", 123); g_key_file_set_integer(keyfile,"1","key1",789); check_integer_value (keyfile, "1", "key1", 789); g_key_file_set_integer_list(keyfile,"1","key1",list,2); value = g_key_file_get_integer_list(keyfile, "1", "key1",&n, NULL); g_assert(value[0] == 111); g_assert(value[1] == 222); }
/* check parsing of integer and double values */ void test_number (void) { GError *error = NULL; const gchar *data = "[valid]\n" "key1=0\n" "key2=1\n" "key3=-1\n" "key4=2324431\n" "key5=-2324431\n" "key6=000111\n" "dkey1=000111\n" "dkey2=145.45\n" "dkey3=-3453.7\n" "[invalid]\n" "key1=0xffff\n" "key2=0.5\n" "key3=1e37\n" "key4=ten\n" "key5=\n" "key6=1.0.0\n" "key7=2x2\n" "key8=abc\n"; cut_assert (g_key_file_load_from_data (keyfile, data, -1, 0, NULL)); check_integer_value (keyfile, "valid", "key1", 0); check_integer_value (keyfile, "valid", "key2", 1); check_integer_value (keyfile, "valid", "key3", -1); check_integer_value (keyfile, "valid", "key4", 2324431); check_integer_value (keyfile, "valid", "key5", -2324431); check_integer_value (keyfile, "valid", "key6", 111); check_double_value (keyfile, "valid", "dkey1", 111.0); check_double_value (keyfile, "valid", "dkey2", 145.45); check_double_value (keyfile, "valid", "dkey3", -3453.7); g_key_file_get_integer (keyfile, "invalid", "key1", &error); check_error (&error, G_KEY_FILE_ERROR, G_KEY_FILE_ERROR_INVALID_VALUE); g_key_file_get_integer (keyfile, "invalid", "key2", &error); check_error (&error, G_KEY_FILE_ERROR, G_KEY_FILE_ERROR_INVALID_VALUE); g_key_file_get_integer (keyfile, "invalid", "key3", &error); check_error (&error, G_KEY_FILE_ERROR, G_KEY_FILE_ERROR_INVALID_VALUE); g_key_file_get_integer (keyfile, "invalid", "key4", &error); check_error (&error, G_KEY_FILE_ERROR, G_KEY_FILE_ERROR_INVALID_VALUE); g_key_file_get_double (keyfile, "invalid", "key5", &error); check_error (&error, G_KEY_FILE_ERROR, G_KEY_FILE_ERROR_INVALID_VALUE); g_key_file_get_double (keyfile, "invalid", "key6", &error); check_error (&error, G_KEY_FILE_ERROR, G_KEY_FILE_ERROR_INVALID_VALUE); g_key_file_get_double (keyfile, "invalid", "key7", &error); check_error (&error, G_KEY_FILE_ERROR, G_KEY_FILE_ERROR_INVALID_VALUE); g_key_file_get_double (keyfile, "invalid", "key8", &error); check_error (&error, G_KEY_FILE_ERROR, G_KEY_FILE_ERROR_INVALID_VALUE); }