From: Giovanni Campagna Date: Thu, 18 Aug 2011 15:29:21 +0000 (+0200) Subject: Add tests for newly added warnings X-Git-Tag: GOBJECT_INTROSPECTION_1_29_17~28 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cbf0dc099aa335c95b554eb315a74ec9c3c8f8ae;p=platform%2Fupstream%2Fgobject-introspection.git Add tests for newly added warnings g-ir-scanner now warns for invalid (element-type) annotations in GPtrArray and in GByteArray. Test that. --- diff --git a/giscanner/maintransformer.py b/giscanner/maintransformer.py index dafdcade..397bb606 100644 --- a/giscanner/maintransformer.py +++ b/giscanner/maintransformer.py @@ -326,9 +326,9 @@ usage is void (*_gtk_reserved1)(void);""" # (except enums and flags) or basic types that are # as big as a gpointer if array.array_type == ast.Array.GLIB_PTRARRAY and \ - ((array.element_type in ast.BASIC_GIR_TYPES \ - and not array.element_type in ast.POINTER_TYPES) or \ - isinstance(array.element_type, ast.Enum) or \ + ((array.element_type in ast.BASIC_GIR_TYPES + and not array.element_type in ast.POINTER_TYPES) or + isinstance(array.element_type, ast.Enum) or isinstance(array.element_type, ast.Bitfield)): message.warn("invalid (element-type) for a GPtrArray, " "must be a pointer", options.position) diff --git a/tests/warn/invalid-element-type.h b/tests/warn/invalid-element-type.h index f2cf2b93..2b424594 100644 --- a/tests/warn/invalid-element-type.h +++ b/tests/warn/invalid-element-type.h @@ -35,6 +35,28 @@ void test_invalid_hash_element_type(GHashTable *h1, GHashTable *h2, GHashTable * // EXPECT:27: Warning: Test: element-type takes at least one value, none given // EXPECT:29: Warning: Test: element-type takes at maximium 2 values, 3 given +/** + * test_invalid_bytearray_element_type: + * @b1: (element-type): + * @b2: (element-type int): + */ + +void test_invalid_bytearray_element_type(GByteArray *b1, GByteArray *b2); + +// EXPECT:40: Warning: Test: element-type annotation needs a value +// EXPECT:40: Warning: Test: element-type takes at least one value, none given + +/** + * test_invalid_ptrarray_element_type: + * @p1: (element-type): + * @p2: (element-type int): + */ + +void test_invalid_ptrarray_element_type(GPtrArray *p1, GPtrArray *p2); + +// EXPECT:51: Warning: Test: element-type annotation needs a value +// EXPECT:51: Warning: Test: element-type takes at least one value, none given + /** * test_unresolved_element_type: * @@ -51,4 +73,8 @@ GList* test_unresolved_element_type(void); // EXPECT:27: Warning: Test: element-type annotation takes at least one option, none given // EXPECT:28: Warning: Test: element-type annotation for a hash table must have exactly two options, not 1 option(s) // EXPECT:29: Warning: Test: element-type annotation for a hash table must have exactly two options, not 3 option(s) -// EXPECT:41: Warning: Test: test_unresolved_element_type: Unknown type: 'Unresolved' +// EXPECT:40: Warning: Test: element-type annotation takes at least one option, none given +// EXPECT:41: Warning: Test: invalid (element-type) for a GByteArray, must be one of guint8, gint8 or gchar +// EXPECT:51: Warning: Test: element-type annotation takes at least one option, none given +// EXPECT:52: Warning: Test: invalid (element-type) for a GPtrArray, must be a pointer +// EXPECT:63: Warning: Test: test_unresolved_element_type: Unknown type: 'Unresolved'