diff options
author | 2024-12-17 04:13:19 +0100 | |
---|---|---|
committer | 2024-12-17 04:13:19 +0100 | |
commit | 5220a064c5054e872fd2f8922aa83838bf066949 (patch) | |
tree | 409ed8fbd09aad67ee3ff37a32f775c4d249e6c9 /examples/counter | |
parent | 8f6f5c13b0f6e7a777a61995be372a19056b4dfc (diff) | |
download | iced-5220a064c5054e872fd2f8922aa83838bf066949.tar.gz iced-5220a064c5054e872fd2f8922aa83838bf066949.tar.bz2 iced-5220a064c5054e872fd2f8922aa83838bf066949.zip |
Write documentation for `iced_test`
Diffstat (limited to 'examples/counter')
-rw-r--r-- | examples/counter/Cargo.toml | 3 | ||||
-rw-r--r-- | examples/counter/src/main.rs | 29 |
2 files changed, 32 insertions, 0 deletions
diff --git a/examples/counter/Cargo.toml b/examples/counter/Cargo.toml index e916a1a1..02eac329 100644 --- a/examples/counter/Cargo.toml +++ b/examples/counter/Cargo.toml @@ -11,3 +11,6 @@ iced.workspace = true [target.'cfg(target_arch = "wasm32")'.dependencies] iced.workspace = true iced.features = ["webgl", "fira-sans"] + +[dev-dependencies] +iced_test.workspace = true diff --git a/examples/counter/src/main.rs b/examples/counter/src/main.rs index 81684c1c..35d6f0e5 100644 --- a/examples/counter/src/main.rs +++ b/examples/counter/src/main.rs @@ -38,3 +38,32 @@ 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(()) + } +} |