From 3474d20fe8716608b1156701fdb043add10ebb7d Mon Sep 17 00:00:00 2001 From: Scott D Phillips Date: Wed, 4 May 2016 17:22:05 -0700 Subject: tests: add regression test for anonymous struct C11 which added support for anonymous unions (already supported) also adds support for anonymous structs. https://bugzilla.gnome.org/show_bug.cgi?id=766011 --- .../Regress.AnonymousUnionAndStruct-None.page | 14 ++++++++ .../Regress.AnonymousUnionAndStruct-x.page | 14 ++++++++ .../Regress.AnonymousUnionAndStruct.page | 35 ++++++++++++++++++ .../Regress.AnonymousUnionAndStruct-x.page | 18 ++++++++++ .../Regress.AnonymousUnionAndStruct.page | 42 ++++++++++++++++++++++ .../Regress.AnonymousUnionAndStruct-None.page | 14 ++++++++ .../Regress.AnonymousUnionAndStruct-x.page | 14 ++++++++ .../Regress.AnonymousUnionAndStruct.page | 40 +++++++++++++++++++++ tests/scanner/Regress-1.0-expected.gir | 22 ++++++++++++ tests/scanner/regress.h | 13 +++++++ 10 files changed, 226 insertions(+) create mode 100644 tests/scanner/Regress-1.0-C-expected/Regress.AnonymousUnionAndStruct-None.page create mode 100644 tests/scanner/Regress-1.0-C-expected/Regress.AnonymousUnionAndStruct-x.page create mode 100644 tests/scanner/Regress-1.0-C-expected/Regress.AnonymousUnionAndStruct.page create mode 100644 tests/scanner/Regress-1.0-Gjs-expected/Regress.AnonymousUnionAndStruct-x.page create mode 100644 tests/scanner/Regress-1.0-Gjs-expected/Regress.AnonymousUnionAndStruct.page create mode 100644 tests/scanner/Regress-1.0-Python-expected/Regress.AnonymousUnionAndStruct-None.page create mode 100644 tests/scanner/Regress-1.0-Python-expected/Regress.AnonymousUnionAndStruct-x.page create mode 100644 tests/scanner/Regress-1.0-Python-expected/Regress.AnonymousUnionAndStruct.page diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnonymousUnionAndStruct-None.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnonymousUnionAndStruct-None.page new file mode 100644 index 00000000..45f06a92 --- /dev/null +++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnonymousUnionAndStruct-None.page @@ -0,0 +1,14 @@ + + + + + + Regress.AnonymousUnionAndStruct->None + + + diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnonymousUnionAndStruct-x.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnonymousUnionAndStruct-x.page new file mode 100644 index 00000000..1f2f8f08 --- /dev/null +++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnonymousUnionAndStruct-x.page @@ -0,0 +1,14 @@ + + + + + + Regress.AnonymousUnionAndStruct->x + + + diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.AnonymousUnionAndStruct.page b/tests/scanner/Regress-1.0-C-expected/Regress.AnonymousUnionAndStruct.page new file mode 100644 index 00000000..e9b8ae77 --- /dev/null +++ b/tests/scanner/Regress-1.0-C-expected/Regress.AnonymousUnionAndStruct.page @@ -0,0 +1,35 @@ + + + + + + Regress.AnonymousUnionAndStruct + + + + Constructors + + + Methods + + + Static Functions + + + Fields + + + Other + + diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnonymousUnionAndStruct-x.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnonymousUnionAndStruct-x.page new file mode 100644 index 00000000..44f120aa --- /dev/null +++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnonymousUnionAndStruct-x.page @@ -0,0 +1,18 @@ + + + + + x + + Regress.AnonymousUnionAndStruct.x + +AnonymousUnionAndStruct.x: Number(gint) (Read / Write) + + + + diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnonymousUnionAndStruct.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnonymousUnionAndStruct.page new file mode 100644 index 00000000..915dd534 --- /dev/null +++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.AnonymousUnionAndStruct.page @@ -0,0 +1,42 @@ + + + + + + Regress.AnonymousUnionAndStruct + +const Regress = imports.gi.Regress; + +let anonymousUnionAndStruct = new Regress.AnonymousUnionAndStruct({ + x: value +}); + + + + + Constructors + + + Methods + + + Static Functions + + + Fields + + + Other + + diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnonymousUnionAndStruct-None.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnonymousUnionAndStruct-None.page new file mode 100644 index 00000000..45f06a92 --- /dev/null +++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnonymousUnionAndStruct-None.page @@ -0,0 +1,14 @@ + + + + + + Regress.AnonymousUnionAndStruct->None + + + diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnonymousUnionAndStruct-x.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnonymousUnionAndStruct-x.page new file mode 100644 index 00000000..1f2f8f08 --- /dev/null +++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnonymousUnionAndStruct-x.page @@ -0,0 +1,14 @@ + + + + + + Regress.AnonymousUnionAndStruct->x + + + diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.AnonymousUnionAndStruct.page b/tests/scanner/Regress-1.0-Python-expected/Regress.AnonymousUnionAndStruct.page new file mode 100644 index 00000000..1dab19a8 --- /dev/null +++ b/tests/scanner/Regress-1.0-Python-expected/Regress.AnonymousUnionAndStruct.page @@ -0,0 +1,40 @@ + + + + + + Regress.AnonymousUnionAndStruct + +from gi.repository import Regress + +anonymous_union_and_struct = Regress.AnonymousUnionAndStruct() + + + + + Constructors + + + Methods + + + Static Functions + + + Fields + + + Other + + diff --git a/tests/scanner/Regress-1.0-expected.gir b/tests/scanner/Regress-1.0-expected.gir index 658b17fb..2dca2f2c 100644 --- a/tests/scanner/Regress-1.0-expected.gir +++ b/tests/scanner/Regress-1.0-expected.gir @@ -910,6 +910,28 @@ it says it's pointer but it's actually a string. + + + + + + + + + + + + + + + + + + + + diff --git a/tests/scanner/regress.h b/tests/scanner/regress.h index c1106902..1abd610f 100644 --- a/tests/scanner/regress.h +++ b/tests/scanner/regress.h @@ -1449,6 +1449,19 @@ typedef struct { }; } RegressAnAnonymousUnion; +typedef struct { + int x; + + union { + struct { + RegressLikeGnomeKeyringPasswordSchema *a; + RegressLikeXklConfigItem *b; + }; + + guint padding[4]; + }; +} RegressAnonymousUnionAndStruct; + GVariant * regress_get_variant (void); -- cgit v1.2.1