[gobject-introspection/ebassi/issue-418: 3/3] Test enum members starting with a number




commit 5fae46a6258fb25730eafa12ce8b759ef079c888
Author: Emmanuele Bassi <ebassi gnome org>
Date:   Thu Feb 17 16:43:46 2022 +0000

    Test enum members starting with a number
    
    Add a test to the Regress test suite, with an enumeration type that
    contains members that would start with a numeric value once tokenized.

 .../Regress.TestEventType.page                     | 14 ++++++++
 .../Regress.TestEventType.page                     | 41 ++++++++++++++++++++++
 .../Regress.TestReferenceEnum.page                 | 12 +++----
 .../Regress.TestEventType.page                     | 37 +++++++++++++++++++
 .../Regress.TestReferenceEnum.page                 | 12 +++----
 tests/scanner/Regress-1.0-expected.gir             | 35 ++++++++++++++----
 tests/scanner/regress.h                            | 10 +++++-
 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__ */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]