Files
manual_slop/tests/test_outline_tool.py
T

43 lines
1.2 KiB
Python

import pytest
import ast
from pathlib import Path
from src.outline_tool import CodeOutliner
def test_code_outliner_type_hints():
code = """
class Test:
def my_method(self, x: int) -> str:
return "hello"
def my_func(a: bool) -> None:
pass
"""
outliner = CodeOutliner()
result = outliner.outline(code)
assert "[Method] my_method -> str (Lines 3-4)" in result
assert "[Func] my_func -> None (Lines 6-7)" in result
def test_code_outliner_imgui_scopes():
code = """
def render_gui() -> None:
with imscope.window("My Window"):
imgui.text("Hello")
with imscope.child("My Child"):
pass
"""
outliner = CodeOutliner()
result = outliner.outline(code)
assert "[ImGui Scope] imscope.window('My Window') (Lines 3-6)" in result
assert "[ImGui Scope] imscope.child('My Child') (Lines 5-6)" in result
def test_code_outliner_nested_ifs():
code = """
def render_gui() -> None:
if True:
with imscope.window("My Window"):
pass
"""
outliner = CodeOutliner()
result = outliner.outline(code)
assert "[ImGui Scope] imscope.window('My Window') (Lines 4-5)" in result