5 #include <glib-object.h>
7 #include <json-glib/json-glib.h>
10 static void startup(void);
11 static void cleanup(void);
13 void (*tet_startup)(void) = startup;
14 void (*tet_cleanup)(void) = cleanup;
16 static void utc_libjson_json_serialize_simple_func_01(void);
19 POSITIVE_TC_IDX = 0x01,
23 struct tet_testlist tet_testlist[] = {
24 { utc_libjson_json_serialize_simple_func_01, POSITIVE_TC_IDX },
28 #define TEST_TYPE_OBJECT (test_object_get_type ())
29 #define TEST_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TEST_TYPE_OBJECT, TestObject))
30 #define TEST_IS_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TEST_TYPE_OBJECT))
31 #define TEST_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TEST_TYPE_OBJECT, TestObjectClass))
32 #define TEST_IS_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TEST_TYPE_OBJECT))
33 #define TEST_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TEST_TYPE_OBJECT, TestObjectClass))
35 typedef struct _TestObject TestObject;
36 typedef struct _TestObjectClass TestObjectClass;
40 GObject parent_instance;
47 struct _TestObjectClass
49 GObjectClass parent_class;
52 GType test_object_get_type (void);
55 static void startup(void)
60 static void cleanup(void)
65 /*** implementation ***/
76 G_DEFINE_TYPE (TestObject, test_object, G_TYPE_OBJECT);
79 test_object_finalize (GObject *gobject)
81 g_free (TEST_OBJECT (gobject)->baz);
83 G_OBJECT_CLASS (test_object_parent_class)->finalize (gobject);
87 test_object_set_property (GObject *gobject,
95 TEST_OBJECT (gobject)->foo = g_value_get_int (value);
98 TEST_OBJECT (gobject)->bar = g_value_get_boolean (value);
101 g_free (TEST_OBJECT (gobject)->baz);
102 TEST_OBJECT (gobject)->baz = g_value_dup_string (value);
105 G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
110 test_object_get_property (GObject *gobject,
118 g_value_set_int (value, TEST_OBJECT (gobject)->foo);
121 g_value_set_boolean (value, TEST_OBJECT (gobject)->bar);
124 g_value_set_string (value, TEST_OBJECT (gobject)->baz);
127 G_OBJECT_WARN_INVALID_PROPERTY_ID (gobject, prop_id, pspec);
132 test_object_class_init (TestObjectClass *klass)
134 GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
136 gobject_class->set_property = test_object_set_property;
137 gobject_class->get_property = test_object_get_property;
138 gobject_class->finalize = test_object_finalize;
140 g_object_class_install_property (gobject_class,
142 g_param_spec_int ("foo", "Foo", "Foo",
145 g_object_class_install_property (gobject_class,
147 g_param_spec_boolean ("bar", "Bar", "Bar",
150 g_object_class_install_property (gobject_class,
152 g_param_spec_string ("baz", "Baz", "Baz",
158 test_object_init (TestObject *object)
162 object->baz = g_strdup ("Test");
166 * @brief Positive test case of json_serialize_simple()
168 static void utc_libjson_json_serialize_simple_func_01(void)
170 TestObject *obj = g_object_new(TEST_TYPE_OBJECT, "bar", TRUE, NULL);
174 data = json_gobject_to_data(G_OBJECT(obj), &len);
176 dts_check_ne("json_serialize_simple", data, NULL);
177 dts_check_gt("json_serialize_simple", len, 0);
178 dts_check_eq("json_serialize_simple", len, strlen(data));
181 g_object_unref (obj);