diff --git a/src/elements/callback_builder.rs b/src/elements/callback_builder.rs index b097d1a..b36b020 100644 --- a/src/elements/callback_builder.rs +++ b/src/elements/callback_builder.rs @@ -31,25 +31,32 @@ callbacks!(SelectCallbacks, Fn(bool) -> anyhow::Result<()> + Send + Sync); callbacks!(CustomCallbacks, Fn(ControllerButton) -> anyhow::Result + Send + Sync); callbacks!(VecCallbacks, Fn(&dyn Any) -> Result<()> + Send + Sync); -#[test] -fn test_click_callback_builder() { - struct Test; +#[cfg(test)] +mod test { + use super::*; + use anyhow::Result; - impl Test { - fn set_click_callbacks( - &self, - _callbacks: Vec<(&str, Box Result<()> + Send + Sync>)>, - ) -> Result<()> { - Ok(()) - } + fn normal_fn() -> impl Fn() -> Result<()> + Send + Sync { + || Ok(()) } - let t = Test; + #[test] + fn test_click_callback_builder() { + struct Test; - let cbs = ClickCallbacks::default().add("test", || { - println!("hello world!"); - Ok(()) - }); + impl Test { + fn set_click_callbacks( + &self, + _callbacks: Vec<(&str, Box Result<()> + Send + Sync>)>, + ) -> Result<()> { + Ok(()) + } + } - t.set_click_callbacks(cbs.into()).unwrap(); + let t = Test; + + let cbs = ClickCallbacks::default().add("normal_test", normal_fn()); + + t.set_click_callbacks(cbs.into()).unwrap(); + } }