summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Janik <timj@gtk.org>2006-05-02 13:01:10 +0000
committerTim Janik <timj@src.gnome.org>2006-05-02 13:01:10 +0000
commita7e1f29f034eb2f78aa923346ccb7b5c49424fbc (patch)
treeb4c496337cd46faffda764f86336d42415ce1044
parentf2649abe84a3a8af2dc5ab115f0410068ee4518f (diff)
added test code from Behdad Esfahbod, see #337128.
Tue May 2 15:00:00 2006 Tim Janik <timj@gtk.org> * tests/gobject/deftype.c: added test code from Behdad Esfahbod, see #337128.
-rw-r--r--ChangeLog5
-rw-r--r--ChangeLog.pre-2-125
-rw-r--r--tests/gobject/Makefile.am1
-rw-r--r--tests/gobject/deftype.c59
4 files changed, 70 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index b70598e58..0d27dc922 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue May 2 15:00:00 2006 Tim Janik <timj@gtk.org>
+
+ * tests/gobject/deftype.c: added test code from Behdad Esfahbod,
+ see #337128.
+
Tue May 2 14:18:25 2006 Tim Janik <timj@gtk.org>
* glib/goption.c (g_option_context_parse): fixed leak in short
diff --git a/ChangeLog.pre-2-12 b/ChangeLog.pre-2-12
index b70598e58..0d27dc922 100644
--- a/ChangeLog.pre-2-12
+++ b/ChangeLog.pre-2-12
@@ -1,3 +1,8 @@
+Tue May 2 15:00:00 2006 Tim Janik <timj@gtk.org>
+
+ * tests/gobject/deftype.c: added test code from Behdad Esfahbod,
+ see #337128.
+
Tue May 2 14:18:25 2006 Tim Janik <timj@gtk.org>
* glib/goption.c (g_option_context_parse): fixed leak in short
diff --git a/tests/gobject/Makefile.am b/tests/gobject/Makefile.am
index 98a1d495b..5d7e01bea 100644
--- a/tests/gobject/Makefile.am
+++ b/tests/gobject/Makefile.am
@@ -46,6 +46,7 @@ CLEANFILES = stamp-testmarshal.h
LDADD = libtestgobject.la $(libgobject)
test_programs = \
+ deftype \
gvalue-test \
paramspec-test \
accumulator \
diff --git a/tests/gobject/deftype.c b/tests/gobject/deftype.c
new file mode 100644
index 000000000..924e7ad60
--- /dev/null
+++ b/tests/gobject/deftype.c
@@ -0,0 +1,59 @@
+/* deftype.c
+ * Copyright (C) 2006 Behdad Esfahbod
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General
+ * Public License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place, Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+#include <glib-object.h>
+
+/* see http://bugzilla.gnome.org/show_bug.cgi?id=337128 for the purpose of this test */
+
+#define MY_G_IMPLEMENT_INTERFACE(TYPE_IFACE, iface_init) { \
+ static const GInterfaceInfo g_implement_interface_info = { \
+ (GInterfaceInitFunc) iface_init, \
+ NULL, \
+ NULL \
+ }; \
+ g_type_add_interface_static (g_define_type_id, TYPE_IFACE, &g_implement_interface_info); \
+}
+
+#define MY_DEFINE_TYPE(TN, t_n, T_P) \
+ G_DEFINE_TYPE_WITH_CODE (TN, t_n, T_P, \
+ MY_G_IMPLEMENT_INTERFACE (G_TYPE_INTERFACE, NULL))
+
+typedef struct _TypeName {
+ GObject parent_instance;
+ const char *name;
+} TypeName;
+
+typedef struct _TypeNameClass {
+ GObjectClass parent_parent;
+} TypeNameClass;
+
+MY_DEFINE_TYPE (TypeName, type_name, G_TYPE_OBJECT)
+
+static void type_name_init (TypeName *self)
+{
+}
+
+static void type_name_class_init (TypeNameClass *klass)
+{
+}
+
+int
+main (void)
+{
+ return 0;
+}