Files
manual_slop/tests/repro_bug.py
T

32 lines
843 B
Python

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()