1.1 KiB
1.1 KiB
Test Plan: Macros
Behaviors to test
- Macro loaded from YAML file (requires filesystem)
- Macro steps executed sequentially (requires async + RequestContext)
- Each step runs through run_repl_command (requires async)
- Variable interpolation in macro steps
- Built-in macros installed on first run (requires filesystem)
- macro_execute creates isolated RequestContext (requires async)
- Macro context inherits tool scope from parent (requires async)
- Macro context has macro_flag set (requires async)
Additional behaviors tested
- resolve_variables: no variables, required provided, required missing errors
- resolve_variables: default used, default overridden
- resolve_variables: rest captures remaining args, rest with default
- resolve_variables: multiple variables mixed
- usage: no variables, required, optional, rest, rest+default, mixed
- interpolate_command: single, multiple, no vars, missing var passthrough
- YAML deserialization: with variables, with defaults, no variables
Old code reference
src/config/macros.rs— macro_execute, Macro struct