From 98288433e6286445a6214a75587638ca7c51e827 Mon Sep 17 00:00:00 2001 From: Dustin Spicuzza Date: Wed, 4 Mar 2020 10:43:32 -0500 Subject: [PATCH] Fix #43 --- CppHeaderParser/CppHeaderParser.py | 1 + test/test_CppHeaderParser.py | 25 +++++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/CppHeaderParser/CppHeaderParser.py b/CppHeaderParser/CppHeaderParser.py index 7b07900..cb8fda2 100644 --- a/CppHeaderParser/CppHeaderParser.py +++ b/CppHeaderParser/CppHeaderParser.py @@ -1957,6 +1957,7 @@ def finalize(self): "static": 0, "pointer": 0, "reference": 0, + "typedefs": 0, } self.resolve_type(meth["rtnType"], rtnType) if not rtnType["unresolved"]: diff --git a/test/test_CppHeaderParser.py b/test/test_CppHeaderParser.py index a876d87..d3f54e7 100644 --- a/test/test_CppHeaderParser.py +++ b/test/test_CppHeaderParser.py @@ -3868,5 +3868,30 @@ def test_fn(self): self.assertEqual(c["type"], "C") +class MoreTypedef(unittest.TestCase): + def setUp(self): + self.cppHeader = CppHeaderParser.CppHeader( + """ +typedef C A; + +class B { +public: + A aMethod(); +}; +""", + "string", + ) + + def test_fn(self): + c = self.cppHeader.classes["B"] + self.assertEqual("B", c["name"]) + + m = c["methods"]["public"][0] + self.assertEqual(m["name"], "aMethod") + self.assertEqual(m["rtnType"], "A") + + self.assertEqual(self.cppHeader.typedefs["A"], "C") + + if __name__ == "__main__": unittest.main()