1
0
mirror of https://github.com/emilk/egui.git synced 2026-09-02 14:50:03 -04:00

Handle ViewportCommand::InnerSize in egui_kittest (#8350)

Useful to support resizing headless apps via `egui_inspection`
This commit is contained in:
Lucas Meurer
2026-07-28 10:54:45 +02:00
committed by GitHub
parent 5ca01cdbaf
commit d06f5b5dfc
2 changed files with 65 additions and 6 deletions

View File

@@ -262,3 +262,34 @@ fn test_ime_composition_visuals() {
harness.run();
harness.snapshot("test_ime_composition_visuals_cursor");
}
#[test]
fn inner_size_viewport_command() {
let new_size = Vec2::new(300.0, 200.0);
#[derive(Default)]
struct State {
requested: bool,
observed_size: Option<Vec2>,
}
let mut harness = Harness::builder()
.with_size(Vec2::new(100.0, 80.0))
.build_ui_state(
|ui, state: &mut State| {
// Request the resize once.
if !state.requested {
state.requested = true;
ui.ctx()
.send_viewport_cmd(egui::ViewportCommand::InnerSize(new_size));
}
state.observed_size = Some(ui.ctx().viewport_rect().size());
},
State::default(),
);
harness.run();
assert_eq!(harness.state().observed_size, Some(new_size));
}