use bracket::{Registry, Result}; use serde_json::json; const NAME: &str = "lookup.rs"; #[test] fn lookup_map() -> Result<()> { let registry = Registry::new(); let value = r"{{lookup map 'foo'}}"; let data = json!({"map": {"foo": "bar"}}); let result = registry.once(NAME, value, &data)?; assert_eq!("bar", &result); Ok(()) } #[test] fn lookup_array() -> Result<()> { let registry = Registry::new(); let value = r"{{lookup list '1'}}"; let data = json!({"list": ["foo", "bar", "qux"]}); let result = registry.once(NAME, value, &data)?; assert_eq!("bar", &result); Ok(()) } #[test] fn lookup_deep() -> Result<()> { let registry = Registry::new(); let value = r"{{lookup foo.bar.qux 'baz'}}"; let data = json!({"foo": {"bar": {"qux": {"baz": "bar"}}}}); let result = registry.once(NAME, value, &data)?; assert_eq!("bar", &result); Ok(()) }