diff options
Diffstat (limited to '')
| -rw-r--r-- | examples/counter/src/main.rs | 28 | 
1 files changed, 28 insertions, 0 deletions
| diff --git a/examples/counter/src/main.rs b/examples/counter/src/main.rs index 81684c1c..18bb8cfe 100644 --- a/examples/counter/src/main.rs +++ b/examples/counter/src/main.rs @@ -38,3 +38,31 @@ impl Counter {          .align_x(Center)      }  } + +#[cfg(test)] +mod tests { +    use super::*; +    use iced_test::selector::text; +    use iced_test::{simulator, Error}; + +    #[test] +    fn it_counts() -> Result<(), Error> { +        let mut counter = Counter { value: 0 }; +        let mut ui = simulator(counter.view()); + +        let _ = ui.click(text("Increment"))?; +        let _ = ui.click(text("Increment"))?; +        let _ = ui.click(text("Decrement"))?; + +        for message in ui.into_messages() { +            counter.update(message); +        } + +        assert_eq!(counter.value, 1); + +        let mut ui = simulator(counter.view()); +        assert!(ui.find(text("1")).is_ok(), "Counter should display 1!"); + +        Ok(()) +    } +} | 
