|
Packit Service |
1d8f1c |
#include "ibus.h"
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
void g_variant_type_info_assert_no_infos (void);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
void test_serializable (IBusSerializable *object)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GVariant *variant;
|
|
Packit Service |
1d8f1c |
gchar *s1, *s2;
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
variant = ibus_serializable_serialize (object);
|
|
Packit Service |
1d8f1c |
g_object_unref (object);
|
|
Packit Service |
1d8f1c |
g_variant_get_data (variant);
|
|
Packit Service |
1d8f1c |
s1 = g_variant_print (variant, TRUE);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
object = ibus_serializable_deserialize (variant);
|
|
Packit Service |
1d8f1c |
g_variant_unref (variant);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
variant = ibus_serializable_serialize (object);
|
|
Packit Service |
1d8f1c |
g_object_unref (object);
|
|
Packit Service |
1d8f1c |
g_variant_get_data (variant);
|
|
Packit Service |
1d8f1c |
s2 = g_variant_print (variant, TRUE);
|
|
Packit Service |
1d8f1c |
g_variant_unref (variant);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
g_assert_cmpstr (s1, ==, s2);
|
|
Packit Service |
1d8f1c |
g_free (s1);
|
|
Packit Service |
1d8f1c |
g_free (s2);
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
test_varianttypeinfo (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
g_variant_type_info_assert_no_infos ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
test_attr_list (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
IBusAttrList *list = ibus_attr_list_new ();
|
|
Packit Service |
1d8f1c |
ibus_attr_list_append (list, ibus_attribute_new (1, 1, 1, 2));
|
|
Packit Service |
1d8f1c |
ibus_attr_list_append (list, ibus_attribute_new (2, 1, 1, 2));
|
|
Packit Service |
1d8f1c |
ibus_attr_list_append (list, ibus_attribute_new (3, 1, 1, 2));
|
|
Packit Service |
1d8f1c |
ibus_attr_list_append (list, ibus_attribute_new (3, 1, 1, 2));
|
|
Packit Service |
1d8f1c |
test_serializable ((IBusSerializable *)list);
|
|
Packit Service |
1d8f1c |
g_variant_type_info_assert_no_infos ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
test_text (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
test_serializable ((IBusSerializable *)ibus_text_new_from_string ("Hello"));
|
|
Packit Service |
1d8f1c |
test_serializable ((IBusSerializable *)ibus_text_new_from_string ("Hello"));
|
|
Packit Service |
1d8f1c |
test_serializable ((IBusSerializable *)ibus_text_new_from_string ("Hello"));
|
|
Packit Service |
1d8f1c |
test_serializable ((IBusSerializable *)ibus_text_new_from_string ("Hello"));
|
|
Packit Service |
1d8f1c |
g_variant_type_info_assert_no_infos ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
test_engine_desc (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
test_serializable ((IBusSerializable *)ibus_engine_desc_new ("Hello",
|
|
Packit Service |
1d8f1c |
"Hello Engine",
|
|
Packit Service |
1d8f1c |
"Hello Engine Desc",
|
|
Packit Service |
1d8f1c |
"zh",
|
|
Packit Service |
1d8f1c |
"GPLv2",
|
|
Packit Service |
1d8f1c |
"Peng Huang <shawn.p.huang@gmail.com>",
|
|
Packit Service |
1d8f1c |
"icon",
|
|
Packit Service |
1d8f1c |
"en"));
|
|
Packit Service |
1d8f1c |
g_variant_type_info_assert_no_infos ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
test_lookup_table (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
IBusLookupTable *table;
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
table = ibus_lookup_table_new (9, 0, TRUE, FALSE);
|
|
Packit Service |
1d8f1c |
test_serializable ((IBusSerializable *)table);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
#if 1
|
|
Packit Service |
1d8f1c |
table = ibus_lookup_table_new (9, 0, TRUE, FALSE);
|
|
Packit Service |
1d8f1c |
ibus_lookup_table_append_candidate (table, ibus_text_new_from_static_string ("Hello"));
|
|
Packit Service |
1d8f1c |
ibus_lookup_table_append_candidate (table, ibus_text_new_from_static_string ("Cool"));
|
|
Packit Service |
1d8f1c |
test_serializable ((IBusSerializable *)table);
|
|
Packit Service |
1d8f1c |
#endif
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
table = ibus_lookup_table_new (9, 0, TRUE, FALSE);
|
|
Packit Service |
1d8f1c |
ibus_lookup_table_append_candidate (table, ibus_text_new_from_static_string ("Hello"));
|
|
Packit Service |
1d8f1c |
ibus_lookup_table_append_candidate (table, ibus_text_new_from_static_string ("Cool"));
|
|
Packit Service |
1d8f1c |
ibus_lookup_table_append_label (table, ibus_text_new_from_static_string ("Hello"));
|
|
Packit Service |
1d8f1c |
ibus_lookup_table_append_label (table, ibus_text_new_from_static_string ("Cool"));
|
|
Packit Service |
1d8f1c |
test_serializable ((IBusSerializable *)table);
|
|
Packit Service |
1d8f1c |
g_variant_type_info_assert_no_infos ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
test_property (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
IBusPropList *list = ibus_prop_list_new ();
|
|
Packit Service |
1d8f1c |
ibus_prop_list_append (list, ibus_property_new ("sub1",
|
|
Packit Service |
1d8f1c |
PROP_TYPE_NORMAL,
|
|
Packit Service |
1d8f1c |
ibus_text_new_from_static_string ("label_sub1"),
|
|
Packit Service |
1d8f1c |
"icon_sub1",
|
|
Packit Service |
1d8f1c |
ibus_text_new_from_static_string ("tooltip_sub1"),
|
|
Packit Service |
1d8f1c |
TRUE,
|
|
Packit Service |
1d8f1c |
TRUE,
|
|
Packit Service |
1d8f1c |
PROP_STATE_UNCHECKED,
|
|
Packit Service |
1d8f1c |
NULL));
|
|
Packit Service |
1d8f1c |
ibus_prop_list_append (list, ibus_property_new ("sub2",
|
|
Packit Service |
1d8f1c |
PROP_TYPE_NORMAL,
|
|
Packit Service |
1d8f1c |
ibus_text_new_from_static_string ("label_sub1"),
|
|
Packit Service |
1d8f1c |
"icon_sub1",
|
|
Packit Service |
1d8f1c |
ibus_text_new_from_static_string ("tooltip_sub1"),
|
|
Packit Service |
1d8f1c |
TRUE,
|
|
Packit Service |
1d8f1c |
TRUE,
|
|
Packit Service |
1d8f1c |
PROP_STATE_UNCHECKED,
|
|
Packit Service |
1d8f1c |
NULL));
|
|
Packit Service |
1d8f1c |
g_object_ref (list);
|
|
Packit Service |
1d8f1c |
test_serializable ((IBusSerializable *)list);
|
|
Packit Service |
1d8f1c |
test_serializable ((IBusSerializable *)ibus_property_new ("key",
|
|
Packit Service |
1d8f1c |
PROP_TYPE_NORMAL,
|
|
Packit Service |
1d8f1c |
ibus_text_new_from_static_string ("label"),
|
|
Packit Service |
1d8f1c |
"icon",
|
|
Packit Service |
1d8f1c |
ibus_text_new_from_static_string ("tooltip"),
|
|
Packit Service |
1d8f1c |
TRUE,
|
|
Packit Service |
1d8f1c |
TRUE,
|
|
Packit Service |
1d8f1c |
PROP_STATE_UNCHECKED,
|
|
Packit Service |
1d8f1c |
list));
|
|
Packit Service |
1d8f1c |
g_variant_type_info_assert_no_infos ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
static void
|
|
Packit Service |
1d8f1c |
test_attachment (void)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
IBusText *text = ibus_text_new_from_static_string ("main text");
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
ibus_serializable_set_attachment ((IBusSerializable *)text,
|
|
Packit Service |
1d8f1c |
"key1",
|
|
Packit Service |
1d8f1c |
g_variant_new_int32 (100));
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
ibus_serializable_set_attachment ((IBusSerializable *)text,
|
|
Packit Service |
1d8f1c |
"key2",
|
|
Packit Service |
1d8f1c |
g_variant_new_string ("value string"));
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
ibus_serializable_set_attachment ((IBusSerializable *)text,
|
|
Packit Service |
1d8f1c |
"key3",
|
|
Packit Service |
1d8f1c |
g_variant_new ("(iuds)",1, 2, 3.333, "test value"));
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
GVariant *variant = ibus_serializable_serialize ((IBusSerializable *)text);
|
|
Packit Service |
1d8f1c |
g_object_unref ((IBusSerializable *)text);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
IBusSerializable *object = ibus_serializable_deserialize (variant);
|
|
Packit Service |
1d8f1c |
g_variant_unref (variant);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
g_assert_cmpstr (((IBusText *)object)->text, ==, "main text");
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
GVariant *newvalue1 = ibus_serializable_get_attachment (object, "key1");
|
|
Packit Service |
1d8f1c |
g_assert (newvalue1 != NULL);
|
|
Packit Service |
1d8f1c |
g_assert_cmpint (g_variant_get_int32 (newvalue1), ==, 100);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
GVariant *newvalue2 = ibus_serializable_get_attachment (object, "key2");
|
|
Packit Service |
1d8f1c |
g_assert (newvalue2 != NULL);
|
|
Packit Service |
1d8f1c |
g_assert_cmpstr (g_variant_get_string (newvalue2, NULL), ==, "value string");
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
GVariant *newvalue3 = ibus_serializable_get_attachment (object, "key3");
|
|
Packit Service |
1d8f1c |
g_assert (newvalue3 != NULL);
|
|
Packit Service |
1d8f1c |
gint32 i;
|
|
Packit Service |
1d8f1c |
guint32 u;
|
|
Packit Service |
1d8f1c |
gdouble d;
|
|
Packit Service |
1d8f1c |
const gchar *s;
|
|
Packit Service |
1d8f1c |
g_variant_get (newvalue3, "(iud&s)", &i, &u, &d, &s);
|
|
Packit Service |
1d8f1c |
g_assert_cmpint (i, ==, 1);
|
|
Packit Service |
1d8f1c |
g_assert_cmpuint (u, ==, 2);
|
|
Packit Service |
1d8f1c |
g_assert_cmpfloat (d, ==, 3.333);
|
|
Packit Service |
1d8f1c |
g_assert_cmpstr (s, ==, "test value");
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
g_object_unref (object);
|
|
Packit Service |
1d8f1c |
g_variant_type_info_assert_no_infos ();
|
|
Packit Service |
1d8f1c |
}
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
gint
|
|
Packit Service |
1d8f1c |
main (gint argc,
|
|
Packit Service |
1d8f1c |
gchar **argv)
|
|
Packit Service |
1d8f1c |
{
|
|
Packit Service |
1d8f1c |
ibus_init ();
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
g_test_init (&argc, &argv, NULL);
|
|
Packit Service |
1d8f1c |
g_test_add_func ("/ibus/varianttypeinfo", test_varianttypeinfo);
|
|
Packit Service |
1d8f1c |
g_test_add_func ("/ibus/attrlist", test_attr_list);
|
|
Packit Service |
1d8f1c |
g_test_add_func ("/ibus/text", test_text);
|
|
Packit Service |
1d8f1c |
g_test_add_func ("/ibus/enginedesc", test_engine_desc);
|
|
Packit Service |
1d8f1c |
g_test_add_func ("/ibus/lookuptable", test_lookup_table);
|
|
Packit Service |
1d8f1c |
g_test_add_func ("/ibus/property", test_property);
|
|
Packit Service |
1d8f1c |
g_test_add_func ("/ibus/attachment", test_attachment);
|
|
Packit Service |
1d8f1c |
|
|
Packit Service |
1d8f1c |
return g_test_run ();
|
|
Packit Service |
1d8f1c |
}
|