Update contrib.
2 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the
16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 * Boston, MA 02111-1307, USA.
25 #include <glib-object.h>
29 #include "mrt2_glib2_test.h"
33 #define G_TYPE_TEST (g_test_get_type ())
34 #define G_TEST(test) (G_TYPE_CHECK_INSTANCE_CAST ((test), G_TYPE_TEST, GTest))
35 #define G_IS_TEST(test) (G_TYPE_CHECK_INSTANCE_TYPE ((test), G_TYPE_TEST))
36 #define G_TEST_CLASS(tclass) (G_TYPE_CHECK_CLASS_CAST ((tclass), G_TYPE_TEST, GTestClass))
37 #define G_IS_TEST_CLASS(tclass) (G_TYPE_CHECK_CLASS_TYPE ((tclass), G_TYPE_TEST))
38 #define G_TEST_GET_CLASS(test) (G_TYPE_INSTANCE_GET_CLASS ((test), G_TYPE_TEST, GTestClass))
45 typedef struct _GTest GTest;
46 typedef struct _GTestClass GTestClass;
57 GObjectClass parent_class;
60 static GType g_test_get_type (void);
62 static void g_test_class_init (GTestClass * klass);
63 static void g_test_init (GTest * test);
64 static void g_test_dispose (GObject * object);
65 static void g_test_get_property (GObject *object,
69 static void g_test_set_property (GObject *object,
74 static GObjectClass *parent_class = NULL;
77 g_test_get_type (void)
79 static GType test_type = 0;
82 static const GTypeInfo test_info = {
86 (GClassInitFunc) g_test_class_init,
91 (GInstanceInitFunc) g_test_init,
95 test_type = g_type_register_static (G_TYPE_OBJECT, "GTest",
99 g_print("properties2.c : g_type_register_static is failed @ line : %d",__LINE__);
100 g_assert(FALSE && "properties");
107 g_test_class_init (GTestClass * klass)
109 GObjectClass *gobject_class;
110 GParamSpec *gparam_spec;
112 gobject_class = (GObjectClass *) klass;
114 parent_class = g_type_class_ref (G_TYPE_OBJECT);
117 g_print("properties2.c : g_tupe_class_ref failed @ line : %d",__LINE__);
118 g_assert(FALSE && "properties");
123 gobject_class->dispose = g_test_dispose;
124 gobject_class->get_property = g_test_get_property;
125 gobject_class->set_property = g_test_set_property;
127 g_object_class_install_property (gobject_class,
129 g_param_spec_int ("dummy",
138 g_test_init (GTest * test)
140 //g_print ("init %p\n", test);
144 g_test_dispose (GObject * object)
148 test = G_TEST (object);
150 g_print ("dispose %p!\n", object);
152 G_OBJECT_CLASS (parent_class)->dispose (object);
156 g_test_get_property (GObject *object,
163 test = G_TEST (object);
168 g_value_set_int (value, test->dummy);
171 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
177 g_test_set_property (GObject *object,
184 test = G_TEST (object);
189 test->dummy = g_value_get_int (value);
192 G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
197 static gint count = 0;
201 g_test_do_property (GTest * test)
203 gint returnvalue, passedvalue=4;
204 GValue value1 = { 0, };
205 GValue value2 = { 0, };
207 g_value_init(&value1,G_TYPE_INT);
208 g_value_init(&value2,G_TYPE_INT);
210 g_value_set_int(&value1, passedvalue);
213 g_object_set_property (G_OBJECT(G_TEST(test)), "dummy", &value1);
214 g_object_get_property (G_OBJECT(G_TEST(test)), "dummy",&value2);
216 returnvalue = g_value_get_int(&value2);
217 g_assert(returnvalue == passedvalue);
222 void test_float_sink()
226 test = g_object_new (G_TYPE_TEST, NULL);
227 obj = G_OBJECT(test);
228 g_object_force_floating(obj);
229 g_assert(g_object_is_floating(obj));
230 g_object_ref_sink(obj);
236 main (int argc, char **argv)
244 g_log_set_handler (NULL, G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION | G_LOG_LEVEL_CRITICAL | G_LOG_LEVEL_WARNING | G_LOG_LEVEL_MESSAGE | G_LOG_LEVEL_INFO | G_LOG_LEVEL_DEBUG, &mrtLogHandler, NULL);
245 g_set_print_handler(mrtPrintHandler);
251 test = g_object_new (G_TYPE_TEST, NULL);
254 g_print("object_get_property.c : g_object_new is failed @ line : %d",__LINE__);
255 g_assert(FALSE && "properties");
258 g_test_do_property (test);
262 //g_assert (count == test->dummy);
264 testResultXml("object_extra_tests");
265 #endif /* EMULATOR */