use llm_toolkit::ToPrompt;
use serde::Serialize;
#[derive(ToPrompt, Default, Serialize)]
#[prompt(mode = "schema_only")]
struct Inner {
value: String,
}
#[derive(ToPrompt, Serialize)]
#[prompt(template = "Normal: {{ inner }}, Schema: {{ inner:schema_only }}")]
struct Outer {
inner: Inner,
}
#[test]
fn test_template_with_field_mode() {
let data = Outer {
inner: Inner {
value: "test".to_string(),
},
};
let output = data.to_prompt();
println!("Output: {}", output);
assert!(output.contains("Normal:"));
assert!(output.contains("Schema:"));
assert!(output.contains("type Inner = {"));
}