summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2013-08-26 12:39:47 +0100
committerEmmanuele Bassi <ebassi@gnome.org>2018-01-25 15:53:49 +0000
commit832602b5d5dc9284479a234d6f2edb27f6762928 (patch)
treea7e2b440c01487417e8976ef645ad761d0eeac1f
parente56d70da837bd309bf8cddbce309a5a773e098b6 (diff)
downloadgobject-introspection-832602b5d5dc9284479a234d6f2edb27f6762928.tar.gz
regress: Check that enum value assignments work for all members
Value assignments can happen at any point in the enumeration declaration. https://bugzilla.gnome.org/show_bug.cgi?id=629667
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnum.page4
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestEnum.page4
-rw-r--r--tests/scanner/Regress-1.0-expected.gir5
-rw-r--r--tests/scanner/regress.c1
-rw-r--r--tests/scanner/regress.h3
5 files changed, 16 insertions, 1 deletions
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnum.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnum.page
index d7ac4077..155fc8a2 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnum.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEnum.page
@@ -28,6 +28,10 @@
<title><code>TestEnum.VALUE4</code></title>
</item>
+<item>
+<title><code>TestEnum.VALUE5</code></title>
+
+</item>
</terms>
<links type="topic" ui:expanded="true"
api:type="function" api:mime="text/x-gjs"
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnum.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnum.page
index 10a6897d..bcb6fbca 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnum.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestEnum.page
@@ -28,6 +28,10 @@
<title><code>TestEnum.VALUE4</code></title>
</item>
+<item>
+<title><code>TestEnum.VALUE5</code></title>
+
+</item>
</terms>
</page>
diff --git a/tests/scanner/Regress-1.0-expected.gir b/tests/scanner/Regress-1.0-expected.gir
index 0bee81e4..2e4830cf 100644
--- a/tests/scanner/Regress-1.0-expected.gir
+++ b/tests/scanner/Regress-1.0-expected.gir
@@ -2519,6 +2519,11 @@ use it should be.</doc>
c:identifier="REGRESS_TEST_VALUE4"
glib:nick="value4">
</member>
+ <member name="value5"
+ value="49"
+ c:identifier="REGRESS_TEST_VALUE5"
+ glib:nick="value5">
+ </member>
<function name="param" c:identifier="regress_test_enum_param">
<return-value transfer-ownership="none">
<type name="utf8" c:type="const gchar*"/>
diff --git a/tests/scanner/regress.c b/tests/scanner/regress.c
index 5a53291e..92bf6c4e 100644
--- a/tests/scanner/regress.c
+++ b/tests/scanner/regress.c
@@ -1549,6 +1549,7 @@ regress_test_enum_get_type (void)
{ REGRESS_TEST_VALUE2, "REGRESS_TEST_VALUE2", "value2" },
{ REGRESS_TEST_VALUE3, "REGRESS_TEST_VALUE3", "value3" },
{ REGRESS_TEST_VALUE4, "REGRESS_TEST_VALUE4", "value4" },
+ { REGRESS_TEST_VALUE5, "REGRESS_TEST_VALUE5", "value5" },
{ 0, NULL, NULL }
};
etype = g_enum_register_static (g_intern_static_string ("RegressTestEnum"), values);
diff --git a/tests/scanner/regress.h b/tests/scanner/regress.h
index d6752a1c..7f315fdc 100644
--- a/tests/scanner/regress.h
+++ b/tests/scanner/regress.h
@@ -376,7 +376,8 @@ typedef enum
REGRESS_TEST_VALUE1,
REGRESS_TEST_VALUE2,
REGRESS_TEST_VALUE3 = -1,
- REGRESS_TEST_VALUE4 = '0'
+ REGRESS_TEST_VALUE4 = '0',
+ REGRESS_TEST_VALUE5
} RegressTestEnum;
typedef enum