summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmmanuele Bassi <ebassi@gnome.org>2022-02-17 16:43:46 +0000
committerEmmanuele Bassi <ebassi@gnome.org>2022-02-17 16:43:46 +0000
commit5fae46a6258fb25730eafa12ce8b759ef079c888 (patch)
tree4b270d97809b80fdd42bc6190e198c502d0fb9bf
parent16c533bd9ec42d43b7912d2061d37a8a42966826 (diff)
downloadgobject-introspection-ebassi/issue-418.tar.gz
Test enum members starting with a numberebassi/issue-418
Add a test to the Regress test suite, with an enumeration type that contains members that would start with a numeric value once tokenized.
-rw-r--r--tests/scanner/Regress-1.0-C-expected/Regress.TestEventType.page14
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEventType.page41
-rw-r--r--tests/scanner/Regress-1.0-Gjs-expected/Regress.TestReferenceEnum.page12
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestEventType.page37
-rw-r--r--tests/scanner/Regress-1.0-Python-expected/Regress.TestReferenceEnum.page12
-rw-r--r--tests/scanner/Regress-1.0-expected.gir35
-rw-r--r--tests/scanner/regress.h10
7 files changed, 142 insertions, 19 deletions
diff --git a/tests/scanner/Regress-1.0-C-expected/Regress.TestEventType.page b/tests/scanner/Regress-1.0-C-expected/Regress.TestEventType.page
new file mode 100644
index 00000000..729f1edd
--- /dev/null
+++ b/tests/scanner/Regress-1.0-C-expected/Regress.TestEventType.page
@@ -0,0 +1,14 @@
+<?xml version="1.0"?>
+<page id="Regress.TestEventType"
+ type="guide"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="enum" type="guide"/>
+ </info>
+ <title>Regress.TestEventType</title>
+
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEventType.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEventType.page
new file mode 100644
index 00000000..ca101357
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestEventType.page
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<page id="Regress.TestEventType"
+ type="guide"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="enum" type="guide"/>
+ </info>
+ <title>Regress.TestEventType</title>
+
+
+<terms>
+<item>
+<title><code>TestEventType.BUTTON_PRESS</code></title>
+
+</item>
+<item>
+<title><code>TestEventType._2BUTTON_PRESS</code></title>
+
+</item>
+<item>
+<title><code>TestEventType.DOUBLE_BUTTON_PRESS</code></title>
+
+</item>
+<item>
+<title><code>TestEventType._3BUTTON_PRESS</code></title>
+
+</item>
+<item>
+<title><code>TestEventType.TRIPLE_BUTTON_PRESS</code></title>
+
+</item>
+</terms>
+ <links type="topic" ui:expanded="true"
+ api:type="function" api:mime="text/x-gjs"
+ groups="function" style="linklist">
+ <title>Functions</title>
+ </links>
+</page>
diff --git a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestReferenceEnum.page b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestReferenceEnum.page
index 2394ff1b..5d4b2b39 100644
--- a/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestReferenceEnum.page
+++ b/tests/scanner/Regress-1.0-Gjs-expected/Regress.TestReferenceEnum.page
@@ -13,27 +13,27 @@
<terms>
<item>
-<title><code>TestReferenceEnum.0</code></title>
+<title><code>TestReferenceEnum._0</code></title>
</item>
<item>
-<title><code>TestReferenceEnum.1</code></title>
+<title><code>TestReferenceEnum._1</code></title>
</item>
<item>
-<title><code>TestReferenceEnum.2</code></title>
+<title><code>TestReferenceEnum._2</code></title>
</item>
<item>
-<title><code>TestReferenceEnum.3</code></title>
+<title><code>TestReferenceEnum._3</code></title>
</item>
<item>
-<title><code>TestReferenceEnum.4</code></title>
+<title><code>TestReferenceEnum._4</code></title>
</item>
<item>
-<title><code>TestReferenceEnum.5</code></title>
+<title><code>TestReferenceEnum._5</code></title>
</item>
</terms>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestEventType.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestEventType.page
new file mode 100644
index 00000000..fe8b4fb5
--- /dev/null
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestEventType.page
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<page id="Regress.TestEventType"
+ type="topic"
+ style="enum"
+ xmlns="http://projectmallard.org/1.0/"
+ xmlns:api="http://projectmallard.org/experimental/api/"
+ xmlns:ui="http://projectmallard.org/1.0/ui/">
+ <info>
+ <link xref="index" group="enum" type="guide"/>
+ </info>
+ <title>Regress.TestEventType</title>
+
+
+<terms>
+<item>
+<title><code>TestEventType.BUTTON_PRESS</code></title>
+
+</item>
+<item>
+<title><code>TestEventType._2BUTTON_PRESS</code></title>
+
+</item>
+<item>
+<title><code>TestEventType.DOUBLE_BUTTON_PRESS</code></title>
+
+</item>
+<item>
+<title><code>TestEventType._3BUTTON_PRESS</code></title>
+
+</item>
+<item>
+<title><code>TestEventType.TRIPLE_BUTTON_PRESS</code></title>
+
+</item>
+</terms>
+
+</page>
diff --git a/tests/scanner/Regress-1.0-Python-expected/Regress.TestReferenceEnum.page b/tests/scanner/Regress-1.0-Python-expected/Regress.TestReferenceEnum.page
index afda5f30..2977d863 100644
--- a/tests/scanner/Regress-1.0-Python-expected/Regress.TestReferenceEnum.page
+++ b/tests/scanner/Regress-1.0-Python-expected/Regress.TestReferenceEnum.page
@@ -13,27 +13,27 @@
<terms>
<item>
-<title><code>TestReferenceEnum.0</code></title>
+<title><code>TestReferenceEnum._0</code></title>
</item>
<item>
-<title><code>TestReferenceEnum.1</code></title>
+<title><code>TestReferenceEnum._1</code></title>
</item>
<item>
-<title><code>TestReferenceEnum.2</code></title>
+<title><code>TestReferenceEnum._2</code></title>
</item>
<item>
-<title><code>TestReferenceEnum.3</code></title>
+<title><code>TestReferenceEnum._3</code></title>
</item>
<item>
-<title><code>TestReferenceEnum.4</code></title>
+<title><code>TestReferenceEnum._4</code></title>
</item>
<item>
-<title><code>TestReferenceEnum.5</code></title>
+<title><code>TestReferenceEnum._5</code></title>
</item>
</terms>
diff --git a/tests/scanner/Regress-1.0-expected.gir b/tests/scanner/Regress-1.0-expected.gir
index 99d68271..c209d6c3 100644
--- a/tests/scanner/Regress-1.0-expected.gir
+++ b/tests/scanner/Regress-1.0-expected.gir
@@ -3447,6 +3447,29 @@ use it should be.</doc>
</return-value>
</function>
</enumeration>
+ <enumeration name="TestEventType" c:type="RegressTestEventType">
+ <source-position filename="regress.h" line="1599"/>
+ <member name="button_press"
+ value="0"
+ c:identifier="REGRESS_TEST_BUTTON_PRESS">
+ </member>
+ <member name="_2button_press"
+ value="1"
+ c:identifier="REGRESS_TEST_2BUTTON_PRESS">
+ </member>
+ <member name="double_button_press"
+ value="2"
+ c:identifier="REGRESS_TEST_DOUBLE_BUTTON_PRESS">
+ </member>
+ <member name="_3button_press"
+ value="3"
+ c:identifier="REGRESS_TEST_3BUTTON_PRESS">
+ </member>
+ <member name="triple_button_press"
+ value="4"
+ c:identifier="REGRESS_TEST_TRIPLE_BUTTON_PRESS">
+ </member>
+ </enumeration>
<callback name="TestExternallyDefinedCallback"
c:type="RegressTestExternallyDefinedCallback">
<source-position filename="regress.h" line="791"/>
@@ -5349,17 +5372,17 @@ the introspection client langage.</doc>
</record>
<enumeration name="TestReferenceEnum" c:type="RegressTestReferenceEnum">
<source-position filename="regress.h" line="417"/>
- <member name="0" value="4" c:identifier="REGRESS_TEST_REFERENCE_0">
+ <member name="_0" value="4" c:identifier="REGRESS_TEST_REFERENCE_0">
</member>
- <member name="1" value="2" c:identifier="REGRESS_TEST_REFERENCE_1">
+ <member name="_1" value="2" c:identifier="REGRESS_TEST_REFERENCE_1">
</member>
- <member name="2" value="54" c:identifier="REGRESS_TEST_REFERENCE_2">
+ <member name="_2" value="54" c:identifier="REGRESS_TEST_REFERENCE_2">
</member>
- <member name="3" value="4" c:identifier="REGRESS_TEST_REFERENCE_3">
+ <member name="_3" value="4" c:identifier="REGRESS_TEST_REFERENCE_3">
</member>
- <member name="4" value="216" c:identifier="REGRESS_TEST_REFERENCE_4">
+ <member name="_4" value="216" c:identifier="REGRESS_TEST_REFERENCE_4">
</member>
- <member name="5" value="-217" c:identifier="REGRESS_TEST_REFERENCE_5">
+ <member name="_5" value="-217" c:identifier="REGRESS_TEST_REFERENCE_5">
</member>
</enumeration>
<record name="TestSimpleBoxedA"
diff --git a/tests/scanner/regress.h b/tests/scanner/regress.h
index 44789026..a48da5fb 100644
--- a/tests/scanner/regress.h
+++ b/tests/scanner/regress.h
@@ -406,7 +406,7 @@ _GI_TEST_EXTERN
GType regress_test_flags_get_type (void) G_GNUC_CONST;
#define REGRESS_TEST_TYPE_FLAGS (regress_test_flags_get_type ())
-typedef enum
+typedef enum /*< prefix=REGRESS_TEST >*/
{
REGRESS_TEST_REFERENCE_0 = 2 + 2,
REGRESS_TEST_REFERENCE_1 = 1 + 1,
@@ -1590,4 +1590,12 @@ void regress_test_array_struct_in_full (RegressTestStructA *arr, gsize len);
_GI_TEST_EXTERN
void regress_test_array_struct_in_none (RegressTestStructA *arr, gsize len);
+typedef enum { /*< prefix=REGRESS_TEST >*/
+ REGRESS_TEST_BUTTON_PRESS,
+ REGRESS_TEST_2BUTTON_PRESS,
+ REGRESS_TEST_DOUBLE_BUTTON_PRESS,
+ REGRESS_TEST_3BUTTON_PRESS,
+ REGRESS_TEST_TRIPLE_BUTTON_PRESS
+} RegressTestEventType;
+
#endif /* __GITESTTYPES_H__ */