[gtk-doc: 2/3] scan: reorder std checks
- From: Stefan Sauer <stefkost src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk-doc: 2/3] scan: reorder std checks
- Date: Sun, 31 Mar 2019 10:52:19 +0000 (UTC)
commit b2abec106f9be1bea029257b25cb4ea9ec48d840
Author: Nicola Fontana <ntd entidi it>
Date: Tue Mar 26 14:28:57 2019 +0100
scan: reorder std checks
Match _IS_%s_CLASS before _%s_CLASS.
Fix #77.
gtkdoc/scan.py | 2 +-
tests/scan.py | 18 ++++++++++++++++++
2 files changed, 19 insertions(+), 1 deletion(-)
---
diff --git a/gtkdoc/scan.py b/gtkdoc/scan.py
index f675a6f..cff9ec4 100644
--- a/gtkdoc/scan.py
+++ b/gtkdoc/scan.py
@@ -1004,8 +1004,8 @@ def SeparateSubSections(slist, doc_comments):
liststr, standard_decl = replace_all(liststr, standard_decl, r'^\S+_IS_%s\n' % klass)
liststr, standard_decl = replace_all(liststr, standard_decl, r'^\S+_TYPE_%s\n' % klass)
liststr, standard_decl = replace_all(liststr, standard_decl, r'^\S+_%s_get_type\n' % lclass)
- liststr, standard_decl = replace_all(liststr, standard_decl, r'^\S+_%s_CLASS\n' % klass)
liststr, standard_decl = replace_all(liststr, standard_decl, r'^\S+_IS_%s_CLASS\n' % klass)
+ liststr, standard_decl = replace_all(liststr, standard_decl, r'^\S+_%s_CLASS\n' % klass)
liststr, standard_decl = replace_all(liststr, standard_decl, r'^\S+_%s_GET_CLASS\n' % klass)
liststr, standard_decl = replace_all(liststr, standard_decl, r'^\S+_%s_GET_IFACE\n' % klass)
liststr, standard_decl = replace_all(liststr, standard_decl, r'^\S+_%s_GET_INTERFACE\n' % klass)
diff --git a/tests/scan.py b/tests/scan.py
index 304cd15..e55ed5a 100755
--- a/tests/scan.py
+++ b/tests/scan.py
@@ -707,6 +707,24 @@ class SeparateSubSections(ScanHeaderContentTestCase):
['gtkdoc_object_function', '<SUBSECTION Standard>', 'gtkdoc_object_get_type'],
liststr.splitlines())
+ def test_CreatesStandardSectionAllMacros(self):
+ header = textwrap.dedent("""\
+ #define GTKDOC_TYPE_OBJECT (gtkdoc_object_get_type())
+ #define GTKDOC_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), GTKDOC_TYPE_OBJECT,
GtkdocObject))
+ #define GTKDOC_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), GTKDOC_TYPE_OBJECT,
GtkdocObjectClass))
+ #define GTKDOC_IS_OBJECT(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), GTKDOC_TYPE_OBJECT))
+ #define GTKDOC_IS_OBJECT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), GTKDOC_TYPE_OBJECT))
+ #define GTKDOC_OBJECT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), GTKDOC_TYPE_OBJECT,
GtkdocObjectClass))
+ """)
+ slist, doc_comments = self.scanHeaderContent(
+ header.splitlines(keepends=True))
+ liststr = scan.SeparateSubSections(slist, doc_comments)
+ self.assertEqual(
+ ['<SUBSECTION Standard>', 'GTKDOC_IS_OBJECT', 'GTKDOC_IS_OBJECT_CLASS',
+ 'GTKDOC_OBJECT', 'GTKDOC_OBJECT_CLASS', 'GTKDOC_OBJECT_GET_CLASS',
+ 'GTKDOC_TYPE_OBJECT'],
+ liststr.splitlines())
+
def test_MovesSymbolIfUndocumented(self):
header = textwrap.dedent("""\
struct _GtkdocObject {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]