use bart_derive::BartDisplay; #[test] fn it_can_access_nested_fields() { struct Nested { a: i32, } #[derive(BartDisplay)] #[template_string = "{{nested.a}}"] struct Test { nested: Nested, } assert_eq!( "42", Test { nested: Nested { a: 42 } } .to_string() ); } #[test] fn it_can_scope_into_nested_values() { struct Nested { a: i32, } #[derive(BartDisplay)] #[template_string = "{{#nested.}}{{.a}}{{/nested}}"] struct Test { nested: Nested, } assert_eq!( "42", Test { nested: Nested { a: 42 } } .to_string() ); } #[test] fn it_can_scope_into_function_values() { struct Nested { a: i32, } #[derive(BartDisplay)] #[template_string = "{{#as_nested().}}{{.a}}{{/as_nested()}}"] struct Test { a: i32, } impl Test { pub fn as_nested(&self) -> Nested { Nested { a: self.a } } } assert_eq!("42", Test { a: 42 }.to_string()); }