1
0
mirror of https://github.com/emilk/egui.git synced 2026-08-31 05:40:03 -04:00

Better test

This commit is contained in:
lucasmerlin
2026-06-03 11:39:34 +02:00
parent 9d2a965ae4
commit 1536ee41a3
4 changed files with 53 additions and 55 deletions

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e43b410ab0a06b40da5ad9c7fd105d11201d44a3afd63fd213429cc39013c0d4
size 6964

View File

@@ -120,6 +120,56 @@ fn test_button_shortcut_text() {
harness.snapshot("button_shortcut");
}
/// A root [`AtomLayout`] (in a [`Frame::canvas`]) that stacks several nested [`AtomLayout`]s
/// (each in an inactive button frame), one per [`Direction`], to exercise nesting and the
/// direction setting together.
#[test]
fn test_atom_layout_nesting_and_direction() {
use egui::widget_style::{Classes, WidgetState};
use egui::{Atom, AtomLayout, Direction, Frame};
let mut harness = HarnessBuilder::default().build_ui(|ui| {
let style = ui.style().clone();
// The frame of an inactive button.
let button_frame = style
.button_style(&Classes::default(), WidgetState::Inactive)
.frame;
// A nested layout laid out along `direction`, labelled to read in that direction.
let row = |direction: Direction| {
Atom::layout(
AtomLayout::new(("one", "two", "three"))
.direction(direction)
.frame(button_frame.clone()),
)
};
// Each axis pair gets the same label order, so the reversed direction visibly flips it
// (e.g. `RightToLeft` reads "right to left").
AtomLayout::new((
// The two horizontal rows stacked into their own `TopDown` layout.
Atom::layout(
AtomLayout::new((
row(Direction::LeftToRight).atom_grow(true),
row(Direction::RightToLeft).atom_grow(true),
))
.direction(Direction::TopDown),
)
.atom_grow(true),
row(Direction::TopDown),
row(Direction::BottomUp),
))
.direction(Direction::LeftToRight)
.frame(Frame::canvas(&style))
.show(ui);
});
harness.fit_contents();
harness.snapshot("atom_layout_nesting");
}
/// Tests the spacing between galleys.
/// All of these should look the same.
#[test]