diff options
-rw-r--r-- | giscanner/annotationparser.py | 7 | ||||
-rw-r--r-- | tests/scanner/annotationparser/gi/identifier_section.xml | 34 |
2 files changed, 40 insertions, 1 deletions
diff --git a/giscanner/annotationparser.py b/giscanner/annotationparser.py index f8257206..c9ff5c2b 100644 --- a/giscanner/annotationparser.py +++ b/giscanner/annotationparser.py @@ -1357,7 +1357,12 @@ class GtkDocCommentBlockParser(object): result = SECTION_RE.match(line) if result: - identifier_name = 'SECTION:%s' % (result.group('section_name'), ) + # Some projects use kebab-case or CamelCase for section + # names. Convert them all to flat case so we can match + # them easily later on. + identifier_name = 'SECTION:%s' % (result.group('section_name') + .replace("-", "") + .lower(), ) identifier_delimiter = None identifier_fields = None identifier_fields_start = None diff --git a/tests/scanner/annotationparser/gi/identifier_section.xml b/tests/scanner/annotationparser/gi/identifier_section.xml index fad2b2ed..380ab87b 100644 --- a/tests/scanner/annotationparser/gi/identifier_section.xml +++ b/tests/scanner/annotationparser/gi/identifier_section.xml @@ -329,4 +329,38 @@ returns nothing.</description> */</output> </test> + +<test> + <!-- + Section name in different case styles + See https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/350 + --> + <input>/** + * SECTION:Meep-App + * @short_description: module for gtk-doc unit test + * + * This file contains non-sense code for the sole purpose of testing the docs. + */</input> + <parser> + <docblock> + <identifier> + <name>SECTION:meepapp</name> + </identifier> + <parameters> + <parameter> + <name>short_description</name> + <description>module for gtk-doc unit test</description> + </parameter> + </parameters> + <description>This file contains non-sense code for the sole purpose of testing the docs.</description> + </docblock> + </parser> + <output>/** + * SECTION:meepapp + * @short_description: module for gtk-doc unit test + * + * This file contains non-sense code for the sole purpose of testing the docs. + */</output> +</test> + </tests> |