summaryrefslogtreecommitdiffstats
path: root/examples/counter/src/main.rs
diff options
context:
space:
mode:
authorLibravatar Héctor <hector@hecrj.dev>2024-12-17 17:28:46 +0100
committerLibravatar GitHub <noreply@github.com>2024-12-17 17:28:46 +0100
commitf2c9b6b2ffc50d67d9789e77cb55eeb2a0ebe470 (patch)
tree4941905adf134468acc079610bb6f25d7461d543 /examples/counter/src/main.rs
parenta687a837653a576cb0599f7bc8ecd9c6054213a9 (diff)
parente5545aaa579f428e45853d125ac86155d8395104 (diff)
downloadiced-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.rs28
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(())
+ }
+}