From d07562d700a42fa53471a2296fb307ae05420a57 Mon Sep 17 00:00:00 2001 From: Stefan Sauer Date: Tue, 18 Dec 2018 07:38:41 +0100 Subject: scan: move 3 tests for inline functions to unit tests --- tests/scan.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'tests/scan.py') diff --git a/tests/scan.py b/tests/scan.py index 62a6f60..a227c2e 100755 --- a/tests/scan.py +++ b/tests/scan.py @@ -262,6 +262,35 @@ class ScanHeaderContentFunctions(ScanHeaderContentTestCase): header.splitlines(keepends=True)) self.assertDecl('func', 'void', 'int a', slist) + @parameterized.expand([('g_inline', 'G_INLINE_FUNC'), ('static_inline', 'static inline')]) + def test_FindsInlineFunction(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) + + @parameterized.expand([('g_inline', 'G_INLINE_FUNC'), ('static_inline', 'static inline')]) + def test_FindsInlineFunctionWithConditionalBody(self, _, modifier): + header = textwrap.dedent("""\ + %s int + func (int a) + { + #if defined(__GNUC__) && (__GNUC__ >= 4) && defined(__OPTIMIZE__) + return a; + #else + return 0; + #endif + } + """ % modifier) + slist, doc_comments = self.scanHeaderContent( + header.splitlines(keepends=True)) + self.assertDecl('func', 'int', 'int a', slist) + class ScanHeaderContentMacros(ScanHeaderContentTestCase): """Test parsing of macro declarations.""" -- cgit v1.2.1