diff options
author | 2024-12-17 17:28:46 +0100 | |
---|---|---|
committer | 2024-12-17 17:28:46 +0100 | |
commit | f2c9b6b2ffc50d67d9789e77cb55eeb2a0ebe470 (patch) | |
tree | 4941905adf134468acc079610bb6f25d7461d543 /examples/counter/src/main.rs | |
parent | a687a837653a576cb0599f7bc8ecd9c6054213a9 (diff) | |
parent | e5545aaa579f428e45853d125ac86155d8395104 (diff) | |
download | iced-f2c9b6b2ffc50d67d9789e77cb55eeb2a0ebe470.tar.gz iced-f2c9b6b2ffc50d67d9789e77cb55eeb2a0ebe470.tar.bz2 iced-f2c9b6b2ffc50d67d9789e77cb55eeb2a0ebe470.zip |
Merge pull request #2698 from iced-rs/feature/test-crate
Headless Mode Testing
Diffstat (limited to 'examples/counter/src/main.rs')
-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(()) + } +} |