mirror of
https://github.com/emilk/egui.git
synced 2026-09-02 14:50:03 -04:00
Create custom egui_kittest::Node (#7138)
This adds a custom Node struct with proper support for egui types (`Key`, `Modifiers`, `egui::Event`, `Rect`) instead of needing to use the kittest / accesskit types. I also changed the `click` function to do a proper mouse move / mouse down instead of the accesskit click. Also added `accesskit_click` to trigger the accesskit event. This resulted in some changed snapshots, since the elements are now hovered. Also renamed `press_key` to `key_press` for consistency with `key_down/key_up`. Also removed the Deref to the AccessKit Node, to make it clearer when to expect egui and when to expect accesskit types. * Closes #5705 * [x] I have followed the instructions in the PR template
This commit is contained in:
@@ -10,7 +10,7 @@ Ui testing library for egui, based on [kittest](https://github.com/rerun-io/kitt
|
||||
## Example usage
|
||||
```rust
|
||||
use egui::accesskit::Toggled;
|
||||
use egui_kittest::{Harness, kittest::Queryable};
|
||||
use egui_kittest::{Harness, kittest::{Queryable, NodeT}};
|
||||
|
||||
fn main() {
|
||||
let mut checked = false;
|
||||
@@ -21,13 +21,13 @@ fn main() {
|
||||
let mut harness = Harness::new_ui(app);
|
||||
|
||||
let checkbox = harness.get_by_label("Check me!");
|
||||
assert_eq!(checkbox.toggled(), Some(Toggled::False));
|
||||
assert_eq!(checkbox.accesskit_node().toggled(), Some(Toggled::False));
|
||||
checkbox.click();
|
||||
|
||||
harness.run();
|
||||
|
||||
let checkbox = harness.get_by_label("Check me!");
|
||||
assert_eq!(checkbox.toggled(), Some(Toggled::True));
|
||||
assert_eq!(checkbox.accesskit_node().toggled(), Some(Toggled::True));
|
||||
|
||||
// Shrink the window size to the smallest size possible
|
||||
harness.fit_contents();
|
||||
|
||||
Reference in New Issue
Block a user