diff options
author | Philip Chimento <philip.chimento@gmail.com> | 2018-06-18 07:03:20 +0000 |
---|---|---|
committer | Philip Chimento <philip.chimento@gmail.com> | 2018-06-18 07:03:20 +0000 |
commit | 9654e5a2bb38c0fbd3ba343ab93643f76862c187 (patch) | |
tree | 81b342f31b645e4d6f2555889e2e676d29d36398 /tests | |
parent | 79592f03b4697e2e0d23f0dfe1fa4e3427af6940 (diff) | |
parent | 1de82ab87cd80117d914cc458bdcc6af8bc8d63d (diff) | |
download | gobject-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.c | 16 | ||||
-rw-r--r-- | tests/gimarshallingtests.h | 1 | ||||
-rw-r--r-- | tests/scanner/Regress-1.0-C-expected/Regress.TestObj-byte-array.page | 15 | ||||
-rw-r--r-- | tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj-byte-array.page | 18 | ||||
-rw-r--r-- | tests/scanner/Regress-1.0-Gjs-expected/Regress.TestObj.page | 1 | ||||
-rw-r--r-- | tests/scanner/Regress-1.0-Python-expected/Regress.TestObj-byte-array.page | 18 | ||||
-rw-r--r-- | tests/scanner/Regress-1.0-Python-expected/Regress.TestObj.page | 2 | ||||
-rw-r--r-- | tests/scanner/Regress-1.0-expected.gir | 8 | ||||
-rw-r--r-- | tests/scanner/regress.c | 15 |
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; } |