1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
/* SPDX-FileCopyrightText: 2020 - Sébastien Wilmet <swilmet@gnome.org>
* SPDX-License-Identifier: LGPL-3.0-or-later
*/
#include <tepl/tepl.h>
static void
test_key_is_valid (void)
{
g_assert_true (_tepl_metadata_key_is_valid ("gedit-spell-checking-language"));
g_assert_true (_tepl_metadata_key_is_valid ("gCSVedit_column_delimiter"));
g_assert_true (_tepl_metadata_key_is_valid ("Fourty_Two-1337"));
g_assert_true (_tepl_metadata_key_is_valid ("1337-beginning-with-digit"));
g_assert_true (_tepl_metadata_key_is_valid ("a"));
g_assert_true (_tepl_metadata_key_is_valid ("9"));
g_assert_true (!_tepl_metadata_key_is_valid (NULL));
g_assert_true (!_tepl_metadata_key_is_valid (""));
g_assert_true (!_tepl_metadata_key_is_valid ("metadata::gedit-spell-checking-language"));
g_assert_true (!_tepl_metadata_key_is_valid ("foo:bar"));
g_assert_true (!_tepl_metadata_key_is_valid ("foo::bar"));
g_assert_true (!_tepl_metadata_key_is_valid ("Évolution-UTF-8"));
g_assert_true (!_tepl_metadata_key_is_valid ("a space"));
g_assert_true (!_tepl_metadata_key_is_valid ("\t"));
g_assert_true (!g_utf8_validate ("\xFF", -1, NULL));
g_assert_true (!_tepl_metadata_key_is_valid ("\xFF"));
}
static void
check_get (TeplMetadata *metadata,
const gchar *key,
const gchar *expected_value)
{
gchar *received_value;
received_value = tepl_metadata_get (metadata, key);
g_assert_cmpstr (expected_value, ==, received_value);
g_free (received_value);
}
static void
test_get_set (void)
{
TeplMetadata *metadata;
metadata = tepl_metadata_new ();
check_get (metadata, "keyA", NULL);
tepl_metadata_set (metadata, "keyA", "valueA1");
check_get (metadata, "keyA", "valueA1");
tepl_metadata_set (metadata, "keyB", "valueB");
check_get (metadata, "keyA", "valueA1");
check_get (metadata, "keyB", "valueB");
check_get (metadata, "keyC", NULL);
tepl_metadata_set (metadata, "keyA", "valueA2");
check_get (metadata, "keyA", "valueA2");
check_get (metadata, "keyB", "valueB");
tepl_metadata_set (metadata, "keyB", NULL);
check_get (metadata, "keyA", "valueA2");
check_get (metadata, "keyB", NULL);
check_get (metadata, "keyC", NULL);
g_object_unref (metadata);
}
int
main (int argc,
char **argv)
{
g_test_init (&argc, &argv, NULL);
g_test_add_func ("/metadata/key_is_valid", test_key_is_valid);
g_test_add_func ("/metadata/get_set", test_get_set);
return g_test_run ();
}
|