summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorPhilip Chimento <philip.chimento@gmail.com>2018-06-18 07:03:20 +0000
committerPhilip Chimento <philip.chimento@gmail.com>2018-06-18 07:03:20 +0000
commit9654e5a2bb38c0fbd3ba343ab93643f76862c187 (patch)
tree81b342f31b645e4d6f2555889e2e676d29d36398 /tests
parent79592f03b4697e2e0d23f0dfe1fa4e3427af6940 (diff)
parent1de82ab87cd80117d914cc458bdcc6af8bc8d63d (diff)
downloadgobject-introspection-9654e5a2bb38c0fbd3ba343ab93643f76862c187.tar.gz
Merge branch 'byte-array-default-element-type' into 'master'
Use guint8 as default element type when constructing ByteArray type. Closes #184 See merge request GNOME/gobject-introspection!25
Diffstat (limited to 'tests')
-rw-r--r--tests/gimarshallingtests.c16
-rw-r--r--tests/gimarshallingtests.h1
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestObj-byte-array.page15
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-byte-array.page18
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.page1
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-byte-array.page18
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.page2
-rw-r--r--tests/scanner/Regress-1.0-expected.gir8
-rw-r--r--tests/scanner/regress.c15
9 files changed, 92 insertions, 2 deletions
diff --git a/tests/gimarshallingtests.c b/tests/gimarshallingtests.c
index f6ac1c57..92c181a4 100644
--- a/tests/gimarshallingtests.c
+++ b/tests/gimarshallingtests.c
@@ -5355,6 +5355,7 @@ enum
SOME_OBJECT_PROPERTY,
SOME_FLAGS_PROPERTY,
SOME_ENUM_PROPERTY,
+ SOME_BYTE_ARRAY_PROPERTY,
};
G_DEFINE_TYPE (GIMarshallingTestsPropertiesObject, gi_marshalling_tests_properties_object, G_TYPE_OBJECT);
@@ -5447,6 +5448,9 @@ gi_marshalling_tests_properties_object_get_property (GObject *object,
case SOME_ENUM_PROPERTY:
g_value_set_enum (value, self->some_enum);
break;
+ case SOME_BYTE_ARRAY_PROPERTY:
+ g_value_set_boxed (value, self->some_byte_array);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
@@ -5529,6 +5533,11 @@ gi_marshalling_tests_properties_object_set_property (GObject *object,
case SOME_ENUM_PROPERTY:
self->some_enum = g_value_get_enum (value);
break;
+ case SOME_BYTE_ARRAY_PROPERTY:
+ if (self->some_byte_array != NULL)
+ g_byte_array_unref (self->some_byte_array);
+ self->some_byte_array = g_value_dup_boxed (value);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
break;
@@ -5682,6 +5691,13 @@ static void gi_marshalling_tests_properties_object_class_init (GIMarshallingTest
GI_MARSHALLING_TESTS_TYPE_GENUM,
GI_MARSHALLING_TESTS_GENUM_VALUE1,
G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT));
+
+ g_object_class_install_property (object_class, SOME_BYTE_ARRAY_PROPERTY,
+ g_param_spec_boxed ("some-byte-array",
+ "some-byte-array",
+ "some-byte-array",
+ G_TYPE_BYTE_ARRAY,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
}
GIMarshallingTestsPropertiesObject *
diff --git a/tests/gimarshallingtests.h b/tests/gimarshallingtests.h
index 345f1538..95e52403 100644
--- a/tests/gimarshallingtests.h
+++ b/tests/gimarshallingtests.h
@@ -1975,6 +1975,7 @@ struct _GIMarshallingTestsPropertiesObject {
GObject *some_object;
GIMarshallingTestsFlags some_flags;
GIMarshallingTestsGEnum some_enum;
+ GByteArray *some_byte_array;
};
struct _GIMarshallingTestsPropertiesObjectClass {
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-byte-array.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-byte-array.page
new file mode 100644
index 00000000..368ed465
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestObj-byte-array.page
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-byte-array"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">byte-array</title>
+ </info>
+ <title>Regress.TestObj:byte-array</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-byte-array.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-byte-array.page
new file mode 100644
index 00000000..73d0b5d2
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-byte-array.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-byte-array"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">byte-array</title>
+ </info>
+ <title>Regress.TestObj.byte_array</title>
+ <synopsis><code mime="text/x-gjs">
+TestObj.byte_array: ByteArray (Read / Write / Construct)
+ </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.page
index d0cdfafc..bacdcff1 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.page
@@ -13,6 +13,7 @@
const Regress = imports.gi.Regress;
let testObj = new Regress.TestObj({
+ <link xref='Regress.TestObj-byte-array'>byte_array</link>: value,
<link xref='Regress.TestObj-name-conflict'>name_conflict</link>: value,
});
</code></synopsis>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-byte-array.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-byte-array.page
new file mode 100644
index 00000000..62b5289d
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-byte-array.page
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<page id="Regress.TestObj-byte-array"
+ type="topic"
+ style="property"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="Regress.TestObj" group="property" type="guide"/>
+ <title type="link" role="topic">byte-array</title>
+ </info>
+ <title>Regress.TestObj:byte-array</title>
+ <synopsis><code mime="text/x-python">
+"byte-array" [guint8] : Read / Write / Construct
+ </code></synopsis>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.page
index e28fae67..6f457043 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.page
@@ -12,7 +12,7 @@
<synopsis><code>
from gi.repository import Regress
-test_obj = Regress.TestObj(<link xref='Regress.TestObj-bare'>bare</link>=value, <link xref='Regress.TestObj-boxed'>boxed</link>=value, <link xref='Regress.TestObj-double'>double</link>=value, <link xref='Regress.TestObj-float'>float</link>=value, <link xref='Regress.TestObj-gtype'>gtype</link>=value, <link xref='Regress.TestObj-hash-table'>hash_table</link>=value, <link xref='Regress.TestObj-hash-table-old'>hash_table_old</link>=value, <link xref='Regress.TestObj-int'>int</link>=value, <link xref='Regress.TestObj-list'>list</link>=value, <link xref='Regress.TestObj-list-old'>list_old</link>=value, <link xref='Regress.TestObj-name-conflict'>name_conflict</link>=value, <link xref='Regress.TestObj-pptrarray'>pptrarray</link>=value, <link xref='Regress.TestObj-string'>string</link>=value)
+test_obj = Regress.TestObj(<link xref='Regress.TestObj-bare'>bare</link>=value, <link xref='Regress.TestObj-boxed'>boxed</link>=value, <link xref='Regress.TestObj-byte-array'>byte_array</link>=value, <link xref='Regress.TestObj-double'>double</link>=value, <link xref='Regress.TestObj-float'>float</link>=value, <link xref='Regress.TestObj-gtype'>gtype</link>=value, <link xref='Regress.TestObj-hash-table'>hash_table</link>=value, <link xref='Regress.TestObj-hash-table-old'>hash_table_old</link>=value, <link xref='Regress.TestObj-int'>int</link>=value, <link xref='Regress.TestObj-list'>list</link>=value, <link xref='Regress.TestObj-list-old'>list_old</link>=value, <link xref='Regress.TestObj-name-conflict'>name_conflict</link>=value, <link xref='Regress.TestObj-pptrarray'>pptrarray</link>=value, <link xref='Regress.TestObj-string'>string</link>=value)
</code></synopsis>
diff --git a/tests/scanner/Regress-1.0-expected.gir b/tests/scanner/Regress-1.0-expected.gir
index cd47fcb5..28a78ba3 100644
--- a/tests/scanner/Regress-1.0-expected.gir
+++ b/tests/scanner/Regress-1.0-expected.gir
@@ -3576,6 +3576,14 @@ raise an error.</doc>
<property name="boxed" writable="1" transfer-ownership="none">
<type name="TestBoxed"/>
</property>
+ <property name="byte-array"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <array name="GLib.ByteArray">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </property>
<property name="double" writable="1" transfer-ownership="none">
<type name="gdouble" c:type="gdouble"/>
</property>
diff --git a/tests/scanner/regress.c b/tests/scanner/regress.c
index a940a199..3c186238 100644
--- a/tests/scanner/regress.c
+++ b/tests/scanner/regress.c
@@ -2101,7 +2101,8 @@ enum
PROP_TEST_OBJ_DOUBLE,
PROP_TEST_OBJ_STRING,
PROP_TEST_OBJ_GTYPE,
- PROP_TEST_OBJ_NAME_CONFLICT
+ PROP_TEST_OBJ_NAME_CONFLICT,
+ PROP_TEST_OBJ_BYTE_ARRAY,
};
static void
@@ -2690,6 +2691,18 @@ regress_test_obj_class_init (RegressTestObjClass *klass)
PROP_TEST_OBJ_NAME_CONFLICT,
pspec);
+ /**
+ * TestObj:byte-array:
+ */
+ pspec = g_param_spec_boxed ("byte-array",
+ "GByteArray property",
+ "A contained byte array without any element-type annotations",
+ G_TYPE_BYTE_ARRAY,
+ G_PARAM_READWRITE | G_PARAM_CONSTRUCT);
+ g_object_class_install_property (gobject_class,
+ PROP_TEST_OBJ_BYTE_ARRAY,
+ pspec);
+
klass->matrix = regress_test_obj_default_matrix;
}