Improve testing

This commit is contained in:
hodasemi 2024-04-04 10:35:00 +02:00
parent a4f0c0bcc8
commit ce84cc52d8

View file

@ -31,25 +31,32 @@ callbacks!(SelectCallbacks, Fn(bool) -> anyhow::Result<()> + Send + Sync);
callbacks!(CustomCallbacks, Fn(ControllerButton) -> anyhow::Result<bool> + 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<dyn Fn() -> 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<dyn Fn() -> 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();
}
}