feat(mcp): Validate C++ tools against real-world gencpp components and improve enum support
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user