[gobject-introspection] Add test for "rename to" annotation for records



commit a42b954db6e057780a054a7d5a3fe7d5f5eb6dd1
Author: Jon Nordby <jononor gmail com>
Date:   Fri Jul 27 18:21:34 2012 +0200

    Add test for "rename to" annotation for records
    
    https://bugzilla.gnome.org/show_bug.cgi?id=675985

 tests/scanner/Regress-1.0-expected.gir |   29 +++++++++++++++++++++++++++++
 tests/scanner/regress.c                |   14 ++++++++++++++
 tests/scanner/regress.h                |   17 +++++++++++++++++
 3 files changed, 60 insertions(+), 0 deletions(-)
---
diff --git a/tests/scanner/Regress-1.0-expected.gir b/tests/scanner/Regress-1.0-expected.gir
index e5d8b5a..a60fc4a 100644
--- a/tests/scanner/Regress-1.0-expected.gir
+++ b/tests/scanner/Regress-1.0-expected.gir
@@ -74,6 +74,13 @@ and/or use gtk-doc annotations.  -->
               c:type="REGRESS_Mixed_Case_Constant">
       <type name="gint" c:type="gint"/>
     </constant>
+    <record name="Object" c:type="RegressRenameToStruct">
+      <doc xml:whitespace="preserve">A type with the same name as the library prefix. With the following
+directive, should be available as RegressRenameToStruct.Object</doc>
+      <field name="data" writable="1">
+        <type name="gpointer" c:type="gpointer"/>
+      </field>
+    </record>
     <constant name="STRING_CONSTANT"
               value="Some String"
               c:type="REGRESS_STRING_CONSTANT">
@@ -1763,6 +1770,28 @@ libgnome-keyring.</doc>
         </parameter>
       </parameters>
     </function>
+    <function name="rename_to_struct_new"
+              c:identifier="regress_rename_to_struct_new"
+              introspectable="0">
+      <return-value transfer-ownership="full">
+        <type name="Object" c:type="RegressRenameToStruct*"/>
+      </return-value>
+    </function>
+    <function name="rename_to_struct_set_data"
+              c:identifier="regress_rename_to_struct_set_data"
+              introspectable="0">
+      <return-value transfer-ownership="none">
+        <type name="none" c:type="void"/>
+      </return-value>
+      <parameters>
+        <parameter name="self" transfer-ownership="none">
+          <type name="Object" c:type="RegressRenameToStruct*"/>
+        </parameter>
+        <parameter name="data" transfer-ownership="none">
+          <type name="gpointer" c:type="gpointer"/>
+        </parameter>
+      </parameters>
+    </function>
     <function name="set_abort_on_error"
               c:identifier="regress_set_abort_on_error">
       <return-value transfer-ownership="none">
diff --git a/tests/scanner/regress.c b/tests/scanner/regress.c
index 910f01a..cfe28a2 100644
--- a/tests/scanner/regress.c
+++ b/tests/scanner/regress.c
@@ -3813,3 +3813,17 @@ void
 regress_test_versioning (void)
 {
 }
+
+/**
+ * regress_rename_to_struct_new:
+ *
+ * Returns: (transfer full):
+ */
+RegressRenameToStruct * regress_rename_to_struct_new()
+{
+    return g_new0(RegressRenameToStruct, 1);
+}
+void regress_rename_to_struct_set_data(RegressRenameToStruct *self, gpointer data)
+{
+    self->data = data;
+}
diff --git a/tests/scanner/regress.h b/tests/scanner/regress.h
index c68a792..5147068 100644
--- a/tests/scanner/regress.h
+++ b/tests/scanner/regress.h
@@ -889,4 +889,21 @@ typedef struct {
   double dummy2;
 } RegressLikeGnomeKeyringPasswordSchema;
 
+
+
+/**
+ * RegressRenameToStruct:
+ * 
+ * A type with the same name as the library prefix. With the following
+ * directive, should be available as RegressRenameToStruct.Object
+ *
+ * Rename to: Object
+ **/
+typedef struct {
+    gpointer data;
+} RegressRenameToStruct;
+
+RegressRenameToStruct * regress_rename_to_struct_new();
+void regress_rename_to_struct_set_data(RegressRenameToStruct *self, gpointer data);
+
 #endif /* __GITESTTYPES_H__ */



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]