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 | |
| 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 '')
| -rw-r--r-- | examples/counter/Cargo.toml | 5 | ||||
| -rw-r--r-- | examples/counter/src/main.rs | 28 | 
2 files changed, 32 insertions, 1 deletions
| diff --git a/examples/counter/Cargo.toml b/examples/counter/Cargo.toml index 22f86064..02eac329 100644 --- a/examples/counter/Cargo.toml +++ b/examples/counter/Cargo.toml @@ -10,4 +10,7 @@ iced.workspace = true  [target.'cfg(target_arch = "wasm32")'.dependencies]  iced.workspace = true -iced.features = ["webgl"] +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..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(()) +    } +} | 
