import sys import os sys.path.insert(0, os.getcwd()) from src.file_cache import ASTParser def test_multibyte_definition_lookup(): # String with a multi-byte character (3 bytes) # The shade character ▓ is 3 bytes in UTF-8. # 3 shade characters = 9 bytes. In Python str they are 3 chars. # Offset drift will be 6 bytes. code = """ /* ▓▓▓ */ struct Target { int x; }; """ parser = ASTParser("cpp") # This should find Target and return its definition definition = parser.get_definition(code, "Target") print(f"Definition found: '{definition}'") if "struct Target" not in definition: print("FAILURE: 'struct Target' not in definition") sys.exit(1) if "int x;" not in definition: print("FAILURE: 'int x;' not in definition") sys.exit(1) print("SUCCESS") if __name__ == "__main__": test_multibyte_definition_lookup()