]> git.draconx.ca Git - gob-dx.git/blobdiff - src/test.gob
Release 0.92.1
[gob-dx.git] / src / test.gob
index d606d624d3abbb0cdce4f9415f5c52144e052c70..181b92d3d2ea73d08c393a6eee022c1807694505 100644 (file)
@@ -1,3 +1,10 @@
+/* this is a TEST file, it's VERY VERY ugly, it's just supposed to test
+   the parser of gob and somewhat test some output as well, you can
+   look in here to see a whole array of different syntax options, but
+   don't expect this to be an easy to read file */
+
+requires 0.92.1
+
 %{
 #include <stdio.h>
 /* the next line is not mandatory, but if gob finds an include in one of
@@ -7,6 +14,11 @@
 #include "gtk-weird-button.h"
 #include "gtk-weird-button-private.h"
 
+/* this is to test if the lexer won't get confused by requires inside
+   some c code
+requires 99.99.99
+*/
+
 static void jjjj(void);
 %}
 
@@ -17,6 +29,15 @@ void bubu(void);
 class Gtk:Weird:Button from Gtk:Button {
        public int i;
        argument INT i set { self->i = ARG; } get { ARG = self->i; } ;
+       argument POINTER (type GtkObject *) some_object
+               set { /* set some_object */ }
+               get { /* get some_object */
+                       ARG=NULL; };
+       argument (CONSTRUCT) LONG (type long) write_only_long
+               set { /* set write_only_long */ };
+       argument POINTER (type char *) read_only_string
+               get { /* get readonly_long */
+                       ARG = g_strdup("BLAH"); };
        private int j;
        public GtkWidget * h;
        public char *bleh;
@@ -39,6 +60,10 @@ class Gtk:Weird:Button from Gtk:Button {
        private int blah(self, Gtk:Widget * wid (check null type),
                         int h (check > 0)) onerror -1 {
                gtk_container_add(GTK_CONTAINER(self),wid);
+
+               gtk_object_set(GTK_OBJECT(self),
+                              GTK_WEIRD_BUTTON_ARG_I(99),
+                              NULL);
                return h;
        }
        signal last INT (POINTER, INT)