[gtk-doc: 4/5] Add scanner unit tests for deprecation decorators
- From: Xavier Claessens <xclaesse src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk-doc: 4/5] Add scanner unit tests for deprecation decorators
- Date: Wed, 17 Jul 2019 15:54:55 +0000 (UTC)
commit c042912cac003c2077ac6353b8a84b3ddd00d1bf
Author: Xavier Claessens <xavier claessens collabora com>
Date: Mon Jul 15 14:06:56 2019 -0400
Add scanner unit tests for deprecation decorators
tests/scan.py | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 67 insertions(+)
---
diff --git a/tests/scan.py b/tests/scan.py
index 57b4603..98fddf7 100755
--- a/tests/scan.py
+++ b/tests/scan.py
@@ -220,6 +220,39 @@ class ScanHeaderContentEnum(ScanHeaderContentTestCase):
header.splitlines(keepends=True))
self.assertDecl('Data', header, slist)
+ def test_HandleDeprecatedMemberDecorator(self):
+ header = textwrap.dedent("""\
+ typedef enum {
+ VAL_DEFAULT,
+ OTHER_VAL MY_DEPRECATED_FOR(VAL_DEFAULT),
+ } Data;""")
+ expected = textwrap.dedent("""\
+ typedef enum {
+ VAL_DEFAULT,
+ OTHER_VAL,
+ } Data;""")
+ self.options.ignore_decorators = 'MY_DEPRECATED_FOR()'
+ slist, doc_comments = self.scanHeaderContent(
+ header.splitlines(keepends=True))
+ self.assertDecl('Data', expected, slist)
+
+ def test_HandleDeprecatedDecorator(self):
+ header = textwrap.dedent("""\
+ typedef enum {
+ VAL_DEFAULT,
+ OTHER_VAL,
+ } Data MY_DEPRECATED_FOR(OtherEnum);""")
+ expected = textwrap.dedent("""\
+ <DEPRECATED/>
+ typedef enum {
+ VAL_DEFAULT,
+ OTHER_VAL,
+ } Data;""")
+ self.options.ignore_decorators = 'MY_DEPRECATED_FOR()'
+ slist, doc_comments = self.scanHeaderContent(
+ header.splitlines(keepends=True))
+ self.assertDecl('Data', expected, slist)
+
class ScanHeaderContentFunctions(ScanHeaderContentTestCase):
"""Test parsing of function declarations."""
@@ -364,6 +397,18 @@ class ScanHeaderContentFunctions(ScanHeaderContentTestCase):
header.splitlines(keepends=True))
self.assertDecl('func', 'int', 'int a', slist)
+ @parameterized.expand(INLINE_MODIFIERS)
+ def test_FindsInlineFunctionWithParenthesisName(self, _, modifier):
+ header = textwrap.dedent("""\
+ %s void
+ (func) (void)
+ {
+ }
+ """ % modifier)
+ slist, doc_comments = self.scanHeaderContent(
+ header.splitlines(keepends=True))
+ self.assertDecl('func', 'void', 'void', slist)
+
class ScanHeaderContentMacros(ScanHeaderContentTestCase):
"""Test parsing of macro declarations."""
@@ -480,6 +525,28 @@ class ScanHeaderContentStructs(ScanHeaderContentTestCase):
header.splitlines(keepends=True))
self.assertIn('<TITLE>GtkdocObject</TITLE>', slist)
+ def test_DeprecatedDecorator(self):
+ header = textwrap.dedent("""\
+ typedef struct {
+ int x;
+ } Data MY_DEPRECATED_FOR(OtherStruct);""")
+ expected = textwrap.dedent("""\
+ <DEPRECATED/>
+ typedef struct {
+ int x;
+ } Data;""")
+ self.options.ignore_decorators = 'MY_DEPRECATED_FOR()'
+ slist, doc_comments = self.scanHeaderContent(
+ header.splitlines(keepends=True))
+ self.assertDecl('Data', expected, slist)
+
+ def test_DeprecatedOpaqueStructTypedef(self):
+ header = 'typedef struct _data data MY_DEPRECATED_FOR(OtherData);'
+ expected = '<DEPRECATED/>\n'
+ self.options.ignore_decorators = 'MY_DEPRECATED_FOR()'
+ slist, doc_comments = self.scanHeaderContent([header])
+ self.assertDecl('data', expected, slist)
+
class ScanHeaderContentUnions(ScanHeaderContentTestCase):
"""Test parsing of union declarations."""
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]