From 9b58eb936c7f3e31597a13085c8b83af6c11573a Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Tue, 3 Feb 2026 01:01:29 +0000 Subject: [PATCH] Add more test cases to utils_test.py and fix guess_classname for multiline definitions - Added tests for guess_classname with decorators, indentation, and multiline headers. - Added tests for camel_to_snake with trailing capitals, consecutive capitals, and alphanumeric strings. - Simplified _CLASS_FINDER regex in utils.py to support multiline class definitions. Co-authored-by: digitalex <23829+digitalex@users.noreply.github.com> --- utils.py | 2 +- utils_test.py | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/utils.py b/utils.py index 63d7c2a..be0f44f 100644 --- a/utils.py +++ b/utils.py @@ -1,6 +1,6 @@ import re -_CLASS_FINDER = re.compile(r'^\s*class\s+([A-Z][a-zA-Z0-9_]*)(?:\s*\([^)]*\))?\s*:') +_CLASS_FINDER = re.compile(r'^\s*class\s+([A-Z][a-zA-Z0-9_]*)') def guess_classname(code: str) -> str: diff --git a/utils_test.py b/utils_test.py index 9d88536..0f49386 100644 --- a/utils_test.py +++ b/utils_test.py @@ -81,3 +81,25 @@ def test_camel_to_snake_mixed_case(self): def test_camel_to_snake_complex_numbers(self): self.assertEqual(camel_to_snake("A1B2C3"), "a1_b2_c3") self.assertEqual(camel_to_snake("v6Address"), "v6_address") + + def test_guess_classname_with_decorator(self): + code = "@decorator\nclass MyClass: pass" + self.assertEqual(guess_classname(code), "MyClass") + + def test_guess_classname_indented(self): + code = " class MyClass: pass" + self.assertEqual(guess_classname(code), "MyClass") + + def test_guess_classname_multiline(self): + code = "class MyClass(\n ABC\n): pass" + self.assertEqual(guess_classname(code), "MyClass") + + def test_camel_to_snake_with_trailing_capitals(self): + self.assertEqual(camel_to_snake("MyHTTP"), "my_http") + + def test_camel_to_snake_consecutive_capitals(self): + self.assertEqual(camel_to_snake("JSONParser"), "json_parser") + self.assertEqual(camel_to_snake("SimpleJSONParser"), "simple_json_parser") + + def test_camel_to_snake_alphanumeric(self): + self.assertEqual(camel_to_snake("ABC123Def"), "abc123_def")