diff options
author | Nicola Fontana <ntd@entidi.it> | 2019-03-26 14:28:57 +0100 |
---|---|---|
committer | Nicola Fontana <ntd@entidi.it> | 2019-03-26 14:34:30 +0100 |
commit | b2abec106f9be1bea029257b25cb4ea9ec48d840 (patch) | |
tree | cdf59682b0865005056f0140f00d47a701dbeda5 | |
parent | 9c2748def8d967a6130aa023a3b706fd9b4b216d (diff) | |
download | gtk-doc-b2abec106f9be1bea029257b25cb4ea9ec48d840.tar.gz |
scan: reorder std checks
Match _IS_%s_CLASS before _%s_CLASS.
Fix #77.
-rw-r--r-- | gtkdoc/scan.py | 2 | ||||
-rwxr-xr-x | tests/scan.py | 18 |
2 files changed, 19 insertions, 1 deletions
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 { |