[clang] [libclang/python] Add python bindings for PrintingPolicy (PR #120494)

Jannick Kremer via cfe-commits cfe-commits at lists.llvm.org
Thu Dec 19 08:03:47 PST 2024


================
@@ -981,3 +983,13 @@ def test_from_result_null(self):
     def test_from_cursor_result_null(self):
         tu = get_tu("")
         self.assertEqual(tu.cursor.semantic_parent, None)
+
+    def test_pretty_print(self):
+        tu = get_tu("struct X { int x; }; void f(bool x) { }", lang="cpp")
+        f = get_cursor(tu, "f")
+
+        self.assertEqual(f.displayname, "f(bool)")
+        pp = PrintingPolicy.create(f)
+        self.assertEqual(f.pretty_printed(pp), "void f(bool x) {\n}\n")
+        pp.set_property(PrintingPolicyProperty.Bool, False)
+        self.assertEqual(f.pretty_printed(pp), "void f(_Bool x) {\n}\n")
----------------
DeinAlptraum wrote:

Please ensure that all interface functions are tested, i.e. in this case `PrintingPolicy.get_property`

https://github.com/llvm/llvm-project/pull/120494


More information about the cfe-commits mailing list