summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Nordby <jononor@gmail.com>2012-07-27 18:21:34 +0200
committerJon Nordby <jononor@gmail.com>2012-07-27 21:34:12 +0200
commita42b954db6e057780a054a7d5a3fe7d5f5eb6dd1 (patch)
tree65338b0e89fac4fbfdb805f15185ca3eb4ef7b63
parent14eefe4776bc1e08238bfcf53619e8d260413834 (diff)
downloadgobject-introspection-a42b954db6e057780a054a7d5a3fe7d5f5eb6dd1.tar.gz
Add test for "rename to" annotation for records
https://bugzilla.gnome.org/show_bug.cgi?id=675985
-rw-r--r--tests/scanner/Regress-1.0-expected.gir29
-rw-r--r--tests/scanner/regress.c14
-rw-r--r--tests/scanner/regress.h17
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 e5d8b5a7..a60fc4af 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 910f01a5..cfe28a22 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 c68a7925..5147068f 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__ */