summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Sauer <ensonic@hora-obscura.de>2019-03-31 10:51:58 +0000
committerStefan Sauer <ensonic@hora-obscura.de>2019-03-31 10:51:58 +0000
commit9fabae80289e1a99fe0817132edc61500f56fee2 (patch)
tree3ea60336ad2c8fb26af1e4516b4118046e7fc94c
parent16187aabb37a283a0ae7f916ea612ccb805a8dd1 (diff)
parentb2abec106f9be1bea029257b25cb4ea9ec48d840 (diff)
downloadgtk-doc-9fabae80289e1a99fe0817132edc61500f56fee2.tar.gz
Merge branch 'pr1' into 'master'
scan: reorder std checks Closes #77 See merge request GNOME/gtk-doc!25
-rw-r--r--gtkdoc/scan.py2
-rw-r--r--tests/meson.build3
-rwxr-xr-xtests/scan.py18
3 files changed, 21 insertions, 2 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/meson.build b/tests/meson.build
index 5a5a60f..41026a3 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -9,6 +9,7 @@ gtkdoc_unit_tests = [
'common',
'mk-to-db',
'mkhtml2',
+ 'scan',
]
foreach test_name: gtkdoc_unit_tests
@@ -33,4 +34,4 @@ subdir('bugs')
subdir('empty')
subdir('fail')
subdir('gobject')
-subdir('program') \ No newline at end of file
+subdir('program')
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 {